Zusätzliche Funktionen von Windchill > Fertigungsprozess-Management > Produktstruktur-Explorer (PSE) anpassen > Aktionen nach Objekttyp deaktivieren
  
Aktionen nach Objekttyp deaktivieren
Um eine Aktion in PSE nach Objekttyp zu deaktivieren, folgen Sie diesen Anweisungen:
1. Bearbeiten Sie die Datei ExplorerStructures.xml.
Erstellen Sie ein <TypeDefinition>-Element für die Typen, für die Sie die Aktionen deaktivieren möchten. Beispiel: Für die Typen org.my.MyTypeA, org.my.MyTypeB und org.my.MyTypeD, die Kinder von WTPart sind, definieren Sie die folgenden Elemente:
<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. Bearbeiten Sie die Datei ExplorerValidators.xml.
Erstellen Sie ein <ValidatorDefinition>-Element für die Gruppe von Typen, für die Sie Aktionen deaktivieren möchten. Damit wird "false" zurückgegeben, wenn der Typ des ausgewählten Teils mit einem der Typen übereinstimmt, die in der Validatordefinition referenziert werden. Beispiel: Für die drei obigen Typen definieren Sie einen Validator wie folgt:
<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>
* 
Der Wert für das validatorClass-Attribut von ValidatorDefinition muss genau der oben aufgelisteten Klasse entsprechen, und das umgekehrte Attribut muss auf "true" festgelegt werden.
3. Bearbeiten Sie die Datei ExplorerActions.xml.
Fügen Sie ein <ValidatorEntry>-Element zu den Aktionen hinzu, die Sie für die angegebenen Typen deaktivieren möchten.
<ActionDefinition id="ptc.wnc.exp.EditCommonAttrsAction" ... >
...
<ValidatorEntry>
<Import id="com.my.IsNotEqualToTypesABDVAL"/>
</ValidatorEntry>
...
</ActionDefinition>
Mit dieser Konfiguration wird die Aktion "Gemeinsame Attribute bearbeiten" in der PSE-Anwendung deaktiviert, sooft ein Teil des Typs A, B oder D ausgewählt wird.
Validator "isValidTypeValidator"
Der Validator "isValidTypeValidator" wird durch die Klasse "com.ptc.windchill.explorer.structureexplorer.validators.IsValidTypeValidator" implementiert. Für einen bestimmten Satz von Typdefinitionen gibt dieser Validator "true" zurück, wenn sich der Typ des derzeit ausgewählten Teils in diesem Satz befindet. Beispiel: Eine Instanz dieses Validators ist mit Typdefinitionen für die Typen A, B und D definiert. Wenn ein Teil des Typs A, B oder D ausgewählt wird, gibt der Validator "true" zurück. Wenn ein Teil eines anderen Typs, z.B. C, ausgewählt wird, gibt er "false" zurück.
Eine <ValidatorDefinition>, die "true" zurückgibt, wenn der ausgewählte Typ A, B oder D ist, wird wie folgt definiert:
<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>
Umgekehrt wird eine <ValidatorDefinition>, die "false" zurückgibt, wenn der ausgewählte Typ A, B oder D ist, folgendermaßen definiert (beachten Sie den Einschluss des Attributs "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>
Die <Import>-Elemente verweisen auf <TypeDefinition>-Elemente, die wie folgt definiert werden können (wobei angenommen wird, dass jeder Typ ein direktes Kind von WTPart ist):
<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"/>