Дополнительные возможности Windchill > Управление производственным процессом > Настройка редактора структуры изделия (PSE) > Настройка меню, панелей инструментов и всплывающих меню в PSE
  
Настройка меню, панелей инструментов и всплывающих меню в PSE
Задача
Вы хотите изменить в PSE содержимое меню, панели инструментов или всплывающего меню.
Вводная информация
В PSE определения меню, панелей инструментов и всплывающих меню взаимосвязаны. Определение действий в интерфейсе пользователя, которые отображаются на панелях инструментов и во всплывающих меню, наследуется от определения ActionAccess для строки меню.
Отображенные строка меню и пункты меню не изменяются с учетом режима (правки, черновика или аннотации), в котором работает PSE, хотя элементы можно отключать, если они не соответствуют режиму. Панель инструментов изменяется с учетом режима, как и всплывающие меню, представленные в таблицах. На панели инструментов могут отображаться только пункты меню, с которыми связан значок.
На вкладках заданий PSE определено множество таблиц с панелями инструментов и всплывающими меню. Они реализованы точно так же, как строка главного меню через определения ActionAccess, но меню не отображаются.
Контекст, применимость и допущения
Ожидаемый результат
При необходимости можно изменить содержимое панели инструментов для данного режима: например, добавить на панель инструментов значок "Новый запрос" (перед значком справки), который для главного окна PSE отображается в режиме черновика, а также добавить во всплывающее меню вкладки "Использует" действия "Вставить существующий" и "Вставить новый":
Решение
Чтобы добавить на панель инструментов действие "Новый запрос", измените соответствующий элемент в файле
<Windchill>/codebase/config/logicrepository/xml/explorer/productstructure/
PDMLinkExplorerMenus.xml
Чтобы добавить записи всплывающего меню на вкладку Использует, измените соответствующий элемент в файле
<Windchill>/codebase/config/logicrepository/xml/explorer/structureexplorer/
ExplorerMenusForUsesTab.xml
Необходимые предварительные знания
Чтобы выполнить это техническое требование, необходимо иметь основные знания в следующих областях:
Управление настройками XML-файла
Элементы решения
Элемент
Тип
Описание
PDMLinkExplorerMenus.xml
Файл XML
Содержит определение главных меню приложения PSE, панелей инструментов и всплывающих меню, которые появляются в отображениях дерева.
Находится в папке
<Windchill>/codebase/config/logicrepository/xm
l/explorer/productstructure
ExplorerMenuItems.xml
Файл XML
Содержит определения пунктов меню, на которые ссылаются главное меню приложения (PDMLinkExplorerMenus.xml) и ExplorerMenus.xml
Находится в папке
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenus.xml
Файл XML
Содержит определения меню для подменю, на которые ссылается меню главного приложения (PDMLinkExplorerMenus.xml)
Находится в папке
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForAttributeTable.xml
Файл XML
Содержит определение панелей инструментов и всплывающих меню для таблицы атрибутов на информационной вкладке.
Находится в папке
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForDocumuntsTab.xml
Файл XML
Содержит определение панелей инструментов и всплывающих меню для таблиц на вкладке документов.
Находится в папке
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForReplacementsTab.xml
Файл XML
Содержит определение панелей инструментов и всплывающих меню для всех таблиц на вкладке замен.
Находится в папке
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusForUsesTab.xml
Файл XML
Содержит определение панелей инструментов и всплывающих меню для всех таблиц на вкладке использования.
Находится в папке
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ActionAccess
XML-элемент
Содержит определение строки меню (MenuBar), соответствующих меню (Menu) и пунктов меню (MenuItem). Каждый элемент ActionAccess (т. е. определение MenuBar) должен включать все действия, которые будут использоваться в связанных панелях инструментов и всплывающих меню.
* 
Добавление новых действий в определение MenuBar не поддерживается.
Содержится в файлах PDMLinkExplorerMenus.xml и ExplorerMenus*.xml
ModeToolBar
XML-элемент
Определяет панель инструментов для конкретного режима. Определяет ApplicationMode (через Import) и список MenuItemIdentifiers.
ModePopupMenu
XML-элемент
Определяет всплывающее меню для конкретного режима. Просто определяет режим и список идентификаторов меню (MenuItemIdentifier).
ExplorerMode
XML-элемент
Подэлемент ModeToolBar или ModePopupMenu. Определяет режим.
MenuItemIdentifier
XML-элемент
Подэлемент ModeToolBar или ModePopupMenu. Определяет (через параметр ID) определенное действие.
Процедура настройки панели инструментов
Содержимое панели инструментов для данного режима можно изменить. Добавление, удаление и переупорядочивание существующих элементов в определениях поддерживается.
Рассмотрим панель инструментов, которая показана для главного окна PSE в режиме черновика. Например, для добавления действия создания нового запроса на панель инструментов просто вставьте MenuItemIdentifier для этой записи в файл XML:
<ModeToolBar id="ToolBarB">
<Import id="ptc.wnc.exp.DraftAppMode"/>
<MenuItemIdentifier id="FileNewPartMI"/>
<MenuItemIdentifier id="FileOpenPartMI"/>
<Separator/>
<MenuItemIdentifier id="FileSaveChangesMI"/>
<MenuItemIdentifier id="FileAnnotationValidationMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CloseMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.LaunchNewPSEMI"/>
<MenuItemIdentifier id="SetConfigSpecMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.InfoPageMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CutMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.PasteMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyToWindchillClipboardMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyFromWindchillClipboardMI"/>
<Separator/>
<MenuItemIdentifier id="SelectedAddChildMI"/>
<MenuItemIdentifier id="SelectedAddNewChildMI"/>
<MenuItemIdentifier id="SelectedAddInsertNewMI"/>
<Separator/>
<MenuItemIdentifier id="SelectedReplaceExistingMI"/>
<MenuItemIdentifier id="SelectedReplaceCreateAndReplaceMI"/>
<MenuItemIdentifier id="SelectedReplaceNewMI"/>
<MenuItemIdentifier id="SelectedReplaceAlternateMI"/>
<Separator/>
<MenuItemIdentifier id="FileSpecEditorLaunchMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.ReviseMI"/>
<MenuItemIdentifier id="SelectedRemoveMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.SelectParentMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.ExpandAllMI"/>
<Separator/>
<MenuItemIdentifier id="EditEditModeMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.FindInStructureMI"/>
<MenuItemIdentifier id="NewQueryMI"/>
<Separator/>
<MenuItemIdentifier id="HelpTopicsMI"/>
</ModeToolBar>
Это приведет к появлению значка нового запроса на панели инструментов, как показано в разделе ожидаемого результата.
Точки настройки
Настройка всплывающего меню
Содержимое всплывающего меню для данного режима можно изменить. Добавление, удаление и переупорядочение существующих действий в определениях поддерживаются.
Рассмотрим вкладку Использует. В стандартном варианте всплывающее меню для таблицы не включает действия Вставить существующий и Вставить новый в режиме черновика. Чтобы добавить их во всплывающее меню, просто измените XML-файл ExplorerMenusForUsesTab.xml так, чтобы вставить идентификаторы этих пунктов меню:
<ModePopupMenu id="PopupMenuB">
<Import id="ptc.wnc.exp.DraftAppMode"/>
<Import id="ptc.wnc.exp.AnnotateAppMode"/>
<MenuItemIdentifier id="ptc.wnc.exp.CutAssocMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CopyAssocMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.PasteAssocMI"/>
<Separator/>
<MenuItemIdentifier id="AddChildMI"/>
<MenuItemIdentifier id="NewChildMI"/>
<Separator/>
<MenuItemIdentifier id="ReplaceExistingMI"/>
<MenuItemIdentifier id="CreateAndReplaceMI"/>
<MenuItemIdentifier id="ReplaceNewMI"/>
<MenuItemIdentifier id="ReplaceAlternateMI"/>
<Separator/>
<MenuItemIdentifier id="ptc.wnc.exp.RevertAssocMI"/>
<MenuItemIdentifier id="ptc.wnc.exp.CommentAssocMI"/>
</ModePopupMenu>
В результате действие "Заменить взаимозаменой/подстановкой" появляется во всплывающем меню вкладки "Использует", как показано в разделе Ожидаемый результат.
Ограничения
Добавление новых пунктов меню в меню, на панель инструментов или во всплывающие меню для действий, которые не были определены, не поддерживается, поскольку PSE в настоящее время не имеет поддерживаемого интерфейса API, позволяющего создавать пользовательские действия. Также не поддерживается добавление действий в таблицы, для поддержки которых они не разработаны.