Ключ "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"
    ]
  }
}

Меню имеет древовидную структуру. Корневым элементом по умолчанию является элемент с ключом, совпадающим с ключом проектной модели. Для проектов Топоматик Робур по умолчанию это «rbproj». Каждый элемент меню состоит из следующих параметров

  {
    "id": "mnu_recent" 
    "title": "Последние файлы",
    "flags": "$(if,$(mru,0),0,2)",
    "priority": 1002,
    "items": [
      "id_create"
     ]    
  }
  • «id» - ключ меню
  • «title» - заголовок меню
  • «flags» - флаги отображения, допускается следующие значения: «0» - показывать, «1» - скрыть, «2» - выключить
  • «priority» - приоритет определяющий положение
  • «items» - список вложенных элементов, в качестве элементов могут быть использованы, ключи команд из секции actions, ключи элементов меню, или их полное описание.

Структура меню и его содержимое может быть. объявлено в разных местах. В этом случае содержимое меню описывается в виде «ключ»: [ «значение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"
   ]
  }
 
}
developers/references/core.plugin/menubars.txt · Последние изменения: 2021/07/22 14:29 (внешнее изменение)