基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > 一般的な UI のカスタマイズ > プリファレンスフレームワーク > プリファレンスレジストリ
  
プリファレンスレジストリ
プリファレンスレジストリでは、プリファレンスのような暗号化された名前を使用して、それに関するローカライズ済みの一連のデータを提供します。このレジストリは 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 は上述のタグの 1 つ (%[ ]DISPLAY_NAME) です。
プリファレンスの作成
プリファレンスは XML ロードファイルを使用して作成します。プリファレンスを作成するには、以下の情報を決定する必要があります。
一意のプリファレンス名
表示: プリファレンスがプリファレンスマネージャ UI で表示されるかどうかおよび、SITE, ORGANIZATION, CONTAINER または USER のどのコンテキストで表示されるか
プリファレンスカテゴリ: 「プリファレンス管理」ユーティリティで新しいプリファレンスを表示するカテゴリ
表示名: 「プリファレンス管理」ユーティリティの「名前」列 - 文字列の形式: <RBINFO>:< RBINFO key>
説明: 「プリファレンス管理」ユーティリティの「説明」列 - 文字列の形式:
<RBINFO>:<RBINFO key>
長い説明: この説明は、予想される値を含む詳細説明で、編集プリファレンス UI に表示されます。
文字列の形式 <RBINFO>:<RBINFO key>
デフォルト値
値ヘッダー
以下の例では、/com/mycompany/MyNewPreference という名前のプリファレンスを作成するとともに、プリファレンスマネージャ UI に表示する関連プリファレンスカテゴリを作成します。
1. 新しいプリファレンスに使用するラベルのリソースバンドルを作成します。ラベルは、「プリファレンス管理」UI に表示される新しいプリファレンスが所属するプリファレンスカテゴリの表示名と説明に必要です。また、プリファレンスの表示名、説明、長い説明についてもラベルが必要です。パッケージ 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 シェルで以下のコマンドを実行して、リソースバンドルを構築します。
ResourceBuild com.mycompany.pref.mycompanyPreferenceResource
3. サーブレットエンジンおよび 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 を削除します。プリファレンスを削除すると、UI でそのプリファレンスに設定されていたプリファレンスインスタンスも削除されます。
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