org.eclipse.ui.editorActions

Sie haben bereits erfahren, wie Editoren eigene Aktionen zu den Workbench-Menüs und der Symbolleiste hinzufügen können, wenn sie aktiv werden. Über den Erweiterungspunkt org.eclipse.ui.editorActions kann ein Plug-in Elemente zu den Menüs und der Symbolleiste der Workbench hinzufügen, wenn der Editor eines anderen Plug-ins aktiviert wird.

Im Beispiel für Readme-Dateien verwendet das Plug-in den Erweiterungspunkt editorActions, um das durch den Editor für Readme-Dateien bereitgestellte Menü durch zusätzliche Aktionen zu ergänzen. Die Definition der Datei plugin.xml ist Ihnen mittlerweile vertraut.

<extension
    point = "org.eclipse.ui.editorActions">
      <editorContribution 
         id="org.eclipse.ui.examples.readmetool.ec1" 
         targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor">        
	   <action id="org.eclipse.ui.examples.readmetool.ea1" 
              label="%Editors.Action.label" 
	      toolbarPath="ReadmeEditor" 
              icon="icons/obj16/editor.png" 
              tooltip="%Editors.Action.tooltip" 
              class="org.eclipse.ui.examples.readmetool.EditorActionDelegate" 
              /> 
      </editorContribution>
 </extension>

Ähnlich wie die Aktion für eine Sicht muss die Erweiterung den Parameter targetID (Ziel-ID) für den Editor angeben, der durch die Aktionen ergänzt werden soll. Die eigentliche Aktion hat große Ähnlichkeit mit der Aktion für eine Sicht (Parameter id, label, icon, toolbarPath, etc.).Es gilt jedoch die Ausnahme, dass die angegebene Klasse die Schnittstelle IEditorActionDelegate implementieren muss.  

Bitte beachten Sie, dass in diesem Befehlsformat kein Pfad für die Menüleiste angegeben ist. Dies bedeutet, dass die Aktion in der Symbolleiste der Workbench angezeigt wird, wenn der Editor aktiv ist, aber nicht in der Menüleiste der Workbench. (Eine Erläuterung zu Pfaden für Symbolleisten und Menüs finden Sie unter Pfade für Menüs und Symbolleisten.)

Wenn der Editor aktiv ist, wird die Editoraktion in der Symbolleiste neben den Aktionen angezeigt, die durch den Editor selbst hinzugefügt wurden.

Editoraktion erscheint neben den original Editorergänzungen in dem Symbolleiste der Workbench

Das Tool für Readme-Dateien stellt die Klasse EditorActionDelegate zur Verfügung, um die Aktion zu implementieren. Diese Klasse weist große Ähnlichkeiten mit der bereits erläuterten Delegierung von Aktionssichten auf.

public void run(IAction action) {
	MessageDialog.openInformation(editor.getSite().getShell(),
		MessageUtil.getString("Readme_Editor"),  
		MessageUtil.getString("Editor_Action_executed")); 
}