Menüs, Symbolleisten und Aktionen in Sichten
Kennung: org.eclipse.ui.viewActions
Beschreibung: An diesem Erweiterungspunkt können
Aktionen zu den Menü- und Symbolleisten von Sichten hinzugefügt
werden, die durch andere Plug-ins definiert werden. Jede Sicht
enthält ein lokales Pull-down-Menü, das normalerweise durch Klicken
auf den rechten oberen Bereich aktiviert wird.
Andere Plug-ins können dieses Menü durch Untermenüs und Aktionen
ergänzen.
Auch die Symbolleiste einer Sicht kann von Plug-ins durch Aktionen
ergänzt werden. Zuerst erhält der Eigner der Sicht die Möglichkeit,
diese Bereiche zu belegen.
Optionale Zusätze durch andere Plug-ins werden angehängt.
Konfigurationsbefehle:
<!ELEMENT viewContribution (menu | action)*>
<!ATTLIST viewContribution
id
CDATA #REQUIRED
targetID CDATA #REQUIRED
>
id - Eine eindeutige Kennung, mit der auf diese Ergänzung
verwiesen werden kann.
targetID: Die eindeutige Kennung der Sicht (wie in der
Registrierung angegeben), die ergänzt werden soll.
<!ELEMENT menu (separator)+>
<!ATTLIST menu
id
CDATA #REQUIRED
label
CDATA #REQUIRED
path
CDATA #IMPLIED
>
-
id - Eine eindeutige Kennung, mit der auf dieses Menü
verwiesen werden kann.
-
label: Eine Textmarke für das neue Menü. Diese Marke sollte
mnemonische Informationen enthalten.
-
path: Die Position des Menüs, die mit dem Pull-down-Menü
beginnt und deren letztes Token die benannte Gruppe darstellt.
Wenn dieses Attribut übergangen wird, wird das Menü am Ende
des Pull-down-Menüs hinzugefügt.
<!ELEMENT separator EMPTY>
<!ATTLIST separator
name
CDATA #REQUIRED
>
name: Der Name des Trennzeichens, auf das später
als letztes Token im Aktionspfad verwiesen werden kann. Trennzeichen
dienen daher als benannte Gruppen, in denen Aktionen
hinzugefügt werden können.
<!ELEMENT action (selection)*>
<!ATTLIST action
id
NMTOKEN #REQUIRED
label
CDATA #REQUIRED
menubarPath
CDATA #IMPLIED
toolbarPath
CDATA #IMPLIED
icon
CDATA #IMPLIED
tooltip
CDATA #IMPLIED
helpContextId
CDATA #IMPLIED
state
(true | false) #IMPLIED
class
CDATA #REQUIRED
enablesFor
CDATA #IMPLIED
>
-
id: Eine eindeutige ID, mit der auf diese Aktion verwiesen
werden kann.
-
label: Ein übersetzbarer Name, der abhängig vom Kontext zu
unterschiedlichen Zwecken eingesetzt wird.
In Menüs wird er als Menütext verwendet. In Symbolleisten dient er
als Beschriftung für die Schaltfläche.
Die Beschriftung kann in JFace codierte mnemonische Informationen
sowie Angaben zum Direktaufruf enthalten (siehe Beispiel).
-
menubarPath: Ein durch Schrägstrich (/) begrenzter Pfad, mit
dem die Position der Aktion im Pull-down-Menü angegeben
wird. Jedes Token im Pfad muss - mit Ausnahme des letzten Tokens -
ein vorhandenes Menü in der Hierarchie darstellen. Das letzte Token
stellt die benannte Trennzeichengruppe dar, in der die Aktion
hinzugefügt wird. Wenn der Pfad übergangen wird, wird die Aktion
nicht im Pull-down-Menü angezeigt.
-
toolbarPath: Eine benannte Gruppe in der lokalen Symbolleiste
der Zielsicht.
Wenn die Gruppe nicht vorhanden ist, wird sie erstellt. Wenn dieses
Attribut übergangen wird, wird die Aktion in der lokalen Symbolleiste
nicht angezeigt.
-
icon: Der relative Pfad eines Symbols, mit dem die Aktion in
ihrem Kontext optisch dargestellt wird. Wenn dieses Attribut
übergangen wird und die Aktion in der lokalen Symbolleiste angezeigt
werden
soll, verwendet die Workbench ein Platzhaltersymbol. Der Pfad ist auf
die Position der Datei "plugin.xml" des Plug-ins bezogen, das die
Ergänzung bereitstellt.
-
state: Ein optionales Attribut, mit dem angegeben wird, dass
die Aktion eine Umschaltaktion sein soll.
Wenn eine solche Aktion zu einem Menü hinzugefügt wird,
manifestiert sie sich selbst mit einem Markierungsfeldelement.
Beim Hinzufügen zu einer Symbolleiste wird sie als
Umschaltfläche dargestellt.
Wenn dieses Attribut definiert ist, wird der Attributwert als
Anfangsstatus (entweder true
oder false) verwendet.
-
tooltip: Wird verwendet, falls die Aktion in der
lokalen Symbolleiste angezeigt werden soll.
Andernfalls wird dieses Attribut ignoriert.
-
helpContextId: Eine eindeutige Kennung, mit der die ID des
Hilfekontextes für diese Aktion angegeben wird.
Wenn die Aktion als Menüoption angezeigt wird und hervorgehoben ist,
wird durch das Drücken der Taste F1 der Hilfetext für die
gegebene Kontext-ID aufgerufen.
-
class: Der Name einer vollständig qualifizierten Klasse,
die org.eclipse.ui.IViewActionDelegate implementiert.
-
enablesFor: Ein Wert für die Auswahlanzahl, die erreicht
werden muss, damit die Aktion aktiviert wird. Wenn dieses Attribut
angegeben ist und die Bedingung erfüllt wird, wird die Aktion
aktiviert. Wird die Bedingung nicht erfüllt, ist die Aktion
inaktiviert. Falls kein Attributwert angegeben wird, wird die Aktion
bei jeder beliebigen Anzahl von ausgewählten Elementen
aktiviert. Das Attribut unterstützt die folgenden Formate:
! - 0 ausgewählte Elemente
? - 0 oder 1 ausgewählte Elemente
+ - 1 oder mehr ausgewählte Elemente
multiple, 2+ - 2 oder mehr ausgewählte Elemente
n - Eine exakte Anzahl von ausgewählten Elementen (z. B.
4)
* - Eine beliebige Anzahl von ausgewählten Elementen
<!ELEMENT selection EMPTY>
<!ATTLIST selection
class
CDATA #REQUIRED
name
CDATA #IMPLIED
>
-
class: Der vollständig qualifizierte Name einer Klasse oder
Schnittstelle, die jedes Objekt in der Auswahl als Unterklasse
enthalten oder implementieren muss, damit die Aktion aktiviert wird.
-
name: Ein Filter mit Platzhalterzeichen, der auf die Objekte
in der Auswahl optional angewendet werden kann. Wenn dieser Filter
angegeben wird und keine Übereinstimmung vorliegt, ist
die Aktion inaktiviert.
Die in der Anfangseinstellung geltenden Aktivierungskriterien für
eine Aktionserweiterung werden durch enablesFor und
selection definiert. Sobald die Aktionsdelegierung jedoch
als Exemplar erstellt wurde, kann sie den Aktivierungsstatus
einer Aktion
direkt in ihrer Methode selectionChanged steuern.
Aktions- und Menübezeichnungen können Sonderzeichen enthalten, die
mnemonische Zeichen und Direktaufrufzeichen gemäß
den folgenden Regeln codieren:
-
Mnemonische Zeichen werden angegeben, indem ein Et-Zeichen (&)
vor das mnemonische Zeichen des übersetzbaren Textes gesetzt wird. Da
das Et-Zeichen in XML-Zeichenfolgen nicht zulässig ist, muss
die Zeichenentität & verwendet werden.
-
Optionale Direktaufrufzeichen werden am Ende der Namenszeichenfolge
mit dem Zeichen @ angegeben, auf das eine Reihe von
Änderungswerten und das eigentliche Direktaufrufzeichen folgen
(Beispiel: &Speichern@Strg+S). Änderungswerte können
mit dem Zeichen + als Begrenzer verkettet werden (Beispiel.
@Strg+Umschalt+S).
Beispiele:
Im Folgenden ist ein Beispiel eines Erweiterungspunkts für
Sichtaktionen dargestellt
(bitte achten Sie insbesondere darauf, wie Unterelemente und
Attribute verwendet werden):
<extension point="org.eclipse.ui.viewActions">
<viewContribution
id="com.xyz.xyzViewC1"
targetID="org.eclipse.ui.views.navigator.ResourceNavigator">
<menu id="com.xyz.xyzMenu"
label="XYZ Menu"
path="additions">
<separator name="group1"/>
</menu>
<action id="com.xyz.runXYZ"
label="&Run XYZ Tool"
menubarPath="com.xyz.xyzMenu/group1"
toolbarPath="Normal/XYZ"
icon="icons/runXYZ.gif"
tooltip="Run XYZ Tool"
helpContextId="com.xyz.run_action_context"
class="com.xyz.actions.RunXYZ"
enablesFor="1"/>
<selection class="org.eclipse.core.resources.IFile" name="*.java">
</action>
</viewContribution>
</extension>
Im oben dargestellten Beispiel wird die angegebene Aktion nur bei
einer Einzelauswahl aktiviert (Attribut enablesFor).
Außerdem muss jedes Objekt in dieser Auswahl die angegebene
Schnittstelle (IFile) implementieren und eine Java-Datei
sein. Es können mehrere Elemente selection angegeben werden.
Dann muss eine der Angaben vorliegen.
API-Informationen: Der Wert des Attributs
class muss der vollständig qualifizierte Name einer
Java-Klasse sein,
die org.eclipse.ui.IViewActionDelegate implementiert.
Diese Schnittstelle wird so spät wie möglich geladen, um ein Laden
des Plug-ins zu verhindern, bevor es wirklich benötigt wird. Sie
erweitert org.eclipse.ui.IActionDelegate
und fügt eine zusätzliche Methode hinzu, mit deren Hilfe die
Delegierung mit dem Exemplar der Sicht initialisiert werden kann,
für die Ergänzungen bereitgestellt werden.
Bereitgestellte Implementierung: Jede Sicht enthält
bei Auslieferung eine Reihe von Standardoptionen im Pull-down-Menü
und der lokalen Symbolleiste.
Zusätze aus anderen Plug-ins werden an die Standardelemente
angehängt. Es ist hilfreich, die Aktionskennungen für eine Sicht in
einer öffentlichen Schnittstelle zu publizieren.
Die Aktionen und Hauptgruppen für das Workbench-Fenster
sind beispielweise in
der Schnittstelle "org.eclipse.ui.IWorkbenchActionConstants"
definiert.