Extension
===============================

.. currentmodule:: axioma.core.plugin

.. class:: Extension

	Расширение это часть плагина, встраиваемая в основное приложение. Базовый
	класс позволяет управлять зависимостями и готовностью расширения. По умолчанию
	расширение становится готовым к использованию, тогда, когда все его
	зависимости разрешены. Это поведение можно изменить, переопределив методы
	:meth:`~axioma.core.plugin.HasDependencies.isReady` и :meth:`~axioma.core.plugin.HasDependencies.onResolved`. Чтобы оповестить систему управления плагинами, что
	расширение готово, нужно испустить сигнал :meth:`~axioma.core.plugin.Extension.ready`.

	Базовый класс: :class:`~axioma.core.plugin.HasDependencies`

	Наследники:

	*	:class:`~axioma.gui.extension.ActionExtension`
	*	:class:`~axioma.gui.extension.RibbonExtension`
	*	:class:`~axioma.gui.extension.ToolControllerExtension`
	*	:class:`~axioma.gui.extension.BasicToolExtension`
	*	:class:`~axioma.gui.extension.ActionControllerExtension`
	*	:class:`~axioma.core.dp.ForeignKeyManagerExtension`

		.. method:: ready()

			[signal] Расширение готово к использованию.
