Extension

class axioma.core.plugin.Extension

Расширение это часть плагина, встраиваемая в основное приложение. Базовый класс позволяет управлять зависимостями и готовностью расширения. По умолчанию расширение становится готовым к использованию, тогда, когда все его зависимости разрешены. Это поведение можно изменить, переопределив методы isReady() и onResolved(). Чтобы оповестить систему управления плагинами, что расширение готово, нужно испустить сигнал ready().

Наследники:

addDependency(type, name, attr)

Метод добавляет зависимость с типом type и именем name. После разрешения зависимости атрибут объекта расширения с именем attr будет инициализирован ссылкой на объект, удовлетворяющий требованиям зависимости.

Параметры:
  • type (QObject) – тип зависимости, должен быть наследован от QObject.
  • name (str) – имя зависимости.
  • attr (str) – имя атрибута расширения, должно быть допустимым идентификатором атрибута в Python.
addDependency(type, attr)

То же, что

addDependency(type, type.staticMetaObject.calssName(), attr)
addDependency(type)

Добавляет зависимость с типом type.

ready()

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

isReady()

Возвращает True, если расширение готово к использованию, иначе False. Реализация по умолчанию возвращает True, если все зависимости расширения были разрешены или зависимости отсутствуют.

Тип результата:bool
onResolved()

Этот метод вызывается после того как все зависимости расширения были разрешены. Реализация по умолчанию испускает сигнал ready() если метод isReady() возвратил True.