Меню.
<menu menu-attributes> [{<menuitem ... />}] <menu/>
Название | Тип | Описание |
---|---|---|
call-event | event-name | Эмулирует возникновение события: вызывает код, связанный с данным событием (см. Событийные атрибуты для данного тэга), как будто это событие реально произошло. |
moving | boolean | Перемещение окна перемещением menu. По умолчанию moving=«true». |
position | string | Местоположение объекта в контейнере. Может принимать значения: top-menu, bottom-menu, left-menu, right-menu, top, left, bottom, right, center. Пример: <panel> <menu position="bottom-menu" /> </panel> |
end | string | ссылка (id) appxml-объекта, который должен быть вставлен после всех пунктов меню верхнего уровня. Применяется для вставки красивой картинки или какого-либо текста в правую часть меню. |
Название | Тип | Описание |
---|---|---|
oncreated | code | Описание действий для события, возникающего единожды, после создания объекта. Правила описания см. ("Описание событий в ApplicationXML"). |
Название | Тип | Описание |
---|---|---|
icon | path | Путь к пиктограмме. |
hotkey | Комбинация «горячих клавиш» для данного пункта меню. | |
call-event | event-name | Эмулирует возникновение события: вызывает код, связанный с данным событием (см. Событийные атрибуты для данного тэга), как будто это событие реально произошло. |
Название | Тип | Описание |
---|---|---|
onAction | code | Описание действий для события, типа, двойной щелчок мыши по объекту или нажатие Enter. Правила описания см. ("Описание событий в ApplicationXML"). |
Поля в menu описываются с помощью тэга <menuitem>.
Чтобы создать пункт-разделитель, нужно указать text=»» или вообще не использовать атрибут text. onAction можно указать только для пунктов второго и последующих уровней. Для пункта верхнего уровня такой возможности нет.
В appScript есть возможность обращения к пунктам меню через метод тэга menu components(), возвращющего хэш-массив с элементами меню.
<window id="mainWindow"> <menu> <menuitem text="File"> <menuitem id="addMnu" text="Add" onAction="msg('Add button clicked')"/> <menuitem id="editMnu" text="Edit" onAction="msg('Edit button clicked')"/> <menuitem id="removeMnu" text="Remove" onAction="msg('Remove button clicked')"/> <menuitem/> <menuitem id="refreshMnu" text="Refresh"> <onAction> println(mainWindow.components()["menu"].repaint()); </onAction> </menuitem> <menuitem/> <menuitem id="exitMnu" text="Exit" onAction="mainWindow.close='true'"/> </menuitem> </menu> </window>