首选项注册表
首选项注册表是采用隐藏的名称 (如首选项) 并为其提供一系列本地化数据的方式。此注册表格式为 rbInfo 文件。任何用户向系统添加首选项时都可以选择将此本地化信息添加到首选项注册表中。
将首选项添加到首选项注册表
要将首选项添加到首选项注册表中,您需要编辑文件 <Windchill>src\wt\prefs\registry\prefRegistry.rbInfo 和要添加的首选项,至少添加:
DISPLAY_NAME
DESCRIPTION
DEFAULT
格式如下:
/node-name/key-name% [ ]tag.value=
其中,/node-name 是节点的名称 (例如 /wt/workflow),/key-name 是节点下键的名称 (SortOrder),% [ ]tag 是上述标记之一 (% [ ]DISPLAY_NAME)。
创建首选项
首选项创建通过 XML 加载文件完成。创建首选项时,需要确定以下信息:
• 唯一首选项名称
• 可见性:首选项是否会出现在首选项管理器 UI 中,以及在哪一上下文中可见:SITE, ORGANIZATION, CONTAINER 还是 USER。
◦ 首选项类别:新首选项将在“首选项管理”实用程序中显示在该类别下。
◦ 显示名称:这是“首选项管理”实用程序中的名称列 - 形式如下的字符串 <RBINFO>:< RBINFO key>
◦ 说明:这是“首选项管理”实用程序中的说明列 - 形式如下的字符串
<RBINFO>:<RBINFO key>
◦ 详细说明:此说明显示在编辑首选项用户界面中,提供了更详细的说明,包括预期值。
▪ 形式如下的字符串 <RBINFO>:<RBINFO key>
• 默认值
• 值标题
在下面的示例中,我们将创建一个名为 /com/mycompany/MyNewPreference 的新首选项以及将显示在首选项管理器用户界面中的关联首选项类别。
1. 针对用于新首选项的标签创建资源束。首选项类别的显示名称和说明需要有标签,其中新首选项会在“首选项管理”用户界面中显示在该首选项类别下。首选项的显示名称、说明和详细说明也需要标签。在包 com.mycompany.pref 中创建文件 mycompanyPreferenceResource.rbInfo。在此示例中,此文件将被添加到 <Windchill>\src\mycompany\pref 目录中。
ResourceInfo.class=wt.tools.resource.StringResourceInfo
ResourceInfo.customizable=true
ResourceInfo.deprecated=false
# Preference Category labels
MyNewPreferenceCategory.displayName.value=My Preference Category
MyNewPreferenceCategory.description.value=Preference Category for my
custom preferences.
# Preference Definition labels
MyNewPreference.displayName.value=Display name of preference /com/my
company/
MyNewPreference
MyNewPreference.description.value=Description of preference /com/myc
ompany/
MyNewPreference.
MyNewPreference.longDescription.value=Long description of preference
/com/mycompany/MyNewPreference.
2. 通过从 Windchill shell 中执行以下命令来构建资源束:
ResourceBuild com.mycompany.pref.mycompanyPreferenceResource
3. 重新启动 servlet 引擎和 MethodServer。
4. 创建首选项加载文件:createMyNewPreference.xml。它将包含新首选项类别和新首选项定义的定义。
<?xml version="1.0"?><!DOCTYPE NmLoader SYSTEM "standardX10.dtd">
<NmLoader>
<csvPreferenceCategory handler="wt.preference.LoadPreference.createPref
erenceCategory">
<csvname>CUSTOM_PREFERENCE_CATEGORY</csvname>
<csvparentName></csvparentName>
<csvdisplayName>
com.mycompany.pref.mycompanyPreferenceResource:
MyNewPreferenceCategory.displayName
</csvdisplayName>
<csvdescription>
com.mycompany.pref.mycompanyPreferenceResource:MyNewPreferenceCategory.
description
</csvdescription>
</csvPreferenceCategory>
<csvPreferenceDefinition handler="wt.preference.LoadPreference.createPref
erence
Definition">
<csvname>/com/mycompany/MyNewPreference</csvname>
<csvvisibility>USER</csvvisibility>
<csvcategoryName>CUSTOM_PREFERENCE_CATEGORY</csvcategoryName>
<csvdisplayName>com.mycompany.pref.mycompanyPreferenceResource:MyNew
Preference.displayName</csvdisplayName>
<csvdescription>com.mycompany.pref.mycompanyPreferenceResource:MyNew
Preference.description</csvdescription>
<csvlongDescription>com.mycompany.pref.mycompanyPreferenceResource:
MyNewPreference.longDescription</csvlongDescription>
<csvdefaultValue>Default Value</csvdefaultValue>
<csvhandler>com.ptc.windchill.enterprise.preference.handler.
StringPreferenceValue
Handler:4000</csvhandler>
</csvPreferenceDefinition>
<csvLinkPreferenceClientDefinition handler="wt.preference.LoadPreference.set
ClientDefinitionLink">
<csvname>/com/mycompany/MyNewPreference</csvname>
<csvclientName>WINDCHILL</csvclientName>
</csvLinkPreferenceClientDefinition>
</NmLoader>
5. 使用以下命令加载首选项类别和首选项定义:
windchill wt.load.LoadFromFile -d <full
path>/createMyNewPreference.xml
删除首选项
删除首选项也是通过使用 XML 加载文件来完成。使用在第 9–20 页上“创建首选项”一节中的示例,我们将删除首选项 /com/mycompany/MyNewPreference。删除首选项也将移除可能在用户界面中为此首选项设置的任何首选项实例。
1. 创建一个 XML 文件,deleteMyNewPreference.xml,其中包含以下用于指定首选项删除的定义。
<?xml version="1.0"?><!DOCTYPE NmLoader SYSTEM
"standardX10.dtd">
<NmLoader>
<csvDeletePreferenceDefinition
handler="wt.preference.LoadPreference.deletePreferenceDefinition">
<csvname>/com/mycompany/MyNewPreference</csvname>
</csvDeletePreferenceDefinition>
</NmLoader>
2. 使用以下命令删除首选项定义:
windchill wt.load.LoadFromFile -d <full
path>/deleteMyNewPreference.xml