Класс 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() - вызывается, когда модуль выгружается.