LegendItemGroup
=================

.. currentmodule:: axioma.render

.. class:: LegendItemGroup

	Сгруппированные элементы легенды слоя. Все элементы легенды обрабатываются как единое целое

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

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

			Конструктор

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

		.. py:method:: LegendItemGroup(other)

			Копирующий конструктор

			:param other: Исходный объект LegendItemGroup, на базе которого необходимо сделать копию.
			:type other: :class:`LegendItemGroup`
 
		.. py:method:: rect()

			Прямоугольник, который занимают включенные элементы легенды

			:return: Ограничивающий прямоугольник
			:rtype: :class:`~PyQt5.QtCore.QRectF`

		.. py:method:: draw(context)

			Отрисовка элементов легенды в заданном контексте

			:param context: Контекст, в котором будет отрисованы элементы легенды
			:type context: :class:`~axioma.render.Context`

		.. py:method:: drawSelected(context)

			Отрисовка выделения элемента легенды в заданном контексте

			:param context: Контекст, в котором будет отрисовано выделение элемента легенды
			:type context: :class:`~axioma.render.Context`

		.. py:method:: setName(name)

			Установка наименования

			:param  name: Наименование
			:type name: :class:`str`

		.. py:method:: name()

			Наименование

			:return: Наименование
			:rtype: :class:`str`
			
		.. py:method:: items()

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

			:return: Список
			:rtype: :class:`list` [:class:`~axioma.render.LegendItemPosition`]

		.. py:method:: removeAll(item)

			Удаление всех повторяющихся элементов, эквивалентных данному

			:param  item: Удаляемый элемент
			:type item: :class:`~axioma.render.LegendItemPosition`
			:return: Количество удаленных элементов
			:rtype: :class:`int`

		.. py:method:: at(index)

			Получение элемента по его индексу

			:param  index: Индекс
			:type index: :class:`int`
			:return: Элемент
			:rtype: :class:`~axioma.render.LegendItemPosition`

		.. py:method:: append(item)

			Добавление нового элемента

			:param  item: Добавляемый элемент
			:type item: :class:`~axioma.render.LegendItem`
			
		.. py:method:: append(item)

			Добавление списка с новыми элементами

			:param  item: Добавляемые элементы
			:type item: :class:`list` [ :class:`~axioma.render.LegendItem`]

		.. py:method:: replace(ind, item)

			Обновление элемента по его индексу

			:param  ind: Индекс
			:type ind: :class:`int`
			:param item: Новое значение элемента
			:type item: :class:`~axioma.render.LegendItem`
			
		.. py:method:: itemIndex(item)

			Получение индекса элемента

			:param  item: Элемент
			:type item: :class:`~axioma.render.LegendItemPosition`
			:return: Индекс или -1, если не найдено
			:rtype: :class:`int`

		.. py:method:: count()

			Количество элементов

			:return: Количество
			:rtype: :class:`int`

		.. py:method:: findItemIndexByName(name)

			Поиск элемента по его наименованию и получение его индекса

			:param  name: Наименование
			:type name: :class:`bool`
			:return: Индекс или -1, если не найдено
			:rtype: :class:`int`

		.. py:method:: updateBasePoint(item, point)

			Задание нового значения базовой точки

			:param  item: Элемент
			:type item: :class:`~axioma.render.LegendItemPosition`
			:param point: Новое значение базовой точки
			:type point: :class:`~PyQt5.QtCore.QPointF`
			:return: True, если изменение произведено. В противном случае False
			:rtype: :class:`bool`

		.. py:method:: calculateSizeForContext(context)

			Производится расчет размеров элементов типа :class:`~axioma.render.DynamicSizeLegendItem`, если таковые имеются

			:param context: Контекст, по которому производится расчет.
			:type context: :class:`~axioma.render.Context`

		.. method:: aboutToBeDestroyed()

			[signal] Сигнал испускается при удалении

		.. method:: removedItem(item)

			[signal] Сигнал испускается при удалении элемента

			:param  item:  Удаляемый элемент
			:type item: :class:`~axioma.render.LegendItem`

		.. method:: needUpdating()

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

		.. method:: itemAppened(item)

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

			:param  item: Элемент
			:type item:  :class:`~axioma.render.LegendItemPosition`
