ReportItem
=================

.. currentmodule:: axioma.render

.. class:: ReportItem

	Базовый класс элемента отчета

	От него наследуются:
	
	* :class:`GeometryReportItem`
	* :class:`ActivexReportItem`
	* :class:`TableReportItem`
	* :class:`LegendReportItem`
	* :class:`MapReportItem`
	* :class:`RasterReportItem`
	* :class:`ScaleBarReportItem`

		.. py:method:: ReportItem(report)

			Конструктор

			:param report: Отчет, к которому относится создаваемый элемент. 
			:type report: :class:`~axioma.render.Report`

		.. py:method:: draw(context)

			Отрисовка элемента в переданном контексте

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

		.. py:method:: rect()

			Размер (ограничивающий прямоугольник) элемента отчета в единицах измерения отчета

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

		.. py:method:: setRect(rect)

			Установка нового ограничивающего прямоугольника для элемента отчета

			:param rect: Прямоугольник
			:type rect: :class:`~PyQt5.QtCore.QRectF`

		.. py:method:: transform(transform)

				Афинное преобразование элемента отчета

				:param transform: Матрица трансформирования
				:type transform: :class:`~PyQt5.QtGui.QTransform`

		.. py:method:: name()

			Наименование элемента отчета

			:return: Наименование
			:rtype: :class:`str`

		.. py:method:: intersects(rect)

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

			:param rect: Анализируемый прямоугольник
			:type rect: :class:`~PyQt5.QtCore.QRectF`
			:return: True, если да. В противном случае False
			:rtype: :class:`bool`

		.. py:method:: drawSelected(context)

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

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

		.. py:method:: canRotate()

			Допускает ли данный элемент возможность его редактирования посредством поворота

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

		.. py:method:: canScale()

			Допускает ли данный элемент возможность его редактирования посредством масштабирования

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

		.. py:method:: report()

			Отчет, которому принадлежит данный элемент

			:return: Отчет
			:rtype: :class:`~axioma.render.Report`

		.. py:method:: borderStyle()

			Стиль обводки элемента отчета

			:rtype: :class:`~axioma.render.LineStringStyle`

		.. py:method:: setBorderStyle(borderStyle)

			Переопределение стиля обводки элемента отчета. Если указать None, то будет использован стиль по умолчанию.

			:param borderStyle: Стиль обводки или None
			:type borderStyle: :class:`~axioma.render.LineStringStyle`

		.. py:method::hidden: id()
		.. py:method::hidden: setId(value)
		.. py:method::hidden: parentId()
		.. py:method::hidden: setParentId(value);

		.. method:: needRedraw(rect)

				[signal] Сигнал, возникающий при необходимости перерисовать элемент

				:param rect: Прямоугольник для обновления в координатах отчета
				:type rect: :class:`~PyQt5.QtCore.QRectF`

		.. method:: aboutToBeDestroyed()

			[signal] Сигнал, возникающий при удалении элемента

		.. method:: needToDestroy()

			[signal] Сигнал о необходимости удаления элемента
