Настройка интерфейса Dreamweaver > Меню Dreamweaver > Синтаксис тегов menus.xml

 

Страницу подготовил Андрей Сумцов, www.web-tower.hotbox.ru

Синтаксис тегов menus.xml

Файл menus.xml содержит структурированный список строк меню, пунктов меню, разделителей и "горячих" клавиш. Эти пункты описаны тегами XML, которые можно редактировать в текстовом редакторе.

Замечание
Будьте осторожны при редактировании меню. Dreamweaver игнорирует любые меню или команды, которые содержат синтаксическую ошибку.

Строка меню (ограниченная открывающим и закрывающим тегами <MENUBAR>) соответствует отдельному меню или набору меню. Например, имеется главная строка меню, отдельная строка меню окна Site (Сайт) (только для Windows) и строки меню для каждого контекстного меню. Каждая строка меню содержит один или несколько пунктов меню, вложенных в теги <MENU> и </MENU>. Каждое меню содержит один или несколько пунктов меню (или команд меню), каждый из которых описывается тегом <MENUITEM> и его атрибутами. Меню может также содержать разделители (обозначенные тегами <SEPARATOR>) и подменю.

В дополнение к "горячим" клавишам, связанным с пунктами меню, Dreamweaver предлагает и другие "горячие" клавиши, в том числе дополнительные, и "горячие" клавиши, которые доступны только в некоторых контекстах. Например, комбинация клавиш <Ctrl>+<Y> (Windows) или <Command>+<Y> (Macintosh) - "горячая" клавиша для команды Redo (Повторить); а комбинация клавиш <Ctrl>+<Shift>+<Z> (Windows) или <Command>+<Shift>+<Z> (Macintosh) - дополнительная "горячая" клавиша для той же команды Redo (Повторить). Эти дополнительные клавиши и другие "горячие" клавиши, которые не могут быть представлены в тегах как пункты меню, представлены в сокращенных списках в файле menus.xml. Каждый сокращенный список (описываемый тегом <SHORTCUTLIST>) содержит одну или несколько "горячих" клавиш, каждая из которых представлена тегом <SHORTCUT>.

В следующих разделах представлено описание синтаксиса тегов menus.xml. Необязательные атрибуты заключены в фигурные скобки {}; атрибуты без фигурных скобок являются обязательными.


 
Тег <MENUBAR>

Предлагает информацию о строке меню в структуре меню Dreamweaver. Данный тег должен содержать один или несколько тегов меню.

Атрибуты:

name, {app}, id, {platform}

name - имя строки меню; хотя имя - обязательный атрибут, ему можно присвоить значение " ";

{app} - имя приложения, в котором данная строка меню доступна. Допустимые значения - "dreamweaver" и "ultradev". По умолчанию строки меню доступны и в Dreamweaver и UltraDev;

id - идентификатор для строки меню. Каждый идентификатор меню в файле menus.xml должен быть уникален;

platform - название платформы, при работе на которой появляется строка меню. Допустимые значения - "win" и "mac".

Например:

Для главной строки меню (окна Document (Документ)) используется следующий тег <MENUBAR>:


<MENUBAR name="Main Window" id="DWMainWindow">
<!- Теги меню располагаются здесь -->
</MENUBAR>


 
Тег <MENU>

Содержит информацию о меню или подменю, появляющихся в структуре меню Dreamweaver.

Атрибуты:

name, {app}, id, {platform}

name - имя меню, которое появляется в строке меню. Чтобы задать клавишу вызова меню в Windows, используйте знак подчеркивание (_) перед вызывающей буквой (например, _F). При работе на Macintosh подчеркивание автоматически удаляется;

{app} - имя приложения, в котором данное меню доступно. Возможные значения - "dreamweaver" и "ultradev". По умолчанию меню доступно и в Dreamweaver, и в UltraDev;

id - идентификатор меню. Каждый идентификатор id в файле menus.xml должен быть уникален;

{platform} - определяет, что меню должно появляться только на указанной платформе. Возможные значения - "win" и "mac".

Указанный тег может содержать один или несколько тегов <MENUITEM> и один или несколько тегов <SEPARATOR>, а также другие теги меню (например, теги подменю) и стандартные теги комментария HTML.

