Примечание
В дистрибутив Аксиома.ГИС входит тестовый плагин, исходный код которого можно посмотреть в папке bin/python_plugins/pluginexample.
Плагин должен представлять из себя папку, содержащую как минимум два файла: metadata.json и __init__.py.
Это файл с метаданными в формате JSON.
Корневым элементом этого файла должен быть объект, который может иметь следующие поля:
Название | Тип | Описание |
---|---|---|
id | Строка | Уникальный идентификатор плагина. Для обеспечения уникальности рекомендуется использовать способ наименования аналогичный пространствам имен java, например, ru.mycompanyname.HelloWorldPlugin |
displayName | Строка | Имя плагина, отображаемое пользователю |
description | Строка | Описание предназначения плагина |
defaultAutoload | Логический | Флаг, определяющий загружается ли плагин по умолчанию |
hidden | Логический | Флаг, определяющий показывать ли плагин пользователю в настройках |
Строковые параметры, предназначенные для отображения в интерфейсе, могут быть локализованы.
Для этого нужно использовать JSON-объект, который содержит локализованные строки в полях, соответствующих названию локали.
Например: {"ru" : "Русский текст", "en" : "English text", "en_GB" : "Fancy English text"}
Пример файла с метаданными:
{
"id" : "ExamplePlugin",
"displayName" : {"ru" : "Пример модуля"},
"description" : {"ru" : "Модуль для демонстрации возможностей разработки на Python"},
"defaultAutoload" : false
}
С точки зрения Python плагин является пакетом (package), и при его импорте интерпретатор выполняет код из файла __init__.py. Кроме того, плагин может содержать специальные методы:
Доступны следующие типы расширений:
RibbonExtension
- позволяет создавать вкладки и группы на панели ленточного интерфейса в окне приложения Аксиомы.ГИСActionExtension
- позволяет добавлять действия(QAction
) в интерфейсToolControllerExtension
- позволяет добавлять инструменты для работы с окнамиBasicToolExtension
- упрощенный вариант ToolControllerExtension