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
ExplorerMenuIt ems.xml
XML ファイル
メインアプリケーションメニュー (PDMLinkExplorerMenus.xml) と ExplorerMenus.xml から参照される、メニューアイテム定義が含まれています。
場所:
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenus.x ml
XML ファイル
メインアプリケーションメニュー (PDMLinkExplorerMenus.xml) から参照される、サブメニューのメニュー定義が含まれています。
場所:
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusF orAttributeTable. xml
XML ファイル
「情報」タブの「属性」テーブルに関連付けられたツールバーとポップアップメニューの定義が含まれています。
場所:
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusF orDocumuntsTab .xml
XML ファイル
「ドキュメント」タブのテーブルに関連付けられたツールバーとポップアップメニューの定義が含まれています。
場所:
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusF orReplacements Tab.xml
XML ファイル
「置換部品」タブのすべてのテーブルに関連付けられたツールバーとポップアップメニューの定義が含まれています。
場所:
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ExplorerMenusF orUsesTab.xml
XML ファイル
「子部品」タブのすべてのテーブルに関連付けられたツールバーとポップアップメニューの定義が含まれています。
場所:
<Windchill>/codebase/config/logicrepository/xm
l/explorer/structureexplorer
ActionAccess
XML エレメント
MenuBar、関連 Menus、および MenuItems の定義が含まれています。各 ActionAccess エレメント (MenuBar 定義など) には、関連するツールバーおよびポップアップメニューで使用されるすべての操作が含まれている必要があります。
* 
MenuBar 定義への新しい操作の追加はサポートされていません。
PDMLinkExplorerMenus.xml と ExplorerMenus*.xml に格納されています。
ModeToolBar
XML エレメント
特定のモードのツールバーを定義します。ApplicationMode (インポート経由) と MenuItemIdentifier のリストを指定します。
ModePopupMe nu
XML エレメント
特定のモードのポップアップメニューを定義します。モードと MenuItemIdentifier のリストを指定します。
ExplorerMode
XML エレメント
ModeToolBar または ModePopupMenu のサブエレメントです。モードを指定します。
MenuItemIdentifi er
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>
これにより、「期待される結果」セクションに示すように、「新規照会」アイコンがツールバーに表示されるようになります。
カスタマイズポイント
ポップアップメニューのカスタマイズ
指定のモードに対してポップアップメニューの内容を変更することができます。定義内のアイテムに関しては、既存操作の追加、削除、並べ替えがサポートされています。
「子部品」タブの例を考えてみます。デフォルト状態のテーブルのポップアップメニューには、ドラフトモードの「既存を挿入」操作と「新規を挿入」操作が含まれていません。ExplorerMenusForUsesTab.xml の XML を変更して、次の MenuItemIdentifier を挿入するだけで、これらの操作をポップアップメニューに追加できます。
<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 がサポートされていません。そのため、未定義操作に関連した新しいメニューアイテムをメニュー、ツールバー、またはポップアップメニューに追加することはできません。また、操作をその操作の設計対象となっていないテーブルに追加することもサポートされていません。