Тег должен быть вложен в тег <MENUBAR>.

Пример:

<MENU name="_File" id="DWMenu_File">
<!-Здесь находятся теги menuitem, separator, menu и comment -->
</MENU>


 
Тег <MENUITEM>

Определяет пункт в меню Dreamweaver.

Атрибуты:

name, id, {app}, {key}, {platform}, {enabled}, {arguments}, {command}, {file}, {checked}, {dynamic}

name - Чтобы задать клавишу вызова меню в Windows, используйте знак подчеркивание (_) перед вызывающей буквой (например, _F);

id - идентификатор, задающий пункт. Значение этого атрибута должно быть уникальным для всей структуры меню. Если вы добавляете новые пункты меню в файл menus.xml, укажите уникальные идентификаторы, используя в этом качестве название компании, телефон или другую индивидуальную последовательность, как префикс, для каждого идентификатора id пункта меню;

{app} - имя приложения, в котором данный пункт меню доступен. Возможные значения - "dreamweaver" и "ultradev". По умолчанию пункт меню доступен и в Dreamweaver, и в UltraDev;

{key} - "горячая" клавиша команды, если такая сопоставлена этому пункту. Используйте следующие сокращения для определения некоторых клавиш:

Cmd подразумевают нажатие клавиши <Ctrl> (Windows) или клавиши <Command> (Macintosh);
Alt и Opt подразумевают нажатие соответственно клавиши <Alt> (Windows) или клавиши <Option> (Macintosh);
Shift определяет клавишу <Shift> на обеих платформах;
CTRL подразумевает нажатие клавиши <Ctrl> на обеих платформах;
Знак плюс (+) разделяет клавиши-модификаторы, если данные сокращения используются больше чем для одной "горячей клавиши". Например, Cmd+Alt+5 в атрибуте KEY означает, что пункт меню будет выполнен при нажатии сочетания клавиш <Ctrl>+<Alt>+<5> (Windows) или <Command>+<Option>+<5> (Macintosh);
Специальные клавиши определяются по именам от <F1> до <F12>, <PgDn>, <PgUp>, <Home>, <End>, <Ins>, <Delete>, <Tab>, <Esc>, <BackSpace> и <Пробел>. Перечисленные клавиши также могут быть назначены "горячими клавишами";

{platform} указывает платформу, на которой этот пункт появляется. Возможные значения - "win" (что означает "только Windows") или "mac" ("только Macinosh"). Если вы не определите этот атрибут, то пункт меню будет появляться на обеих платформах. Если вы хотите, чтобы пункт меню работал по-разному на различных платформах, присвойте одно имя (но различные идентификаторы id) двум пунктам меню: одному для платформы Windows, а другой для платформы Macinosh;

{enabled} определяет код JavaScript (обычно запрос функции JavaScript) который определяет, доступен ли пункт меню в настоящее время. Если функция возвращает значение false (ложно), то пункт меню затенен. По умолчанию указано значение true (истинно), но лучше всегда определить значение явно;

{arguments} задает аргументы Dreamweaver для кода в файле JavaScript, который вы определили в атрибуте файла. Аргументы должны быть указаны в двойных кавычках и отделены друг от друга кавычками одинарными;

{command} определяет выражение JavaScript, которое выполняется, когда пользователь выбирает данный пункт меню. Можно указать не выражение, а целый файл JavaScript. Для каждого пункта меню следует определить либо файл, либо команду;

{file} - имя файла HTML, содержащего код JavaScript, который управляет пунктом меню. Укажите путь к файлу относительно папки Configuration. Например, пункту меню Help (Справка) | Welcome (Добро пожаловать) соответствует файл "Commands\Welcome.htm"; Замечание
Атрибут файла отменяет атрибуты command, enabled и checked. Для каждого пункта меню необходимо определить либо файл, либо команду. Информацию о создании файла команды с помощью панели History (История). См. в разд. "Создание новых команд из выполненных шагов".

{checked} - выражение JavaScript, которое определяет, отмечен ли этот пункт меню флажком; если функция возвращает значение true, то пункт отмечен;

