Aktionssets

Kennung: org.eclipse.ui.actionSets

Beschreibung: An diesem Erweiterungspunkt können Menüs, Menüoptionen und Symbolleistenschaltflächen zu den gemeinsamen Bereichen im Workbench-Fenster hinzugefügt werden. Diese Ergänzungen werden zusammengefasst als Aktionsset bezeichnet. Ihre Anzeige im Workbench-Fenster ist von den Benutzervorgaben abhängig.

Konfigurationsbefehle:

   <!ELEMENT actionSet (menu)* (action)* (description?)>
   <!ATTLIST actionSet
      id        CDATA #REQUIRED
      label     CDATA #REQUIRED
      visible   (true | false) #IMPLIED
    >
    <!ELEMENT description (#PCDATA)>

   <!ELEMENT menu (separator)+>
   <!ATTLIST menu
      id         CDATA #REQUIRED
      label      CDATA #REQUIRED
      path       CDATA #IMPLIED
   >    <!ELEMENT separator EMPTY>
   <!ATTLIST separator
      name       CDATA #REQUIRED
   >
  • name: Ein Name des Trennzeichens, auf das später im Aktionspfad als letztes Token verwiesen werden kann. Trennzeichen dienen daher als benannte Gruppen, in denen Aktionen und Untermenüs 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
          pulldown          (true | false) #IMPLIED
          class             CDATA #REQUIRED
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > Es ist unbedingt zu beachten, dass die Workbench Menüs nicht im Auftrag von Plug-ins erstellt. Menüpfade müssen daher auf Menüs verweisen, die bereits vorhanden sind.

    Die in der Anfangseinstellung geltenden Aktivierungskriterien für eine Aktionserweiterung werden durch enablesFor und selection definiert. Sobald die Aktionsdelegation jedoch als Exemplar erstellt wurde, kann sie den Aktivierungsstatus einer Aktion direkt mit ihrer Methode selectionChanged steuern.

    Aktions- und Menübezeichnungen können Sonderzeichen enthalten, die mnemonische Zeichen und Direktaufrufzeichen gemäß den folgenden Regeln codieren:

    1. Mnemonische Zeichen werden angegeben, indem ein Et-Zeichen (&) vor ein ausgewähltes Zeichen des übersetzbaren Textes gesetzt wird. Da das Et-Zeichen in XML-Zeichenfolgen nicht zulässig ist, muss die Zeichenentität &amp; verwendet werden.
    2. Optionale Direktaufrufzeichen werden am Ende der Namenszeichenfolge mit dem Zeichen @ angegeben, auf das eine Reihe von Änderungswerten und das eigentliche Direktaufrufzeichen folgen (Beispiel: &amp;Speichern@Strg+S). Änderungswerte können mit dem Zeichen + als Begrenzer verkettet werden (Beispiel. @Strg+Umschalt+S).
    Beispiele:

    Im Folgenden ist ein Beispiel für ein Aktionsset dargestellt (bitte achten Sie insbesondere auf die Verwendung der Unterelemente und Attribute):

        <extension point = "org.eclipse.ui.actionSets">
            <actionSet id="com.xyz.actionSet"
                label="My Actions"
                visible="true">
                <menu id="com.xyz.xyzMenu"
                    label="XYZ Menu"
                    path="additions">
                    <separator name="group1"/>
                </menu>
                <action id="com.xyz.runXYZ"
                    label="&amp;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>
            </actionSet>
        </extension>

    Im oben dargestellten Beispiel ist die angegebene Aktion namens "My Actions" in der Anfangseinstellung jeder Perspektive sichtbar. Sie wird nur bei Auswahl eines einzelnen Elements aktiviert (Attribut enablesFor). Außerdem müssen Objekte in der Auswahl die angegebene Schnittstelle (IFile) implementieren und eine Java-Datei sein.

    API-Informationen: Der Wert des Attributs class muss der vollständig qualifizierte Name einer Klasse sein, die org.eclipse.ui.IWorkbenchWindowActionDelegate oder org.eclipse.ui.IWorkbenchWindowPulldownDelegate implementiert. Letztes sollte in Fällen implementiert sein, in denen das Attribut pulldown auf den Wert "true" gesetzt ist. Diese Klasse wird so spät wie möglich geladen, um ein Laden des Plug-ins zu verhindern, bevor es wirklich benötigt wird.

    Bereitgestellte Implementierung: Plug-ins können an diesem Erweiterungspunkt neue Menüs der höchsten Ebene (z. B. "Debug") bereitstellen. Plug-ins können außerdem benannte Gruppen definieren, in denen andere Plug-ins ihre Aktionen ergänzen können.

    Menüs der höchsten Ebene werden durch Verwendung der folgenden Werte im Attribut path erstellt:

    Wenn das Attribut path übergangen wird, wird das neue Menü in der Menüleistengruppe additions hinzugefügt.

    Die Standardgruppen in einem Workbench-Fenster sind in der Schnittstelle "IWorkbenchActionConstants" definiert. Diese Konstanten können im Code zur dynamischen Ergänzung eingesetzt werden. Die Werte können aber auch in eine XML-Datei kopiert und weiter auf die vorhandenen Workbench-Menüs und -Symbolleisten abgestimmt werden.

    Verschiedene Menü- und Symbolleistenoptionen im Workbench-Fenster werden über Algorithmen definiert. In solchen Fällen muss ein separater Mechanismus verwendet werden, um das Fenster zu erweitern. Das Hinzufügen einer neuen Workbench-Sicht führt beispielsweise dazu, dass das Menü "Perspektive" eine neue Option enthält. Erweiterungen für Import- und Exportassistenten sowie für Assistenten für neue Ressourcen werden ebenfalls automatisch zum Fenster hinzugefügt.
     

    Copyright IBM Corp. 2000, 2001. Alle Rechte vorbehalten.