org.eclipse.ui.editorActions

U hebt al gezien hoe editors bij activering eigen acties kunnen toevoegen aan de menu's en de werkbalk van de workbench. Door middel van het extensiepunt org.eclipse.ui.editorActions kunt u met plugins items toevoegen aan de menu's en de werkbalk van de workbench zodra de editor van een andere plugin actief wordt.

In het readme-voorbeeld maakt de plugin gebruik van het extensiepunt editorActions voor het toevoegen van aanvullende acties aan het menu dat door de readme-editor is toegevoegd. U bent inmiddels al wel bekend met de definitie in het bestand plugin.xml:

    <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"
              definitionId="org.eclipse.ui.examples.readmetool.ea1"
              /> 
      </editorContribution>
    </extension>

Net zoals bij een viewactie moet voor het extensiepunt het doel-ID (targetID) worden opgegeven van de editor waaraan de acties worden toegevoegd.   De actie zelf lijkt sterk op een viewactie (ID (id), label, pictogram (icon), werkbalkpad (toolbarPath), ...), behalve dat IEditorActionDelegate moet worden geïmplementeerd door de opgegeven klasse en dat er een definitionId kan worden opgegeven om deze actie te koppelen aan een opdracht die is gedefinieerd in de extensie org.eclipse.ui.commands, wat van belang is voor de toetskoppeling. Zie Opdrachten.

Merk op dat deze markup geen verwijzing naar het pad van een menubalk bevat. De actie verschijnt dan ook alleen in de werkbalk van de workbench en niet in de menubalk. (Raadpleeg Paden van menu's en werkbalken voor meer informatie.)

Wanneer de editor actief is, treft u de editoractie op de werkbalk aan naast de acties die door de editor zelf zijn toegevoegd.

Editoractie verschijnt naast oorspronkelijke editoracties op workbenchtoolbalk

Door de readme-tool wordt EditorActionDelegate verstrekt voor de implementatie van de actie. Deze klasse is zeer vergelijkbaar met de eerder besproken viewactiegedelegeerde.

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