LegendReportItem
=================

.. currentmodule:: axioma.render

.. class:: LegendReportItem

	Элемент отчета типа легенда

	Унаследован от: :class:`~axioma.render.ReportItem`

		.. py:method:: LegendReportItem(legendPosition, rect, report)

			Конструктор

			:param legendPosition: Элемент легенды-контейнер, на базе которого строится элемент отчета. 
			:type legendPosition: :class:`LegendItemPosition`
			:param rect: Прямоугольник элемента отчета в координатах отчета. 
			:type rect: :class:`~PyQt5.QtCore.QRectF`
			:param report: Отчет, к которому относится создаваемый элемент. 
			:type report: :class:`~axioma.render.Report`

		.. py:method:: LegendReportItem(legend, rect, report)

			Конструктор

			:param legend: Элемент легенды, на базе которого строится элемент отчета. 
			:type legend: :class:`LegendItem`
			:param rect: Прямоугольник элемента отчета в координатах отчета. 
			:type rect: :class:`~PyQt5.QtCore.QRectF`
			:param report: Отчет, к которому относится создаваемый элемент. 
			:type report: :class:`~axioma.render.Report`


		.. py:method:: legendItemPosition()

			Возвращает элемент легенды, на базе которого строится элемент отчета

			:return: Элемент легенды
			:rtype: :class:`~axioma.render.LegendItemPosition`

Пример использования:

  .. code-block:: python
  
    # Создание элемента отчета типа Легенда. Берем первую из открытых карт и для первого слоя создаем легенду
    # Так же возможно создать элемент отчета не на базе MapView, а создав временный слой на основе открытой таблицы
    def createLegendItem(report):
        if axioma.app.mainWindow.mapViewManager().mapViewCount():
            try:
                mapview = axioma.app.mainWindow.mapViewManager().currentMapView() # Получение текущей карты
                if mapview is not None:
                    layers = mapview.map().flatLayerList() # Список слоев карты
                    for lay in layers:
                        if isinstance(lay, HasStyles): # Если есть легенда
                            legendItem = FeatureLegendItem(lay, lay.name(), report) # Создание легенды для векторного слоя
                            itemPosition = LegendItemPosition(report, legendItem, legendItem.basePoint())
                            r_legend = QRectF(210, 380, 50, 50)
                            legendReportItem = LegendReportItem(itemPosition, r_legend, report) # Создание элемента отчета
                            report.addItem(legendReportItem) # Добавляем в отчет
            except Exception as ex:
                print(ex)
