Определение ToolBar'а |
ToolBar определяется до интерфейса (глобальный) и в интерфейсе (там, где методы интерфейса). Описание ToolBar'а может встречаться неоднократно.
<инструментальная-панель> = toolBar (<название> | "<название>") [ (<опция-панели> {, <опция-панели>}) ] { <описание-кнопки> [, <описание-кнопки>] };
<название> - идентификатор для ссылки на ToolBar.
"<название>" - строка с названием для ссылки на ToolBar.
<опция-панели> - свойства инструментальной панели, доступны начиная с Атлантис 5.3.01.
Каждой опции может быть присвоено значение true (включить) или false (выключить). Если опция присутствует, но не указано ни true ни false, ей присваивается значение true. По умолчанию все опции выключены (имеют значение false).
<опция-панели> = <visible-опция> | <apply-опция> | <owner-опция>
<visible-опция> - включение данной опции делает тулбар видимым тогда, когда элемент, к которому он привязан, является видимым (вне зависимости от того, текущий данный элемент или нет). Опция не влияет на тулбары встроенных интерфейсов когда они расположены в своем (неглавном) окне, т.е. если не включена опция ApplyToContainer.
<visible-опция> = visibleWithOwner [= (true | false)]
<apply-опция> - при включении данной опции тулбар отображается в окне главного контейнера. Если окно с таким тулбаром отображается самостоятельно - тулбар рисуется в нём. Если окно встроено - рисуется в тулбаре контейнера. Если встроен и контейнер, то ещё выше.
<apply-опция> = applyToContainer [= (true | false)]
<owner-опция> - если данная опция включена, то приёмником команд, посылаемых посредством тулбара, является окно - владелец элемента, к которому привязан тулбар. При этом если окно встроенное, то окно контейнера событие получать не будет.
Если данная опция выключена, то события приходят к элементу который находится в фокусе. В т.ч. если фокус на встроенном окне, а тулбар - на главном или другом встроенном.
События из контейнера всегда получает окно в фокусе (независимо от значения данной опции).
<owner-опция> = ownerIsRecipient [= (true | false)]
<описание-кнопки> имеет два формата - с ключевыми словами и позиционный.
<описание-кнопки> = <кнопка> = { command = <команда>; [ param = "<строка-параметров>"; ] bitMap = [<компонент>::]<картинка>; help = "<строка-подсказки>"; broadcast = true | false; [ hotKey = <клавиша>; ] }; <описание-кнопки> = <кнопка> = <команда> [ ("<строка-параметров>") ], [<компонент>::]<картинка>, "<строка-подсказки>" [, <broadcast> ] [, <клавиша>];
<кнопка> - уникальный в данном ToolBar'е идентификатор кнопки, используемый при ссылке в функциях работы с кнопками ToolBar'а.
<команда> - 'cm' команда, определяющая функциональность кнопки. Начиная с Атлантис 5.1.26 можно выполнять вычисляемые выражения посредством команды cmExecute (см. "Команды, обрабатываемые стандартным приложением").
<строка-параметров> - строка параметров, необходимых, для выполнения команды.
[<компонент>::]<картинка> - идентификатор картинки (bitmap) в файле ресурсов. Если <компонент> не задан, картинка ищется в текущем компоненте. Опция <компонент> введена начиная с Атлантис 5.1.25.
<строка-подсказки> - строка, используемая в всплывающих подсказках. Начиная с Атлантис 5.1.32 если всплывающая подсказка не умещается в одну строку, то она переносится на новую строку.
<broadcast> - флаг посылки команды всем окнам приложения (true или false).
<клавиша> - 'kb' константа с кодом комбинации клавиш для вызова команды.
Глобальные ToolBar'ы компилируются в ресурс в виде объекта ToolBar <название>.
Локальные для интерфейса ToolBar'ы хранятся в ресурсе в виде объекта ToolBar <интерфейс>-><название>.
Таблицы локализации (формируемые автоматические) имеют имя LocToolBar <имя-ToolBar'а>.
Идентификатор ToolBar'а используется при ссылке на него из панелей screen, browse, tree и text, а также для использования в функциях. Идентификатор кнопки используется в функциях. Имена кнопок обязательны и требуется их уникальность в рамках ToolBar'а.
Если при описании кнопки не заданы command, bitMap или help, выдается предупреждение при компиляции. Если задана команда, которая требует параметров (например, cmRunInterface), проверяется наличие ее параметров.
Начиная с Атлантис 5.3.01 в определении инструментальной панели добавлены свойства visibleWithOwner, applyToContainer и ownerIsRecipient.
Начиная с Атлантис 5.1.32 если всплывающая подсказка не умещается в одну строку, то она переносится на новую строку.
Начиная с Атлантис 5.1.26 в инструментальной панели можно выполнять вычисляемые выражения посредством команды cmExecute.