高级自定义 > 业务逻辑自定义 > 自定义部件结构浏览器 > 自定义部件结构浏览器操作工具栏
  
自定义部件结构浏览器操作工具栏
可将自定义操作或任务添加到产品结构浏览器的“操作”工具栏中。操作在 —action.xml 文件中定义,显示信息在 rbInfo 文件中定义,操作按钮的位置在 actionmodel.xml 文件中定义,其中 RibbonInfo 标记用于定义操作的关键特性。
要在产品结构浏览器中添加自定义操作,请执行以下步骤:
1. custom-actions.xml 文件或相应的 -actions.xml 文件 (如 psb-actions.xml 文件) 中定义自定义操作。在以下示例中,名为 customActionGWT 的自定义操作在 custom-actions.xml 文件中使用其资源束、URL、参数和支持的类型创建:
<listofactions>
<!-- Custom GWT Action for PSB GWT RIBBON -->
<!-- Default resourceBundle="com.ptc.windchill.enterprise.part.psb.psbActionsRB -->
<objecttype resourceBundle="ext.associativity.reconciliation.part.psbCustomActionsRB" name="psb">
<action name="CustomActionGroupGWT" ajax="component">
<!-- Defines the GWT action group for PSB ribbon -->
<command class="com.ptc.cat.ui.client.action.NoAction"
</action>
<action name="customActionGWT" ajax="component">
<command class="com.ptc.cat.ui.client.action.LaunchURLAction" method="execute"
url="/ptc1/psb/customAction" windowType="popup"/>
<supportedTypes>
<type value="wt.part.WTPart"/>
<type value="wt.part.WTPartUsageLink"/>
<type value="wt.part.PartUsesOccurrence"/>
<type value="wt.part.RTPartPathOccurrence"/>
</supportedTypes>
</action>
<action name="customActionGWTTest" ajax="component">
<command class="com.ptc.cat.ui.client.action.LaunchURLAction" windowType="popup" url="/ptc1/psb/customAction" method="execute" />
<supportedTypes>
<type value="wt.part.WTPart" />
<type value="wt.part.WTPartUsageLink"/>
<type value="wt.part.PartUsesOccurrence"/>
<type value="wt.part.RTPartPathOccurrence"/>
</supportedTypes>
</action>
<action name="customURLActionGWT" ajax="component">
<command class="com.ptc.cat.ui.client.action.LaunchCustomURLAction" windowType="popup" url="/ptc1/psb/customURLAction" method="execute"/>
<supportedTypes>
<type value="wt.part.WTPart"/>
<type value="wt.part.WTPartUsageLink"/>
<type value="wt.part.PartUsesOccurrence"/>
<type value="wt.part.RTPartPathOccurrence"/>
</supportedTypes>
</action>
</objecttype>
</listofactions>
在此文件中,操作的名称、URL、参数和受支持的类型必须根据自定义需要进行修改。必须覆盖 psbRelatedPartsTreeToolBar 模型才能将功能区添加到部件结构浏览器工具栏中。
* 
只有 GWT 操作可添加到“操作”工具栏中。
每次进行软件更新时,psb-actions.xml 中的任何自定义都必须进行审阅和重新应用。
2. 针对在 resourceBundle 参数上定义的 rbInfo 文件中的操作添加显示值。
3. 在相应的 custom-actionmodels.xml 文件中添加模型定义。actionmodel.xml 文件中使用的 RibbonInfo 标记用于定义“操作”工具栏中操作的关键特性。有关操作定义 RibbonInfo 属性的详细信息,请参阅下文中的“RibbonInfo 属性”一节。以下是将 customActionGWT 添加到部件结构浏览器工具栏的示例:
<model name="psbRelatedPartsTreeToolBar">
<!--Custom GWT Group-->
<action name="CustomActionGroupGWT" type="psb" >
<ribbonInfo columnCount="1" buttonType="group"/>
</action>
<action name="customActionGWT" type="psb">
<ribbonInfo buttonType="button" buttonScale="small"/>
</action>
<action name="customURLActionGWT" type="psb">
<ribbonInfo buttonType="button" buttonScale="small"/>
</action>
<action name="customActionGWTTest" type="psb">
<ribbonInfo buttonType="menuitem"/>
</action>
<!-- Custom GWT actions ends -->
</model>
除自定义操作外,还可以在 psb-actionmodel.xml 文件中使用此模型的预设操作。
4. 进行更改后,请重新启动方法服务器。
RibbonInfo 属性
以下是 RibbonInfo 标记的属性:
buttonType:按钮类型可具有不同的值,如 button、menu、text_menu、submenu、toggle、custommenu、split、check、subcheck、menuitem、submenuitem 和 group:
Button:用于执行操作的普通按钮。
Menu:具有操作下拉菜单的按钮。此按钮没有任何操作。
Split:同时提供操作按钮和菜单按钮功能的按钮。
Toggle:用于指示处于开启还是关闭状态的粘滞按钮。
Text_Menu:仅显示文本,无任何图标。它会忽略用于切换工具栏文本的首选项。例如,用于“操作”按钮。
Custom_Menu:为菜单插件提供了一种在其中处理所有菜单项、操作和事件的方法。
Menu Items:以下是所允许的菜单项:
Menu_Item:菜单上的操作。必需具有操作和标签,而图标可选。
Check:用复选标记而非图标来指示处于开启还是关闭状态的菜单项。对于一组操作,这会变为单选按钮,且与具有相同组名称的其他复选菜单项互斥。
Sub-menu:具有飞出子菜单的菜单项。没有与其关联的操作。
Sub-menu Item:子选项的菜单项。
SearchWidget:具有菜单或操作以及自动建议条目的按钮。对于搜索小组件,必需具有标签,而图标可选。默认方向为水平方向。有关详细信息,请参阅添加自定义自动提示搜索小组件
Orientation:指定搜索小组件的布局 - 竖直或水平。
buttonScale:此选项的值可以是 small、medium 或 large。默认值为 small。这表示与 GXT 接受的图标大小相对应的大小:16x16、24x24 和 32x32。
columnCount:此选项仅适用于按钮组,用于指示布局组中存在的按钮列的数量。
groupName:指定功能区工具栏上的可视按钮分组。