org.eclipse.ui.editorActions

È stato appena illustrato come gli editor possono offrire proprie azioni ai menu e alla barra degli strumenti del workbench quando sono attivi.  Il punto di estensione org.eclipse.ui.editorActions consente di aggiungere un plug-in ai menu e alla barra degli strumenti del workbench quando diventa attivo l'editor di un altro plug-in.

Nell'esempio dello strumento readme, il plug-in utilizza il punto di estensione editorActions per contribuire con azioni aggiuntive al menu fornito dall'editor di readme. La definizione in plugin.xml dovrebbe ormai risultare abbastanza familiare.

<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="&amp;Readme Editor Extension"
                    toolbarPath="ReadmeEditor" 
                    icon="icons/basic/obj16/editor.gif" 
                    tooltip="Run Readme Editor Extension"
                    class="org.eclipse.ui.examples.readmetool.EditorActionDelegate" 
                    /> 
        </editorContribution>
</extension>

L'estensione, al pari di un'azione di visualizzazione, deve specificare il targetID dell'editor al quale sta fornendo azioni.  La stessa azione risulta molto simile ad un'azione di visualizzazione (id, label e toolbarPath), se non per il fatto che la classe specificata deve implementare IEditorActionDelegate.  

Si osservi che in questo tag non è specificato alcun percorso per la barra dei menu.  Per questo, l'azione, quando l'editor è attivo, viene visualizzata nella barra degli strumenti ma non in quella dei menu del workbench.  Per la trattazione dei percorsi di menu e barra degli strumenti, consultare Percorsi di menu e barre degli strumenti.

Quando l'editor è attivo, l'azione dell'editor viene visualizzata sulla barra degli strumenti accanto alle azioni fornite dall'editor stesso.

Lo strumento readme fornisce EditorActionDelegate per implementare l'azione , in maniera simile all'azione di visualizzazione illustrata in precedenza.

public void run(IAction action) {
    MessageDialog.openInformation(editor.getSite().getShell(),
        "Readme Editor", 
        "Editor Action executed");
}