ToolControllerExtension
========================

.. currentmodule:: axioma.gui.extension

.. class:: ToolControllerExtension

	Класс расширений для плагинов, позволяющий добавлять инструменты с помощью пользовательского контроллера для работы с окнами в приложении.
	Отличие от базового класса - возможность передачи в конструктор иконки и подписи к создаваемому в контроллере действию.

	Базовый класс:

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

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

	* :class:`~axioma.gui.extension.BasicToolExtension`

		.. method:: ToolControllerExtension(factory, actionid, category="", tab="", group="", icon=None, text=None )

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

			:param factory: Callable объект, который при вызове принимает аргумент parent типа :class:`~PyQt5.QtCore.QObject`
				и возвращает объект класса управления инструментом, наследованный от :class:`~axioma.gui.ToolController`.
			:param actionid: Идентификатор инструмента в ленточном интерфейсе
			:type actionid:  :class:`str`
			:param category: Идентификатор категории в ленточном интерфейсе
			:type category:  :class:`str`
			:param tab: Идентификатор вкладки в ленточном интерфейсе
			:type tab:  :class:`str`
			:param group: Идентификатор группы в ленточном интерфейсе
			:type group:  :class:`str`
			:param icon: Иконка для :class:`~PyQt5.QtWidgets.QAction` инструмента
			:type icon: :class:`~PyQt5.QtGui.QIcon`
			:param text: Текст для :class:`~PyQt5.QtWidgets.QAction` инструмента
			:type text: :class:`str`

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

.. literalinclude:: ../../../../../../examples/toolControllerExtension.py
	:language: python
	:linenos:
