次の例を実行するには、開発者ツールを有効にする必要があります。詳細については、開発者ツールを参照してください。
カスタマイズ内容の追加と検証は、次の順序で行うことができます。
custom_ribbon.xml を作成します。
custom_ribbon.xml の下に XML フラグメントを追加します。
変更した custom_ribbon.xml に対して、「リボンの定義を検証」ツールを実行します。
Creo Element/Direct Model Manager を開き、「構成を選択」ボックスで custom_ribbon.xml を選択します。
リボンからの要素の削除
削除する要素は、パス識別子によって参照されます。
すべての要素のパスを判別するには、Creo Elements/Direct Model Manager で「リボンのカスタマイズ」をクリックしてから、「定義」グループの「現在のリボン構造を表示」をクリックします。静的に定義された要素と動的に定義された要素の両方を含む、すべてのユーザインターフェイスの XML 記述が表示されます。
custom_ribbon.xml ファイルに次の内容を追加します。
<Ribbon>
<Customize>
<Remove path="/TaskAgentTab" />
<Remove path="/StructureTab/StructureModifyGroup" />
<Remove path="/HomeTab/EditGroup/ChangeStateMenu" />
<Remove path="/ApplicationMenu/SendToPrimary" />
</Customize>
</Ribbon>
最初のエントリはタブ全体を削除し、2 番目のエントリはグループを削除し、3 番目のエントリは「状態変更」ボタンを「ホーム」タブから削除します。4 番目のエントリは、「転送」オプションを「ファイル」メニューから削除します。
ボタンの追加
ボタン定義の最も重要な構成要素は、基礎となるアクションです。このアクションは WMAbstractAction であることが必要です。WMAbstractAction を新しく実装することも、既存のものを再使用することもできます。
<Ribbon>
<Customize>
<Tabs>
<Tab ref="HomeTab">
<Group ref="EditGroup">
<Button id="MyHelloWorldButton" weight="1.5">
<Action>com.osm.action.HelloWorldAction</Action>
</Button>
<Button id="MyHelloCreatorButton" weight="1.6">
<Action isContext="true">com.osm.action.HelloCreatorAction</Action>
</Button>
</Group>
</Tab>
</Tabs>
<ApplicationMenu>
<Primary id="NewWorkspacePrimary" weight="1.5">
<DisplayName>New Workspace</DisplayName>
<Action>com.osm.datamgmt.action.NewWorkspaceAction</Action>
</Primary>
</ApplicationMenu>
</Customize>
</Ribbon>
最初のエントリは、「ホーム」タブの「編集」グループにボタンを新しく追加します。ここでは既存の要素を変更しているので、タブとグループは ref 属性によって参照されることに注意してください。ボタンは新規要素なので、id 属性が指定されます。ボタン定義はアイコンや表示名を指定していないので、これらの値は WMAbstractAction から継承されます。
MyHelloWorldButton 内のアクションはコンテキストフリーです。つまり、このアクションは実際のデータ要素には適用されません。ただし、Creo Elements/Direct Model Manager のアクションのほとんどはコンテキストアクションで、選択した要素に適用されます。
2 番目のエントリは、3D モデルに対して実行できるアクションを追加します。ボタンをコンテキスト対応にするには、次の 2 つのことを行う必要があります。
1. アクションクラスは WMAbstractAction から派生し、isApplicable メンバーを実装する必要があります。この実装により、特定の要素が Model Manager の構造ビューで選択されたときにボタンがアクティブになるかどうかが決まります。
2. アクションには XML 属性 isContext=”true” を指定する必要があります。
3 番目の例では、アプリケーションメニューの第 1 レベルにエントリを追加する方法を示します。この例でも既存のアクションを再使用しますが、別の表示名を指定します。重み属性によって、ボタンを挿入する場所を指定します。たとえば、MyHelloWorldButton「DB プロパティ」(重み 1.0) ボタンと「状態変更」(重み 2.0) ボタンの間に挿入されます。重みが指定されていない場合は、親コンテナの最後にリボン要素が追加されます。
メニューボタンの追加
ボタン定義に <Popup> 要素を追加することによって、メニューボタンを設定できます。
<Ribbon>
<Customize>
<Tabs>
<Tab ref="HomeTab">
<Group ref="CollaborateGroup">
<Button id="MyReserveMenuButton">
<DisplayName>My Reserve Menu</DisplayName>
<Popup>
<Button ref="ReserveButton"/>
<Button ref="UnreserveButton" />
</Popup>
</Button>
</Group>
</Tab>
</Tabs>
</Customize>
</Ribbon>
* 
ボタンは、「コラボレート」グループの最初の要素として表示されます。これは、ボタンが大きなアイコンで表示され、大きなボタンは常に中サイズまたは小サイズのボタンより前に表示されるからです。詳細については、priority (属性)を参照してください。
グループおよびタブの追加
RibbonDefinition.xml と同じ構文を使用して、ボタンと同様にほかのリボン要素を作成できます。
<Ribbon>
<Customize>
<Tabs>
<Tab id="MyTab">
<DisplayName>My Tab</DisplayName>
<Group id="MyFirstGroup">
<DisplayName>1st Group</DisplayName>
<Button ref="ReserveButton"/>
</Group>
<Group id="MySecondGroup">
<DisplayName>2nd Group</DisplayName>
<Button ref="UnreserveButton" />
</Group>
</Tab>
</Tabs>
</Customize>
</Ribbon>
要素の修正
要素を修正するには、それぞれの XML 要素を上書きします。次に示す例では、「ホーム」タブの名前を変更し、「編集」グループに「新規追加」ボタンを大きなアイコンで表示します。
<Ribbon>
<Customize>
<Tabs>
<Tab ref="HomeTab">
<DisplayName>Home Sweet Home</DisplayName>
<Group ref="EditGroup">
<Button ref="AddNewMenu" priority="top" />
</Group>
</Tab>
</Tabs>
</Customize>
</Ribbon>
これは役に立ちましたか?