高级自定义 > 业务逻辑自定义 > 自定义配置规范和筛选器 > 创建自定义导航条件筛选器
创建自定义导航条件筛选器
按照以下过程在“编辑筛选器”窗口中添加自定义筛选器选项卡:
1. 打开 Windchill Shell 并执行以下命令以加载表示自定义筛选器的类型:
windchill wt.load.LoadFromFile -d %WT_HOME%\loadFiles\type\CustomFilter.xml
这会在类型和属性管理用户界面中加载 wt.filter.custom.CustomFilter
2. 使用类型和属性管理用户界面,创建具有内部名称的 wt.filter.custom.CustomFilter 子类型,例如,org.rnd.TestFilter,并将可实例化属性设置为 Yes
3. “属性”选项卡中将属性添加到在步骤 2 中创建的 org.rnd.TestFilter 类型。这些属性表示所需的自定义筛选器。此外,根据需要将这些属性添加到一个或多个组中或添加到“布局”选项卡中的默认布局。使用所创建的每个组的“本地化”选项提供组名称和可选说明。
4. ModuleName- service.properties.xconf 文件中添加条目,并更改在步骤 2 中定义的 wt.filter.custom.CustomFilter 子类型的内部名称。
<!-- Uncomment to enable using a Custom Filter
<Option requestor="null" cardinality="singleton"
selector="WCTYPE|wt.filter.custom.CustomFilter| |<<Custom Filter Subclass>>"
serviceClass="com.ptc.expansionui.client.ui.renderers.DefaultCustomFilterRenderer"/> -->
<!-- Uncomment to enable using a Custom Filter
<Option requestor="null" cardinality="singleton"
selector="WCTYPE|wt.filter.custom.CustomFilter| |<<Custom Filter Subclass>>"
serviceClass="com.ptc.expansionui.server.validators.DefaultCustomFilterTabValidator"/> -->
5. DefaultCustomFilterTabValidator 是默认验证器。使用此验证器或使用 NavigationCriteriaTabValidatorDefaultCustomFilterTabValidator 覆盖您的验证器。
6. moduleName-wt.properties.xconf 文件中的条目添加到以下条目,并将 xx 替换为用于指定筛选器显示顺序的数字。
<!-- Uncomment to enable using a Custom Filter
<Property name="NavigationCriteria.filters.order.xx"
default="WCTYPE|wt.filter.custom.CustomFilter|<<Subtype Name>> "/> -->
7. 进行上述更改后,从 Windchill shell 中运行以下命令:
xconfmanager –Fp
8. 重新启动方法服务器。
配置自定义筛选器委派
Windchill 提供了用于在筛选时处理自定义筛选器属性的委派。此 DefaultCustomFilterDelegate 将根据 IBA 值执行筛选。仅当筛选对象 (本用例中为部件) 包含可变属性的值时,委派才会检查以进行筛选。可以使用 DefaultCustomFilterDelegate 或覆盖此委派来提供自定义委派。使用服务特性配置此委派。创建或修改包含特性的相应新值的 XCONF 文件:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configuration SYSTEM "xconf.dtd">
<Configuration targetFile="codebase/typedservices.properties">
<Service context="default" name="wt.filter.NavigationFilterDelegate2">
<Option cardinality="singleton" requestor="null"
serviceClass="wt.filter.custom.DefaultCustomFilterDelegate"
selector="WCTYPE|wt.filter.custom.CustomFilter|<<Custom Filter Subclass>>"/>
</Service>
使用 xconfmanager 实用程序更新 Windchill 服务特性。以下命令将注册新文件及其内容:
xconfmanager -i codebase/custom/myServiceXconfFile.properties.xconf -p
从部件信息页面启动 WTPart 结构的“编辑筛选器” UI。现在,UI 会显示名为 org.rnd.TestFilter 的新筛选器选项卡:
这对您有帮助吗?