Boolesche Ausdrücke und Aktionsfilter

Wenn ein Plug-in die Benutzerschnittstelle der Workbench durch eine Aktion ergänzt und hierzu einen der im Menü verfügbaren Erweiterungspunkte verwendet, können die Bedingungen angegeben werden, unter denen der Menüpunkt im Menü sichtbar und/oder aktiviert ist.  Zusätzlich zur Bereitstellung einfacher Aktivierungsbedingungen wie z. B. Auswahlzähler und -klassen können Plug-ins Boolesche Ausdrücke verwenden, um eine Aktion sichtbar oder aktiv zu machen.

Boolesche Ausdrücke

Die Booleschen Ausdrücke können einfache Boolesche Operatoren (NICHT, UND, ODER) sowie vordefinierte Ausdrücke umfassen, die zur Bewertung folgender Bedingungen verwendet werden:

Die folgenden Snippets stellen z. B. Aktivierungsausdrücke dar, die für eine hypothetische Aktion in einem Aktionsset verwendet werden können:

<action id="org.eclipse.examples.actionEnablement.class" 
       label="Red Element" 
            menubarPath="additions" 
       class="org.eclipse.examples.actionEnablement.ObjectTestAction"> 
       <enablement> 
	 <and>
	   <objectClass name="org.eclipse.examples.actionEnablement.TestElement"/> 
           <objectState name="name" value="red"/> 
	 </and>
       </enablement> 
</action> 
<action id="org.eclipse.examples.actionEnablement.property" 
       label="Property" 
            menubarPath="additions" 
       class="org.eclipse.examples.actionEnablement.PropertyTestAction"> 
       <enablement> 
           <systemProperty name="MyTestProperty" value="puppy"/> 
       </enablement> 
</action> 
<action id="org.eclipse.examples.actionEnablement.pluginState" 
       label="Installed" 
            menubarPath="additions" 
       class="org.eclipse.examples.actionEnablement.PluginTestAction"> 
       <enablement> 
           <pluginState id="x.y.z.anotherPlugin" value="installed"/> 
       </enablement> 
</action> 

Detailliertere Beispiele für diese Ausdrücke und eine vollständige Erläuterung zu XML finden Sie in den Referenzinformationen zu den nachstehenden Erweiterungspunkten.

In der folgenden Tabelle werden Erweiterungspunkte aufgelistet, die Aktionen hinzufügen. Darüber hinaus enthält diese Tabelle Informationen zur Verwendung von XML-Befehlsformatattributen und Booleschen Ausdrücken für die Aktivierung.

Name des Erweiterungspunkts

Attribute mit Auswirkungen auf die Aktivierung

Boolesche Ausdrücke

viewActions,

editorActions,

actionSets

enablesFor - Gibt den Auswahlzähler an, den eine Aktion erreichen muss, um als aktiviert identifiziert zu werden.

selection class - Die Klasse, die die ausgewählten Objekte weiter unterteilen oder implementieren müssen, damit die Aktion aktiviert wird.

selection name - Ein Filter mit Platzhalterzeichen, der auf die Objekte in der Auswahl angewendet werden kann.

visibility - Ein Boolescher Ausdruck, der steuert, ob die Menüoption im Menü sichtbar ist.

enablement - Ein Boolescher Ausdruck, der steuert, ob die Menüoption im Menü aktiviert ist.   Die Bedingungen des Attributs enablesFor und der Parameter selection, class und name müssen erfüllt werden, bevor der Aktivierungsausdruck angewendet wird.

popupMenus

(Nur für Objektergänzungen.)

objectClass - Gibt die Klasse an, die die Objekte in der Auswahl weiter unterteilen oder implementieren müssen.

(Für Objekt- und Anzeigefunktionsergänzungen.)

enablesFor - Gibt den Auswahlzähler an, den eine Aktion erreichen muss, um als aktiviert identifiziert zu werden.

selection class - Die Klasse, die die ausgewählten Objekte weiter unterteilen oder implementieren müssen, um eine Aktion zu aktivieren.

selection name - Ein Filter mit Platzhalterzeichen, der auf die Objekte in der Auswahl angewendet werden kann.

 

(Für Objekt- und Anzeigefunktionsergänzungen.)

visibility - Ein Boolescher Ausdruck, der steuert, ob die Menüoption im Menü sichtbar ist.

enablement - Ein Boolescher Ausdruck, der steuert, ob die Menüoption im Menü aktiviert ist.   Die Bedingungen des Attributs enablesFor und der Parameter selection, class und name müssen erfüllt werden, bevor der Aktivierungsausdruck angewendet wird.

Copyright IBM Corporation und Andere 2000, 2003.