On yleistä, että lisäosat lisäävät toimintoja näkymiin, jotka ovat jo työympäristössä. Tämä tehdään org.eclipse.ui.viewActions-laajennuspisteen avulla. Tämän laajennuspisteen avulla lisäosat voivat lisätä valikon vaihtoehtoja, alivalikoita ja työkalurivin merkintöjä olemassa olevan näkymän paikalliseen avattavaan valikkoon ja paikalliseen työkaluriviin.
Olet ehkä huomannut navigaattorin paikallisessa työkalurivissä olevan objektin, joka tulee käyttöön aina, kun readme-tiedosto valitaan. Tämä objekti näkyy myös navigaattorin paikallisessa avattavassa valikossa. Nämä toiminnot tulevat näkyviin, koska readme-työkalu lisää ne viewActions-laajennuksella.
Vastaava plugin.xml-lisäys on seuraava:
<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>
Näkymälisäys, jolla on yksilöivä tunnus, määritetään. Näkymä, johon toiminto lisätään, määritetään määritteessä targetID. Tässä lisäys tehdään resurssien navigaattorinäkymän valikkoon. Uudelle toiminnolle määritetään nimiö ja valikkopalkin ja työkalurivin paikat. (Tarkempi kuvaus valikoiden ja työkalurivien paikoista on ohjeaiheessa Valikko- ja työkalurivipolut).
Lisäksi määritetään ehdot, joiden mukaan toiminto tulee ottaa käyttöön. Tässä esimerkissä toiminto otetaan käyttöön, kun on yksi valinta (enablesFor="1"), jonka laji on IFile (class="org.eclipse.core.resources.IFile"), jonka nimi on ".readme" tiedoston tunnisteessa (name="*.readme"). Juuri näin käykin, kun napsauttelet resurssien navigaattorinäkymässä.
Tiedoston plugin.xml tiedot ovat kaikki, mitä tarvitaan objektien lisäämiseen valikoihin ja työkaluriveihin, sillä lisäosan koodi ajetaan vain, kun toiminto valitaan valikosta tai työkalurivistä. Toiminnon toiminnan tuottamista varten tiedostossa plugin.xml määritetyn toteutusluokan on toteutettava IViewActionDelegate-rajapinta.
Tässä esimerkissä readme-lisäosa toimittaa ViewActionDelegate-luokan toiminnon toteuttamista varten. Jos selaat tätä luokkaa, huomaat, että se sisältää metodeja sen näkymän muistamista, valintojen muutoksien käsittelyä ja sen toiminnon kutsumista varten. Kun toiminto kutsutaan, se avaa valintaikkunan, joka kertoo sen ajosta.
public void run(org.eclipse.jface.action.IAction action) { MessageDialog.openInformation(view.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("View_Action_executed")); }
Vaikka tämä toiminto on yksinkertainen, on helppoa kuvitella, miten valintojen käyttö ja monitoimisemmat valintaikkunat voivat saada tämän toiminnon tekemään jotain kiinnostavampaa.