高度なカスタマイズ > ビジネスロジックのカスタマイズ > DTI カスタマイズフレームワーク > Microsoft Office の「Windchill」タブのカスタマイズ > リボンのカスタマイズ
  
リボンのカスタマイズ
Windchill デスクトップインテグレーションにより、システム管理者は Microsoft Office アプリケーションの「Windchill」タブにカスタムボタンを導入できます。唯一の要件は、カスタムリボンのユーザーインタフェース定義を含む有効な XML ファイルが存在することです。このファイルは次の場所に配置する必要があります。
<Windchill>/codebase/com/ptc/windchill/enterprise/nativeapp /msoi/client/custom/wtCustomMenu.xml
リボン UI の詳細については、リボンについての Microsoft のマニュアルを参照してください。
実装が必要なすべてのカスタム操作は、操作グループ内に配置する必要があります。これは XML のリボン UI のルート要素またはドキュメント要素になります。
button ノードをグループに子として追加すると、リボン UI にクリック可能アイテムとして表示されます。
次の例は、2 つのボタンによるカスタム操作グループを示しています。
<group id="MyCustomActions" tag="MyCustomActions"
getLabel="MsoiGetLabel" getScreentip="MsoiScreentip"
getVisible="MsoiServerVisible">
<button id="CustomAction01" tag="CustomAction01" enabled="true"
label="Custom Action 01"
screentip="Click this to launch the first custom action"
getImage="MsoiGetImage" onAction="MsoiOnAction" keytip="ca1"/>

<button id="CustomAction02" tag="CustomAction02" getEnabled="MsoiIsEnabled"
getLabel="MsoiGetLabel" getScreentip="MsoiScreentip" getImage="MsoiGetImage"
onAction="MsoiOnAction" keytip="ca2"/>
</group>
グループの表示を制御するには、次の手順を実行します。
getVisible - アクティブな Windchill サーバーに接続している場合のみグループが表示されるようにするには、この属性を MsoiServerVisible に設定します。
visible - グループを常に表示する場合は、getVisible 属性を除去して、visibletrue に設定します。
ボタンの状態を制御するには、次の手順を実行します。
getEnabled - この属性を MsoiIsEnabled に設定した場合、サーバー側の変更によってボタンが明示的に有効化または無効化されないかぎり、ボタンは無効のままになります。
enabled - グループが表示されていれば常にボタンを有効にする場合、getEnabled 属性をボタンノードから除去し、enabledtrue に設定します。
* 
属性 label はラベルを、属性 screentip はツールヒントを制御します。一般に、静的テキストによりパフォーマンスはわずかに向上します。
カスタムメニューをローカライズするには、getLabel および getScreentip を代わりに使用する必要があります。
アプリケーション固有のカスタムメニューの作成
Windchill デスクトップインテグレーションは、特定の Microsoft Office アプリケーションのリボン UI のカスタマイズをサポートします。短いアプリケーション名をファイル名に追加します。たとえば、次のファイルにより、Microsoft Excel のみに表示される新しいボタンが作成されます。
<Windchill>/codebase/com/ptc/windchill/enterprise/nativeapp/msoi/client/custom/wtCustomMenuExcel.xml
以下のコードを追加します。
<?xml version="1.0"?>
<groups>
<group id="ExcelActionsGroup" tag="ExcelActionsGroup"
label="Excel actions group" screentip="Custom Excel
actions group" visible="true">
<button id="MyExcelButton" tag="MyExcelButton" enabled="true"
label="Invoke my own custom Excel action"
screentip="Clicking here will launch my own Excel action."
getImage="MsoiGetImage" onAction="MsoiOnAction" keytip="ea"/>
</group>
</groups>
テキストのローカライズ
Windchill デスクトップインテグレーションにより、リボン UI に表示されるテキストをローカライズできます。これにより、エンドユーザーに自国言語に翻訳したものを表示できるようになります。
* 
リボンボタンのラベルと画面ヒントのローカライズは、属性 label および screentipgetLabel および getScreentip に置き換えられている場合にのみ実行可能です。これらの属性の値はそれぞれ MsoiGetLabel および MsoiScreentip に設定する必要があります。
PTC では、属性 id および tag を一意のテキストのままにしておくことを推奨します。Windchill デスクトップインテグレーションは tag 属性を使用して次のように処理を進めます。
リボン UI をローカライズするには、次の操作を実行します。
1. ラベルをローカライズします。
サーバー上の次のファイル (または同等のロケール固有ファイル) に新しいノードを追加します。
<Windchill>/codebase/com/ptc/windchill/enterprise/nativeapp/msoi/client/custom/wtCustomLabels.xml
たとえば、関連するノードテキストを wtCustomLabels_ru.xml ファイルに追加すると、メニューがロシア語に翻訳されます。
ノードのフォーマットは次のとおりです。
<CustomAction02>
<short>Custom Action 02</short>
</CustomAction02>
親のノード名 (この場合は "CustomAction02") はグループおよびボタンの属性 tag と一致する必要があります。
2. ツールヒントをローカライズします。
これは、子ノードの名前を tooltip と設定すること以外は、ラベルの場合と同じです。ノードのフォーマットは次のとおりです。
<CustomAction02>
<short>Custom Action 02</short>
<tooltip>Click here to launch this custom action</tooltip>
</CustomAction02>
3. 翻訳をすべてのクライアントに展開します。
サーバーに変更を保存した後、Windchill デスクトップインテグレーションクライアントがこのファイルのコピーを自動的に取得します。