ItemSelectionModel
===================

.. currentmodule:: axioma.gui

.. class:: ItemSelectionModel

	Модель для доступа к выделенным в окне элементам

	Унаследован от: :class:`~PyQt5.QtCore.QObject`

		.. py:method:: ItemSelectionModel(parent=None)

			Конструктор

			:param parent: Родительский объект
			:type parent: :class:`~PyQt5.QtCore.QObject` или :any:`None`

		.. py:method:: selectedItems()

			Список выделенных в окне элементов

			:return: Список элементов
			:rtype: :class:`~axioma.gui.ItemList`

		.. py:method:: targetItems()

			Список помеченных для изменения в окне элементов

			:return: Список элементов
			:rtype: :class:`~axioma.gui.ItemList`

		.. py:method:: canAddToSelection(item)

			Проверяет возможность добавления элемента к выборке

			:param item: Проверяемый элемент
			:type item: :class:`~axioma.gui.Item`
			:return: Возвращает True, если item можно добавить к выделению. В противном случае False
			:rtype: :class:`bool`

		.. py:method:: setSelection(items)

			Установка нового выделения в виде списка элементов

			:param items: Элементы для выделения
			:type items: :class:`~axioma.gui.ItemList`

		.. py:method:: setSelection(item)

			Установка нового выделения

			:param items: Элемент для выделения
			:type items: :class:`~axioma.gui.Item`

		.. py:method:: addToSelection(items)

			Добавление к существующему выделению нового списка элементов

			:param items: Элементы для добавления
			:type items: :class:`~axioma.gui.ItemList`

		.. py:method:: addToSelection(item)

			Добавление к существующему выделению нового элемента

			:param items: Элемент для добавления
			:type items: :class:`~axioma.gui.Item`

		.. py:method:: deselect(items)

			Удаление элементов из выделения

			:param items: Элементы для удаления
			:type items: :class:`~axioma.gui.ItemList`

		.. py:method:: deselect(item)

			Удаление элемента из выделения

			:param items: Элемент для удаления
			:type items: :class:`~axioma.gui.Item`

		.. py:method:: clearSelection()

			Удаление всех элементов из выделения

		.. py:method:: hasSelection()

			Проверка наличия выделения

			:return: Возвращает True, если выделение непустое. В противном случае False
			:rtype: :class:`bool`

		.. method:: selectionChanged()

			[signal] Сигнал испускается при изменении состава выделения

		.. method:: selectionStateChanged()

			[signal] Сигнал испускается при изменении статуса выделения (редактируемый слой помечается нередактируемым и наоборот)
