org.eclipse.ui.editorActions

Det er tidligere beskrevet, hvordan editorer kan bidrage til arbejdsbænkens menuer og værktøjslinje med deres egne funktioner, når de aktiveres. Udvidelsespunktet org.eclipse.ui.editorActions giver en plugin mulighed for at tilføje til arbejdsbænkens menuer og værktøjslinje, når en anden plugins editor aktiveres.

I Readme-eksemplet bruger plugin'en udvidelsespunktet editorActions til at bidrage med flere funktioner til den menu, som Readme-editoren har bidraget med. Definitionen i plugin.xml skulle være bekendt på nuværende tidspunkt.

<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>

På samme måde som en oversigtfunktion skal udvidelsen angive targetID for den editor, som den bidrager med funktioner til. Selve funktionen ligner en oversigtsfunktion meget (id, label, icon, toolbarPath, ...) bortset fra, at den angivne klasse skal implementere IEditorActionDelegate, og en definitionId kan angives for at sammenkæde denne funktion med en kommando, der er angivet af udvidelsen org.eclipse.ui.commands, hvilket er vigtigt for tastbinding. Der er flere oplysninger under Kommandoer.

Bemærk, at der er ikke er angivet en menulinjesti i denne kode. Funktionen vil derfor blive vist på arbejdsbænkens værktøjslinje, når editoren er aktiv, men ikke på arbejdsbænkens menulinje. Der er en beskrivelse af værktøjslinje- og menulinjestier i Menu- og værktøjslinjestier.

Når editoren er aktiv, vises editorfunktionen på værktøjslinjen ved siden af de funktioner, som selve editoren har bidraget med.

Editorfunktionen vises ved siden af de oprindelige editorbidrag på arbejdsbænkens værktøjslinje

Readme-værktøjet stiller EditorActionDelegate til rådighed til at implementere funktionen. Denne klasse minder meget om ViewActionDelegate, som er beskrevet tidligere.

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