====== Ключ "menubars" ====== Секция "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" ] } } Меню имеет древовидную структуру. Корневым элементом по умолчанию является элемент с ключом, совпадающим с ключом проектной модели. Для проектов [[http://www.topomatic.ru|Топоматик Робур]] по умолчанию это "rbproj". Каждый элемент меню состоит из следующих параметров { "id": "mnu_recent" "title": "Последние файлы", "flags": "$(if,$(mru,0),0,2)", "priority": 1002, "items": [ "id_create" ] } * "id" - ключ меню * "title" - заголовок меню * "flags" - флаги отображения, допускается следующие значения: «0» - показывать, «1» - скрыть, «2» - выключить * "priority" - приоритет определяющий положение * "items" - список вложенных элементов, в качестве элементов могут быть использованы, ключи команд из секции [[developers:references:core.plugin:actions|actions]], ключи элементов меню, или их полное описание. Структура меню и его содержимое может быть. объявлено в разных местах. В этом случае содержимое меню описывается в виде "ключ": [ "значение1", "значение2", ... "значениеN"]. Ключ - это полный путь до меню, от корневого элемента, разделенный символом ".". Значение это ключи команд из секции [[developers:references:core.plugin:actions|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 в рамках проекта [[http://www.topomatic.ru|Топоматик Робур]] объявляется меню с названием "Примеры", а в файле 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" ] } }