/** * ### Документация по работе с GUI версии 2.9.1 * * @name 01 * @context * @memberof context */ /** * ### Контекстное меню * *
* * #### Протокол | type | command | data | |------------- |------------------------------ |----------------------------------------------------------------------------- | | GUI => CORE | requestContext | | | CORE => GUI | responseContext | result: List(VariableContainer)
proxyData: VariableContainer | | GUI => CORE | executeContextAction | action: String,
data: VariableContainer,
proxyData: VariableContainer | | CORE => GUI | executeContextActionResponse | wizard: Boolean,
result: Map(Integer, Integer) |
#### Описание содержимого responseContext.result | name | type | description | |---------- |------------------- |-------------------------------------------------------------------- | | id | String | Идентификатор, пункта меню | | type | Integer | Тип пункта меню | | parentId | String | Родительский ПМ, если его нет, то "" | | name | String | Локализация названия | | options | VariableContainer | Данные, которые сопутствую ПМ, в зависимости от контекста действия |
#### Описание типов, пунктов контекстного меню | id | name | descriptions | options | |---- |----------- |--------------------------------------------------------------------------------------------------- |------------------------------------------------------------------------------ | | 0 | group | пункт меню (ПМ), который содержит в себе подпункты | VariableContainer[] | | 1 | simple | ПМ, который исполняет запрос к ядру (executeAction) | VariableContainer[] | | 2 | guiAction | действие которое исполняется со стороны GUI. | Опции, специфичные для id | | 3 | dialog | ПМ, который откроет диалог, который необходимо заполнить и исполнит запрос к ядру (executeAction) | VariableContainer [
type: String,
data: VariableContainer
] | | 4 | widget | ПМ, который любой виджет | VariableContainer [
type: String,
data: VariableContainer
] | * #### Пример ответа * * ``` VariableContainer [ errCode : 0, proxyData : VariableContainer [ nodeIds : Set(Integer) [ 0 ] ], result : List(VariableContainer) [ VariableContainer [ options : VariableContainer [ ], id : "model", parentId : "", type : 2, name : "Модель" ], VariableContainer [ options : VariableContainer [ data : VariableContainer [ label : "Введите название для нового контейнера", formVC : VariableContainer [ data : VariableContainer [ rules : List(VariableContainer) [ VariableContainer [ id : "name", message : "Имя не может быть пустым", validator : "input.size() > 0" ] ], data : List(VariableContainer) [ VariableContainer [ value : "", id : "name", title : "Название", viewer : VariableContainer [ data : VariableContainer [ vc : true ], type : "LabelString" ], editor : "Textbox" ] ] ], type : "Form" ], windowOptions : VariableContainer [ width : VariableContainer [ type : 0, data : 300 ], height : VariableContainer [ type : 0, data : 160 ] ] ], type : "VariablesForm" ], id : "addContainer", parentId : "", type : 3, name : "Добавить контейнер" ], VariableContainer [ options : VariableContainer [ ], id : "shortcutTopology", parentId : "", type : 1, name : "Создать ярлык на рабочем столе" ], VariableContainer [ options : VariableContainer [ ], id : "inventory", parentId : "", type : 1, name : "Синхронизация инвентаря" ] ], command : "responseContext" ] * ``` * * @name 02 * @context * @memberof context */