Примечание
В дистрибутив Аксиома.ГИС входит тестовый плагин, исходный код которого можно посмотреть в папке 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