'Set the item selection.
:param items: List of `GraphicsItems`s to select.'

def set_selected_items(self, items):

    to_remove = (set(self._selection) - set(items))
    to_add = (set(items) - set(self._selection))
    for sel in to_remove:
        self._remove_selection(sel)
    for sel in to_add:
        self._add_selection(sel)
    if (to_add or to_remove):
        self._re_enumerate_selections()
        self.selectionChanged.emit()
