객체 유형별로 작업을 사용 불가능으로 설정
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 속성 값은 위에 나열된 클래스여야 하고 inverted 속성은 "true"로 설정해야 합니다.
|
3. ExplorerActions.xml 파일을 편집합니다.
지정한 유형에 대해 사용 불가능으로 설정할 작업에 <ValidatorEntry> 요소를 추가합니다.
<ActionDefinition id="ptc.wnc.exp.EditCommonAttrsAction" ... >
...
<ValidatorEntry>
<Import id="com.my.IsNotEqualToTypesABDVAL"/>
</ValidatorEntry>
...
</ActionDefinition>
이 구성은 A, B 또는 D 유형의 부품을 선택할 때마다 PSE 응용 프로그램에서 공통 속성 편집 작업을 사용 불가능으로 설정합니다.
isValidTypeValidator 검증자
isValidTypeValidator 검증자는 com.ptc.windchill.explorer.structureexplorer.validators.IsValidTypeValidator 클래스로 구현됩니다. 지정된 유형 정의 세트에 대해 이 검증자는 현재 선택된 부품이 앞에 언급된 세트에 있으면 '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"/>