Lisäosa voi lisätä valikoita, valikon vaihtoehtoja ja työkalurivin objekteja työympäristön valikoihin ja työkaluriviin org.eclipse.ui.actionSets-laajennuspisteen avulla. Jotta voitaisiin vähentää tungosta, jonka jokaisen lisäosan valikon lisäyksen näkyminen samaan aikaan aiheuttaisi, lisäykset on jaettu toimintojoukkoihin, jotka voidaan tehdä näkyviksi käyttäjän asetusten mukaan.
Työympäristöön lisätyt toimintojoukot voi tuoda näkyviin valitsemalla
vaihtoehdot
Ikkuna > Mukauta perspektiiviä.... Tämä vaihtoehto tuo näyttöön valintaikkunan, jossa on komentoryhminä esitetty luettelo toimintojoukoista. Komentoryhmän vieressä oleva valintamerkki tarkoittaa, että valikko ja työkalurivin toiminnot näkyvät työympäristössä.
Voit tuoda näytön oikeaan reunaan luettelon käytettävissä olevista valikon ja työkalurivin toiminnoista valitsemalla komentoryhmän nimen. Seuraavasta kuvasta näkyy työympäristössä käytettävissä olevien komentoryhmien luettelo. (Työympäristön näkymä vaihtelee sen mukaan, mitä lisäosia on asennettu ja mikä perspektiivi on aktiivinen.)
Readme-työkalu lisää toimintojoukon avulla useita erilaisia "Avaa Readme-työkalun selain" -toimintoja työympäristön valikkoon. (Resurssien siirtymisnäkymän ponnahdusvalikkoon lisättiin samankaltainen toiminto.) Merkintä on seuraava:
<extension point = "org.eclipse.ui.actionSets"> <actionSet id="org_eclipse_ui_examples_readmetool_actionSet" label="%ActionSet.name" visible="true"> <menu id="org_eclipse_ui_examples_readmetool" label="%ActionSet.menu" path="window/additions"> <separator name="slot1"/> <separator name="slot2"/> <separator name="slot3"/> </menu> <action id="org.eclipse.ui.examples.readmetool.readmeAction" menubarPath="window/org_eclipse_ui_examples_readmetool/slot1" toolbarPath="readme" label="%ReadmeAction.label" tooltip="%ReadmeAction.tooltip" helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context" icon="icons/ctool16/openbrwsr.png" class="org.eclipse.ui.examples.readmetool.WindowActionDelegate" definitionId="org.eclipse.ui.examples.readmetool.readmeAction" enablesFor="1"> <selection class="org.eclipse.core.resources.IFile" name="*.readme"> </selection> </action> ... </actionSet> </extension>
Olipa tässä paljon toimintoja! Katsotaanpa nyt vaihe kerrallaan alkaen ensimmäisestä toiminnosta.
Ensimmäiseksi toimintojoukko esitellään ja sille annetaan nimiö. Nimiötä "ReadMe Actions" (määritetty %ActionSet.name-avaimelle lisäosan ominaisuustiedostossa) käytetään näyttämään toimintojoukko edellä kuvatussa valintaikkunassa. Koska visible-arvoksi on määritetty true, toimintojoukko on työympäristössä aluksi valittuna toimintojoukkoluettelossa, ja toiminnot ovat näkyviä.
Toimintojoukon esittelyn loppu määrittää valikon, jossa toiminnot näkyvät, ja itse toiminnot.
Määritämme valikon, jonka nimiö näkyy työympäristön valikoissa. Valikon polku ilmaisee työympäristölle, että uusi valikko sijoitetaan ikkuna-valikon kohtaan lisäykset. (Lisätietoja valikkopoluista ja -paikoista on ohjeaiheessa Valikko- ja työkalurivipolut.) Lisäksi määritämme joitakin paikkoja uuteen valikkoon, että toimintoja voi lisätä valikon tiettyihin kohtiin.
Tämä merkintä saa yksinään valikon näkymään työympäristön Ikkuna-valikossa.
Seuraavaksi määritetään varsinaiset toiminnot.
Toiminnon määritys (tunnus (id), nimiö (label), kuvake (icon), luokka (class)) on samanlainen kuin muut näkymien, muokkausohjelmien ja ponnahdusikkunoiden yhteydessä nähdyissä toiminnoissa. Tässä keskitytään siihen, mikä on erilaistat: minne toiminto menee? Osoitamme sen sijainnin määritteillä menubarPath ja toolbarPath. Ensin määritetään menubarPath, jolla toiminto lisätään juuri määritettyyn valikon paikkaan ( "window/org_eclipse_ui_examples_readmetool/slot1").
Seuraavaksi määritetään uusi toolbarPath, jolla toiminnot lisätään työympäristön työkaluriviin. Koska uusi työkalun polku "readme" on määritetty, työympäristö päättää, minne se menee suhteessa muihin lisäosan työkalurivilisäyksiin.
Mitä tapahtuu, kun käyttäjä valitsee toiminnon? Toiminnon toteuttaa luokka, joka on määritetty määritteessä class. Toiminnon luokan on toteutettava IWorkbenchWindowActionDelegate tai IWorkbenchWindowPulldownDelegate, jos toiminto näytetään työkalurivin valikkona. Koska tässä ei luoda työkalurivin valikkoa, määritetään WindowActionDelegate-luokka. Tämä luokka on samanlainen kuin ObjectActionDelegate. Se aloittaa readme-osien valintaikkunan, josta käyttäjä valitsee toiminnon. (Osien valintaikkunaa käsitellään ohjeaiheessa Sovellusten valintaikkunat.)
Toiminto toimittaa myös valikkovaihtoehtonsa ja työkaluriviobjektinsa käyttöönottoehdot. Valikon ja työkalurivin objektit otetaan käyttöön vain, kun yksittäinen (enablesFor="1") readme-tiedosto (selectionClass ="org.eclipse.core.resources.IFile" name="*.readme") valitaan. Tämän toiminnon valikko- ja työkaluriviobjekti tulevat näkyviin ja otetaan käyttöön plugin.xml-tiedoston merkintöjen vuoksi. Mitään lisäosan koodia ei ajeta, ennen kuin käyttäjä valitsee toiminnon ja työympäristö ajaa toiminnon luokan.
Toiminto voidaan yhdistää näppäinsidontojen yhteydessä käytettävällä laajennuksella org.eclipse.ui.commands luotuun komentoon definitionId-tunnuksen avulla. Kaikki toimintojoukkojen toiminnot on yhdistettävä johonkin komentoon: joko työympäristön valmiisiin komentoihin tai lisäävän lisäosan avulla luotuihin komentoihin. Lisätietoja on kohdassa Komennot.
Kahta muuta toimintoa tarkastellaan jäljempänä uudelleen kohdennettavien toimintojen yhteydessä.