HasDependencies =============================== .. currentmodule:: axioma.core.plugin .. class:: HasDependencies Mix-in класс, который позволяет добавлять поддержку механизма разрешения зависимостей. Наследники: * :class:`~axioma.core.plugin.Extension` * :class:`~axioma.gui.extension.ActionController` * :class:`~axioma.gui.extension.ToolController` .. method:: isReady() Возвращает True, если расширение готово к использованию, иначе False. Реализация по умолчанию возвращает True, если все зависимости расширения были разрешены или зависимости отсутствуют. :rtype: :class:`bool` .. method:: onResolved() Этот метод вызывается после того как все зависимости расширения были разрешены. Реализация по умолчанию испускает сигнал :meth:`~axioma.core.plugin.Extension.ready` если метод :meth:`~axioma.core.plugin.Extension.isReady` возвратил True. .. method:: createDependencyGetter(type, name) Метод регистрирует зависимость с типом ``type`` и именем ``name``, и возвращает функцию, с помощью которой можно будет получить доступ к сервису, зарегистрированному с этим типом и именем. :param type: тип зависимости, должен быть подтипом :class:`~PyQt5.QtCore.QObject`. :type type: :class:`type` :param name: имя зависимости. :type name: :class:`str` .. method:: createDependencyGetter(type) Метод равнозначен вызову ``createDependencyGetter(type, type.metaObject().className())`` :param type: тип зависимости, должен быть подтипом :class:`~PyQt5.QtCore.QObject`. :type type: :class:`type`