Menüs, Symbolleisten und Aktionen in Editoren

Kennung: org.eclipse.ui.editorActions

Beschreibung: An diesem Erweiterungspunkt können Aktionen zu den Menü- und Symbolleisten von Editoren hinzugefügt werden, die durch andere Plug-ins definiert werden.

Die anfängliche Ergänzungsgruppe für einen Editor wird durch einen anderen Erweiterungspunkt (org.eclipse.ui.editors) definiert. Ein Aktionsset wird erstellt und von allen Exemplaren desselben Editortyps gemeinsam verwendet. Wenn sie aufgerufen wird, bezieht sich diese Aktion auf den aktiven Editor. Dieser Erweiterungspunkt folgt demselben Muster. Jede Aktionserweiterung wird erstellt und von allen Exemplaren desselben Editortyps gemeinsam benutzt. Die Aktionsklasse muss org.eclipse.ui.IEditorActionDelegate implementieren.  Der aktive Editor wird durch den Aufruf von IEditorActionDelegate#setActiveEditor an die Delegierung übergeben.

Konfigurationsbefehle:

   <!ELEMENT editorContribution (menu | action)*>
   <!ATTLIST editorContribution
      id         CDATA #REQUIRED
      targetID   CDATA #REQUIRED
   >

  • id - Eine eindeutige Kennung, mit der auf diese Ergänzung verwiesen werden kann.
  • editorID: Die eindeutige Kennung eines zuvor registrierten Editors, der das Ziel dieser Ergänzung ist.
  •    <!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 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
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > 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 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 eines Erweiterungspunkts für eine Editoraktion dargestellt:

       <extension point="org.eclipse.ui.editorActions">
          <editorContribution
             id="com.xyz.xyzContribution"
             targetID="com.ibm.XMLEditor">
             <menu id="com.xyz.xyzMenu" label="&amp;XYZ Menu">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  state="true"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ">
             </action>
          </editorContribution>
       </extension>

    In diesem Beispiel wird die angegeben Aktion im Menü durch ein Markierungsfeldelement und in der Symbolleiste durch eine Umschaltfläche dargestellt.

    API-Informationen: Der Wert des Attributs class muss der vollständig qualifizierte Name einer Java-Klasse sein, die org.eclipse.ui.IEditorActionDelegate 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. Die Methode setActiveEditor wird immer dann aufgerufen, wenn ein Editor des angegebenen Typs aktiviert wird. Für alle Exemplare des angegebenen Editortyps wird - ungeachtet der Anzahl von Editorexemplaren, die gegenwärtig in der Workbench geöffnet sind - nur 1 Set mit Aktionen und Menüs erstellt.

    An diesem Erweiterungspunkt können Menüs, die zuvor durch den Zieleditor erstellt wurden, durch Aktionen ergänzt werden. Außerdem kann das Workbench-Fenster durch Aktionen und Menüs ergänzt werden. Die Kennungen für die Aktionen und Hauptgruppen im Workbench-Fenster sind in org.eclipse.ui.IWorkbenchActionConstants definiert. Sie sollten als Verweispunkt für das Hinzufügen neuer Aktionen verwendet werden.  Menüs der höchsten Ebene werden erstellt, indem die folgenden Werte für das Attribut path verwendet werden:

    Aktionen und Menüs, die zu diesen Pfaden hinzugefügt werden, werden nur dann angezeigt, wenn der zugeordnete Editor aktiv ist. Beim Schließen des Editors werden die Menüs und Aktionen entfernt.

    Bereitgestellte Implementierung: Die Workbench stellt einen integrierten Standardtexteditor zur Verfügung. Plug-ins können diesen Standardeditor ergänzen wie auch Editoren, die durch andere Plug-ins bereitgestellt werden.

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