NativeToolController
====================

.. currentmodule:: axioma.gui

.. class:: NativeToolController

	Класс-контроллер для инструментов :class:`~axioma.gui.Tool`. Предлагается использовать в том случае, если необходимо передать контроллеру пользовательскую фабрику классов для инструментов.
	
	Унаследован от: 

	* :class:`~axioma.gui.NativeActionController`

	От него наследуются:

	* :class:`~axioma.gui.ToolControllerTemplateBase`

		.. py:method:: NativeToolController(factory, parent=None)

			Конструктор

			:param factory: Фабрика классов для инструментов
			:type factory:  :class:`~axioma.gui.ToolFactory`
			:param parent: Родительский объект
			:type parent: :class:`~PyQt5.QtCore.QObject` или None


ToolControllerTemplateBase
===========================

.. currentmodule:: axioma.gui

.. class:: ToolControllerTemplateBase

	Базовый абстрактный класс-контроллер для инструментов

	Унаследован от: 
	
	* :class:`~axioma.gui.NativeToolController`

	От него наследуются: 

	* :class:`~axioma.gui.extension.ToolController`
	* :class:`~axioma.gui.ToolContollerTemplateUniversal`

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

			Конструктор

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

		.. py:method:: setup()

			Инициализация параметров

		.. method:: ready()

			[signal] Сигнал испускается при готовности инструмента. Может применяться для разрешения зависимостей


ToolContollerTemplateUniversal
================================

.. currentmodule:: axioma.gui

.. class:: ToolContollerTemplateUniversal

	Класс-контроллер для инструментов, привязанных к окну

	Унаследован от: 
	
	* :class:`~axioma.gui.ToolControllerTemplateBase`

	От него наследуются: 
	
	* :class:`~axioma.gui.NativeDrawingToolController`

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

			Конструктор

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

		.. py:method:: isEnabled(itemView)

			Разрешен ли инструмент для переданного окна

			:param itemView:
			:type par1: :class:`~axioma.gui.ItemView`
			:rtype: :class:`bool`


NativeDrawingToolController
============================

.. currentmodule:: axioma.gui

.. class:: NativeDrawingToolController

	Класс-контроллер для инструментов редактирования в окне.
	При этом доступность инструмента зависит от возможности редактирования окна, к которому привязан данный контроллер инструмента.
	К примеру, если на карте один из векторных слоев помечен на редактирование.

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

	От него наследуются: :class:`~axioma.gui.extension.DrawingToolController`

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

			Конструктор

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

		.. py:method:: guiSettingsManager()

			Ссылка на текущие настройки приложения

			:rtype: :class:`~axioma.core.SettingsManager`

		.. py:method:: StyleService()

			Ссылка на службу стилей

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