Windchill のその他の機能 > 製造プロセス管理 > 製品エクスプローラ (PSE) のカスタマイズ > オブジェクトタイプによる操作の無効化
  
オブジェクトタイプによる操作の無効化
オブジェクトタイプによって PSE の操作を無効にするには、次の手順を実行します。
1. ExplorerStructures.xml ファイルを編集します。
操作を無効にするタイプの <TypeDefinition> エレメントを作成します。たとえば、WTPart の子である org.my.MyTypeAorg.my.MyTypeBorg.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 が返ります。たとえば、前述の 3 タイプの場合は、次のようにバリデータを定義します。
<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 ファイルを編集します。
指定したタイプを無効にする操作の <バリデータ入力> エレメントを追加します。
<ActionDefinition id="ptc.wnc.exp.EditCommonAttrsAction" ... >
...
<ValidatorEntry>
<Import id="com.my.IsNotEqualToTypesABDVAL"/>
</ValidatorEntry>
...
</ActionDefinition>
このコンフィギュレーションは、PSE アプリケーションでタイプ A、B、または D の部品が選択されるたびに、「共通属性を編集」操作を無効にします。
バリデータ isValidTypeValidator
バリデータ isValidTypeValidator は、com.ptc.windchill.explorer.structureexplorer.validators.IsValidTypeValidator クラスによって実装されます。特定のタイプ定義セットについて、このバリデータは現在選択されている部品のタイプが aformentioned セットに入っている場合は true を返します。たとえば、このバリデータのインスタンスがタイプ A、B、および D のタイプ定義で定義されている場合、タイプ A、B、または D が選択されるとバリデータは true を返します。C など、その他のタイプの部品が選択された場合は、false を返します。
選択したタイプが A、B、または D の場合に true を返す <ValidatorDefinition> は、次のように定義します。
<ValidatorDefinition id="com.my.IsEqualToOneOfTypesABDVAL"
validatorClass="com.ptc.windchill.explorer.structureexplorer.vali
dators.IsValidTypeValidator">
<Import id="com.my.MyTypeATD"/>
<Import id="com.my.MyTypeBTD"/>
<Import id="com.my.MyTypeDTD"/>
</ValidatorDefinition>
逆に、選択したタイプが A、B、または D の場合に false を返す <ValidatorDefinition> は、次のように定義します (inverted 属性を追加します)。
<ValidatorDefinition id="com.my.IsNotEqualToTypesABDVAL"
validatorClass="com.ptc.windchill.explorer.structureexplorer.vali
dators.IsValidTypeValidator" inverted="true">
<Import id="com.my.MyTypeATD"/>
<Import id="com.my.MyTypeBTD"/>
<Import id="com.my.MyTypeDTD"/>
</ValidatorDefinition>
<Import> エレメントが <TypeDefinition> エレメントを参照します。これは次のように定義します (どのタイプも WTPart の直接の子の場合)。
<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"/>