NativeActionController
=======================

.. currentmodule:: axioma.gui

.. class:: NativeActionController

	Класс-контроллер, который представляет собой надстройку над объектами класса :class:`~PyQt5.QtCore.QAction`. 
	Производит управления такими свойствами над управляемым экземпляром, как доступность и видимость действия в зависимости от текущего состояния окружения.
	Контроллер для регистрации в системе может использоваться вместе с расширением :class:`~axioma.gui.NativeActionControllerExtension`.
	Пример использования см. в :class:`~axioma.gui.ActionControllerWithDependencies`
	Другими словами если необходимо создать кнопку на панели инструментов, при этом реализовать возможность управления ее доступностью, необходимо использовать данный класс.
	

	Унаследован от: 
	
	* :class:`~PyQt5.QtCore.QObject`

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

	* :class:`~axioma.gui.ActionControllerWithDependencies`
	* :class:`~axioma.gui.NativeToolController`

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

			Конструктор

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

		.. py:method:: connectAction(action)

			Производит соединение к ранее созданному действию

			:param action: Действие для управления
			:type action: :class:`~PyQt5.QtCore.QAction`

		.. py:method:: isEnabled()

			Показывает, является ли связанное действие разрешенным на данный момент времени. Это виртуальный метод.
			Если необходимо изменить поведение, его необходимо переопределить в потомках.

			:rtype: :class:`bool`

		.. py:method:: isChecked()

			Показывает, является ли связанное действие переведенным в активное состояние на данный момент времени

			:rtype: :class:`bool`

		.. py:method:: isCheckable()

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

			:rtype: :class:`bool`

		.. py:method:: setCheckable(val)

			Устанавливает возможность перевода действия в активное состояние

			:param val: True - возможность поддерживается
			:type val: :class:`bool`
			
		.. py:method:: updateEnabled()

			Производит явное обновление доступности действия

		.. py:method:: updateChecked()

			Производит явное обновление активного состояния действия


