Láthattuk, hogy a szerkesztők hogyan adják közre saját tevékenységeiket a munkaterület-menükön és eszköztárakon, amikor aktívvá válnak. Az org.eclipse.ui.editorActions kiterjesztési pont segítségével a bedolgozó elemeket adhat hozzá a munkaterület-menükhöz és eszköztárakhoz, ha másik bedolgozó szerkesztője aktívvá válik.
A readme példában a bedolgozó az editorActions kiterjesztési pont segítségével ad hozzá további tevékenységeket a readme szerkesztő által közreadott menühöz. A plugin.xml fájlban lévő definíciónak mostanra ismerősnek kell lennie.
<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>
A nézet tevékenységhez hasonlóan a kiterjesztésnek meg kell adni a szerkesztő targetID azonosítóját, amely tevékenységeket ad közre. A tevékenység maga nagyon hasonlít a nézet tevékenységhez (azonosító, címke, ikon, toolbarPath, ...), azzal a kivétellel, hogy a megadott osztálynak meg kell valósítani az IEditorActionDelegate elemet.
Ne feledje el, hogy a menüsor elérési út nincs megadva ebben a leírónyelvben. A tevékenység megjelenik a munkaterületen, amikor a szerkesztő aktív, de nincs a munkaterület-menüsoron. (Az eszköztár és menü elérési utak leírását a Menü és eszköztár elérési utak rész tartalmazza.)
Ha a szerkesztő aktív, akkor az eszköztáron a tevékenységek mellett megjelenik a szerkesztőtevékenység, amelyet maga a szerkesztő adott közre.
A readme eszköz az EditorActionDelegate elem segítségével valósítja meg a tevékenységet. Ez az osztály nagyon hasonló a korábban látott nézet tevékenység delegáláshoz.
public void run(IAction action) { MessageDialog.openInformation(editor.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("Editor_Action_executed")); }