Toimintoluokkien avulla voit määrittää käyttäjäkomentoja itsenäisesti suhteessa niiden esitykseen käyttöliittymässä. Näin voit muuttaa joustavasti lisäosien toimintojen esityksiä muuttamatta koodia, joka varsinaisesti suorittaa valitun komennon. Lisäysluokkia käytetään komentoja kuvaavien todellisten käyttöliittymän osien hallintaan. Lisäysluokkia ei itse ohjelmoida, mutta niitä tapaa joissakin työympäristön osissa ja JFace-sovellusohjelmaliittymässä.
Toiminto (IAction) edustaa komentoa, jonka peruskäyttäjä voi aloittaa. Tavallisesti toimintoja yhdistetään painikkeisiin, valikon vaihtoehtoihin ja työkalurivien vaihtoehtoihin.
Vaikka toiminnot eivät sijoitu käyttöliittymään, niillä on käyttöliittymään liittyviä ominaisuuksia kuten työkaluvihjeen teksti, nimiön teksti ja kuva. Näin muut luokat voivat muodostaa toiminnon esitykselle widget-objekteja.
Kun käyttäjä aloittaa toiminnon käyttöliittymässä, toiminnon ajometodi kutsutaan, ja se tekee varsinaisen työn. Yleinen ajometodin toimintamalli on tehdä kysely työympäristön valinnoista ja käsitellä valittuja objekteja. Toinen yleinen toimintamalli on aloittaa ohjattu toiminto tai avata valintaikkuna, kun toiminto valitaan.
Rajapintaa IAction ei tule toteuttaa suoraan. Sen sijaan luokalle Action tulee määrittää aliluokat. Selaamalla kyseisen luokan aliluokkia voit tutustua useisiin toimintojen yleisiin toimintamalleihin. Seuraava koodi toteuttaa "About"-toiminnon. Se on työympäristön yksinkertaisimpia toimintoja.
public void run() { new AboutDialog(workbenchWindow.getShell()).open(); }
Tutustuimme aiemmin työympäristön rajapintoihin IViewActionDelegate ja IEditorActionDelegate. Kyseisiä rajapintoja käytetään, kun näkymä- tai muokkausohjelmatoimintoja lisätään työympäristöön. Työympäristön toimintodelegaatit alustetaan viittauksella niihin liitettyyn näkymään tai muokkausohjelmaan. Näiden tietojen avulla ne voivat siirtyä työympäristön sivulle tai ikkunaan ja päästä käsiksi valintoihin tai muihin toiminnon suorittamiseen tarvittaviin tietoihin.
Omia toimintoluokkia toteutetaan aina, kun halutaan määrittää komento omaan lisäosaan. Jos lisätään toimintoja muihin näkymiin ja muokkausohjelmiin, toteutetaan toimintodelegaatteja.
Lisäysalkio (IContributionItem) edustaa toiminnon käyttöliittymän puoleista osaa. Tarkemmin ilmaistuna se edustaa alkiota, joka on lisätty yhteiskäyttöön määritettyyn käyttöliittymän resurssiin kuten valikkopalkkiin tai työkaluriviin.
Lisäysalkiot osaavat täyttää tietyn SWT-toiminnon oikealla SWT-alkiolla, joka edustaa lisäystä.
Sinun ei tarvitse huolehtia lisäysalkion luomisesta, kun lisäät toimintoja työympäristön käyttöliittymään. Tämä tehdään puolestasi, kun työympäristö luo käyttöliittymän osia määrittämillesi toiminnoille.
Lisäysten hallintaohjelma (IContributionManager) edustaa kokoelmaa lisäysalkioita, jotka esitetään käyttöliittymässä. Voit lisätä ja upottaa lisäysalkioita käyttämällä nimettyjä lisäystunnuksia alkioiden järjestämiseen asiaankuuluvaan järjestykseen. Voit myös etsiä alkioita tunnuksen perusteella ja poistaa yksittäisiä alkioita.
Jokainen lisäysten hallintaohjelman IContributionManager toteutus osaa täyttää tietyn SWT-toiminnon sille kuuluvilla alkioilla. JFace sisältää lisäysten hallintaohjelmia valikoille (IMenuManager), työkaluriveille (IToolBarManager) ja tilariveille (IStatusLineManager).
Lisäosakehittäjän ei tarvitse toteuttaa kyseisiä rajapintoja, mutta viittauksia kyseisiin hallintaohjelmiin tapaa sovellusrajapinnan metodeissa.