Moduly plug-in běžně přispívají chováním do stávajících pohledů pracovní plochy. Používají přitom bod rozšíření org.eclipse.ui.viewActions. Tento bod rozšíření modulům plug-in umožňuje přispívat položkami nabídek, dílčími nabídkami a položkami panelu nástrojů do lokální rozevírací nabídky a do lokálního panelu nástrojů stávajícího pohledu.
Pravděpodobně jste si povšimli položky na lokálním panelu navigátoru, který se aktivuje vždy při volbě souboru README. Tato položka se zobrazuje rovněž v lokální rozevírací nabídce navigátoru. Tyto akce se zobrazují, protože modul plug-in nástroje README jimi přispívá pomocí rozšíření viewActions.
Následuje příslušný příspěvek v souboru plugin.xml.
<extension point = "org.eclipse.ui.viewActions"> <viewContribution id="org.eclipse.ui.examples.readmetool.vc1" targetID="org.eclipse.ui.views.ResourceNavigator"> <action id="org.eclipse.ui.examples.readmetool.va1" label="%PopupMenu.ResourceNav.label" menubarPath="additions" toolbarPath="additions" icon="icons/obj16/editor.png" tooltip="%PopupMenu.ResourceNav.tooltip" helpContextId="org.eclipse.ui.examples.readmetool.view_action_context" class="org.eclipse.ui.examples.readmetool.ViewActionDelegate" enablesFor="1"> <selection class="org.eclipse.core.resources.IFile" name="*.readme"/> </action> </viewContribution> </extension>
Zadán je příspěvek do pohledu s jedinečným ID. Cílový pohled, do kterého přidáváme akci, je určen v identifikátoru targetID. Přispíváme o nabídky navigátoru prostředků. Pro novou akci zadáváme štítek a umístění pruhu nabídky a panelu nástrojů. (Kompletní výklad umístění nabídky a panelu nástrojů viz Cesty nabídky a panelu nástrojů).
Rovněž zadáváme podmínky zpřístupněné akce. Je patrné, že tato akce bude zpřístupněna v případě, že je k dispozici volba (enablesFor="1") typu IFile (class="org.eclipse.core.resources.IFile"), jehož název má příponu ".readme" názvu souboru (name="*.readme"). Přesně k tomuto dojde při klepnutí v oblasti navigátoru prostředků.
Informace v souboru plugin.xml postačují k přidávání položek do nabídek a panelu nástrojů, protože kód modulu plug-in se provádí pouze při skutečné volbě akce v nabídce nebo na panelu nástrojů. Podmínkou poskytnutí chování akce je, že implementační třída zadaná v plugin.xml musí implementovat rozhraní IViewActionDelegate.
V tomto příkladu modul plug-in README k implementaci akce poskytuje ViewActionDelegate. Prohlédnete-li si tuto třídu, zjistíte, že obsahuje metody k pamatování svého pohledu, k manipulaci se změnami výběrů a k vyvolání své akce. Při vyvolání samotná akce prostě spustí dialog, který oznámí její provedení.
public void run(org.eclipse.jface.action.IAction action) { MessageDialog.openInformation(view.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("View_Action_executed")); }
Tato akce je sice velmi jednoduchá, avšak předvádí způsob použití voleb a několik funkčních dialogových oken může přinutit tuto akci k zajímavé činnosti.