Класс Plugin
Модули пишутся в объектном стиле. Для этого, файл
__init__.py
должен содержать класс, наследуемый от класса axipy.Plugin
. Тогда ГИС Аксиома при загрузке
модуля создаст его экземпляр, а при выгрузке - удалит его.
Вспомогательный класс axipy.Plugin
содержит свойства и методы, которые нужны для написания плагина.
Например:
загрузка/сохранение настроек axipy.Plugin.settings
;
получение пути к папке с модулем axipy.Plugin.plugin_dir
;
перевод строк axipy.Plugin.tr()
;
добавление кнопок в интерфейс axipy.Plugin.create_action
и другие.
Пример модуля __init__.py
"""
Пример добавления кнопки и подключение действия по нажатию на нее (показ сообщения).
При выгрузке кнопка удаляется из интерфейса.
"""
from axipy import Position, Plugin, Notifications
class ExamplePluginMinimal(Plugin):
def __init__(self) -> None:
self._title = self.tr("Минимальный плагин")
self._action = self.create_action(
"Пример действия",
icon="://icons/share/32px/run3.png",
on_click=self.show_message,
)
position = Position("Примеры модулей", "Минимальный")
position.add(self._action)
self._action.action.setToolTip("Всплывающая подсказка")
def unload(self) -> None:
self._action.remove()
def show_message(self) -> None:
Notifications.push(self._title, "Пример выполнения действия по нажатию кнопки")
При загрузке Аксиома создаст экземпляр модуля и вызовет конструктор класса
axipy.Plugin.__init__()
.После создания главного окна, Аксиома вызовет метод
axipy.Plugin.load()
.axipy.Plugin.unload()
- вызывается, когда модуль выгружается.