LabelProperties - Параметры подписывания
===================================================================

.. currentmodule:: axioma.render


.. class:: LabelProperties

	Параметры подписывания

		.. method:: LabelProperties()

			Конструктор класса

		.. method:: isEmpty()

			Является ли пустым; считается пустым, если не определена позиция подписи

			:return: является ли пустым
			:rtype: :class:`bool`

		.. attribute:: callout

			Выноска

			:type: :class:`~axioma.render.LabelCallout`

		.. attribute:: position

			Позиция подписи

			:type: :class:`~axioma.core.geometry.PointInterface`

		.. attribute:: layout

			Положение подписи

			:type: :class:`~axioma.render.LabelLayout`




.. class:: LabelLayout

	Положение подписи

	Выравнивание подписи по краям кодируется с помощью комбинации флагов :class:`PyQt5.QtCore.Qt.Edges`
		

		.. method:: alignment()
			
			Выравнивание

			:return: установленное выравнивание подписи
			:rtype: :class:`PyQt5.QtCore.Qt.Edges`

		.. method:: setAlignment([edges])

			Задать выравнивание подписи. При нулевом параметре устанавливается выравнивание по центру. Выравнивание производится относительно центроида 
			объекта. Т.е. если задать setAlignment(Qt.BottomEdge | Qt.RightEdge), то метка будет находится слева вверху от геоцентра объекта.

			:param edges: комбинация флагов для выравнивания подписей.
			:type endType: :class:`PyQt5.QtCore.Qt.Edges`
			:return: рефлексивная ссылка
			
		.. method:: offset()
		
			Смещение 
			
			:return: смещение в пунктах (0-9999) 
			:rtype: :class:`int`
			
		.. method:: setOffset(offset)
		
			Установить смещение 
			
			:param offset: смещение в пунктах (0-9999) 
			:type offset: :class:`int`
			:return: рефлексивная ссылка


.. class:: LabelCallout

	Выноска

		.. class:: EndType

			.. csv-table:: Тип выноски.
				:header: Наименование, Значение, Описание

				None, 0, Не отображать
				Line, 1, Линия
				Arrow, 2, Стрелка


		.. method:: LabelCallout()

			Конструктор класса

		.. method:: LabelCallout(style, endType=0)

			Конструктор класса

			:param style: стиль линии выноски
			:type style: :class:`~axioma.render.LineStringStyle`
			:param endType: тип выноски
			:type endType: :class:`~axioma.render.LabelCallout.EndType`

		.. method:: endType()

			Тип выноски

			:return: тип выноски
			:rtype: :class:`~axioma.render.LabelCallout.EndType`

		.. method:: setEndType(endType)

			Задать тип выноски

			:param endType: тип выноски
			:type endType: :class:`~axioma.render.LabelCallout.EndType`

		.. method:: isVisible()

			Видимость выноски

			:return: видимость выноски
			:rtype: :class:`bool`

		.. method:: lineStringStyle()

			Стиль линии выноски

			:return: стиль линии выноски
			:rtype: :class:`~axioma.render.LineStringStyle`

		.. method:: setLineStringStyle(lineStringStyle)

			Задать стиль линии выноски

			.. note:: для редактирования стиля используйте готовый диалог :class:`~axioma.gui.StyleEditDialog`

			:param lineStringStyle: стиль линии выноски
			:type lineStringStyle: :class:`~axioma.render.LineStringStyle`