{dinamic} - если данный атрибут указан, то пункт меню должен быть определен динамически файлом HTML, который содержит код JavaScript, задающий текст и состояние пункта меню. Если вы определяете тег как динамический, то должны также указать атрибут файла;

{isdomrequired} определяет, синхронизировать ли визуальный режим и режим кода перед выполнением выбранного пункта меню. Возможные значения - true (по умолчанию) и false. Если вы указываете этот атрибут как false, это означает, что изменения к файлу, которые производит пункт меню, не используют Dreamweaver DOM., см. разд. "Расширение Dreamweaver" далее в этой главе.

Тег должен содержаться в теге <MENU>.

Пример:

<MENUITEM name="_New" key="Cmd+N" enabled="true"
command="dw.createDocument()" id="DWMenu_File_New" />


 
Тег <SEPARATOR>

Указывает, что разделитель должен быть отображен в соответствующем месте меню.

Атрибут:

{app}

{app} - имя приложения, в котором виден разделитель. Возможные значения - "dreamweaver" и "ultradev". По умолчанию разделитель отображается и в Dreamweaver, и UltraDev.

Тег должен содержаться в теге <MENU>.

Пример:

<SEPARATOR />


 
Тег <SHORTCUTLIST>

Определяет список "горячих" клавиш в файле menus.xml.

Атрибуты:

{app}, id, {platform}

{app} - имя приложения, в котором список является доступным. Возможные значения - "dreamweaver" и "ultradev". По умолчанию сокращенный список доступен и в Dreamweaver, и в UltraDev;

id - идентификатор списка. Значение данного атрибута должно быть тем же самым, что и значение атрибута id для строки меню (или контекстное меню) в Dreamweaver, с которым связаны горячие клавиши. Допустимые значения - "DWMainWindow", "DWMainSite", "DWTimelineContext" и "DWHTMLContext";

{platform} указывает, что сокращенный список должен появиться только на данной платформе. Возможные значения - "win" и "mac".

Тег может содержать один или несколько сокращенных тегов, а также один или несколько тегов комментария с синтаксисом, аналогичным тегам HTML-комментария.

Пример:

<SHORTCUTLIST id="DWMainWindow">
<!-Список и комментарии -->
</SHORTCUTLIST>


 
Тег <SHORTCUT>

Определяет отдельную "горячую" клавишу в файле menus.xml.

Атрибуты:

key, {app}, {platform}, {file}, {arguments}, {command}, id, {name}

key - сочетание клавиш, которое является "горячим", т. е. активизирует некоторое действие Dreamweaver, см. описание синтаксиса в разд. "Тег <menuitem>".

{app} - имя приложения, в котором доступна "горячая" клавиша. Возможные значения - "dreamweaver" и "ultradev". По умолчанию "горячая" клавиша доступна и в Dreamweaver, и UltraDev;

{platform} - определяет платформу, на которой работает "горячая" клавиша. Возможные значения - "win" и "mac". Если вы не определяете данный атрибут, то по умолчанию осуществляется поддержка обеих платформ;

{file} - путь к файлу, содержащему код JavaScript, который выполняется, когда вы используете "горячую" клавишу. Данный атрибут отменяет атрибут command, потому для каждой "горячей" клавиши необходимо указать либо атрибут file, либо атрибут command;

{arguments} задает некоторые дополнительные параметры, которые Dreamweaver передает файлу JavaScript, указанному в атрибуте file. Эти параметры должны быть заключены в двойные кавычки, а между собой разделены одинарными кавычками;

{command} - код JavaScript, который запускается в Dreamweaver, когда вы нажимаете "горячую" клавишу. Определите либо атрибут file, либо атрибут command для каждой "горячей" клавиши;

id - уникальный идентификатор "горячей" клавиши;

{name} - имя команды, которая запускается "горячей" клавишей, представленное как пункт меню. Например, атрибут name для "горячей" клавиши <F12> - "Preview in Primary Browser" (Предварительный просмотр в браузере).

Тег должен быть вложен в тег <shortcutlist>.

Пример:

<SHORTCUT key="Cmd+Shift+Z"  file="Menus/MM/Edit_Clipboard.htm" 
arguments="'redo'" id="DWShortcuts_Edit_Redo" />