Typowe zadanie modułów dodatkowych to wnoszenie zachowań do widoków, które już istnieją w środowisku roboczym. Zadanie to jest realizowane za pośrednictwem punktu rozszerzenia org.eclipse.ui.viewActions. Ten punkt rozszerzenia pozwala modułom dodatkowym wnosić opcje menu, podmenu i pozycje paska narzędzi do lokalnego menu rozwijanego i lokalnego paska narzędzi istniejącego widoku.
Na lokalnym pasku narzędzi nawigatora można zauważyć element, który staje się aktywny po zaznaczeniu pliku readme. Element ten jest także wyświetlany w lokalnym menu rozwijanym nawigatora. Akcje te są widoczne, ponieważ wnosi je moduł dodatkowy narzędzia readme, używając rozszerzenia viewActions.
Odpowiedni fragment pliku plugin.xml elementu wnoszonego przedstawiono poniżej.
<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>
W powyższym fragmencie określono element wnoszony dla widoku o unikalnym identyfikatorze. Widok, do którego akcja jest dodawana, jest określony atrybutem targetID. W tym przypadku akcja jest wnoszona do menu nawigatora zasobów. Dla nowej akcji określono etykietę oraz położenia na pasku menu i na pasku narzędzi. Pełne omówienie położeń w menu i na pasku narzędzi zawiera temat Ścieżki menu i pasków narzędzi.
Określono także warunki, po spełnieniu których akcja powinna zostać włączona. Stanie się to po wybraniu jednego (enablesFor="1") pliku typu IFile (class="org.eclipse.core.resources.IFile"), którego nazwa ma rozszerzenie ".readme" (name="*.readme"). Tak będzie to działać podczas klikania plików w nawigatorze zasobów.
Informacje w pliku plugin.xml to wszystko, co jest potrzebne do dodawania opcji do menu i pasków narzędzi, ponieważ kod modułu dodatkowego będzie uruchamiany dopiero po wybraniu akcji z menu lub paska narzędzi. W celu udostępnienia zachowania akcji klasa implementacji określona w pliku plugin.xml musi implementować interfejs IViewActionDelegate.
W tym przykładzie moduł dodatkowy narzędzia readme dostarcza klasę ViewActionDelegate w celu zaimplementowania tej akcji. Podczas przeglądania tej klasy można zauważyć, że zawiera ona metody zapamiętywania swojego widoku, obsługi zmiany zaznaczenia oraz wywoływania swojej akcji. Po wywołaniu akcja otwiera okno dialogowe z informacją, że została wykonana.
public void run(org.eclipse.jface.action.IAction action) { MessageDialog.openInformation(view.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("View_Action_executed")); }
Chociaż ta akcja jest bardzo prosta, można sobie wyobrazić, o ile bardziej interesujące rzeczy mogłaby ona wykonywać, gdyby użyte zostały wybory i bardziej rozbudowane okna dialogowe.