Секция «menubars» - описывает структуру главного меню программы.
{ "menubars": { "rbproj": { "priority": 1001, "items": [ { "id": "mnu_project", "title": "&Проект", "flags": "0", "priority": 1002, "items": [ "id_create", { "id": "mnu_open", "title": "&Открыть", "items": [ "id_open_file", "id_open_project" ] }, "-", { "id": "mnu_recent", "title": "Последние файлы", "flags": "$(if,$(mru,0),0,2)" } ] } ] }, "rbproj": { "priority": -1001, "items": [ "id_create", { "id": "mnu_project2", "title": "&Проект2" } ] }, "rbproj.mnu_project.mnu_recent": [ "id_mru 0", "id_mru 1", "id_mru 2", "id_mru 3", "id_mru 4", "id_mru 5", "id_mru 6", "-", "id_mru_clear" ] } }
Меню имеет древовидную структуру. Корневым элементом по умолчанию является элемент с ключом, совпадающим с ключом проектной модели. Для проектов Топоматик Робур по умолчанию это «rbproj». Каждый элемент меню состоит из следующих параметров
{ "id": "mnu_recent" "title": "Последние файлы", "flags": "$(if,$(mru,0),0,2)", "priority": 1002, "items": [ "id_create" ] }
Структура меню и его содержимое может быть. объявлено в разных местах. В этом случае содержимое меню описывается в виде «ключ»: [ «значение1», «значение2», … «значениеN»]. Ключ - это полный путь до меню, от корневого элемента, разделенный символом «.». Значение это ключи команд из секции actions, ключи элементов меню, или их полное описание.
"rbproj.mnu_project.mnu_recent": [ "id_mru 0", "id_mru 1", "id_mru 2", "id_mru 3", "id_mru 4", "id_mru 5", "id_mru 6", "-", "id_mru_clear" ] }
В примере ниже, в файле 1.plugin в рамках проекта Топоматик Робур объявляется меню с названием «Примеры», а в файле 2.plugin формируется содержимое этого меню.
... #файл plugin1 { ... "menubars": { "rbproj": { "items":[ { "id": "mu_example", "title": "Примеры" } ] } } #файл plugin2 { ... "menubars": { "rbproj.mu_example":[ "id_action1", "id_action2", { "id": "mu_example2", "title": "Примеры2" } ], "rbproj.mu_example.mu_example2":[ "id_action3", "id_action4" ] } }