根据对象类型禁用操作
要根据对象类型禁用 PSE 中的某个操作,请按照以下说明:
1. 编辑 ExplorerStructures.xml 文件。
针对将要禁用操作的类型创建 <TypeDefinition> 元素。例如,针对属于 WTPart 子项的类型 org.my.MyTypeA、org.my.MyTypeB 和 org.my.MyTypeD,您应定义以下元素:
<TypeDefinition id="com.my.MyTypeATD"
typeId="WCTYPE|wt.part.WTPart|org.my.MyTypeA"/>
<TypeDefinition id="com.my.MyTypeBTD"
typeId="WCTYPE|wt.part.WTPart|org.my.MyTypeB"/>
<TypeDefinition id="com.my.MyTypeDTD"
typeId="WCTYPE|wt.part.WTPart|org.my.MyTypeD"/>
2. 编辑 ExplorerValidators.xml 文件。
针对想要禁用操作的类型组创建 <ValidatorDefinition> 元素。如果选定部件的类型与验证程序定义中参考的类型之一相匹配,即会返回 false。例如,应针对上述三种类型定义如下所示的验证程序:
<ValidatorDefinition id="com.my.IsNotEqualToTypesABDVAL"
validatorClass="com.ptc.windchill.explorer.structureexplorer.
validators.IsValidTypeValidator" inverted="true">
<Import id="com.my.MyTypeATD"/>
<Import id="com.my.MyTypeBTD"/>
<Import id="com.my.MyTypeDTD"/>
</ValidatorDefinition>
|
ValidatorDefinition 的 validatorClass 属性值必须与上面所列的类完全相同,且必须将反转属性设置为 "true",这一点很重要。
|
3. 编辑 ExplorerActions.xml 文件。
将 <ValidatorEntry> 元素添加到想要针对指定类型禁用的操作。
<ActionDefinition id="ptc.wnc.exp.EditCommonAttrsAction" ... >
...
<ValidatorEntry>
<Import id="com.my.IsNotEqualToTypesABDVAL"/>
</ValidatorEntry>
...
</ActionDefinition>
只要选择类型 A、B 或 D 的部件,此配置即会禁用 PSE 应用程序中的“编辑公用属性”操作。