Työympäristön mukautus

Mukautetun työympäristön toiminnan "sisääntulokohta" on luokan WorkbenchAdvisor määritys työympäristön kokoonpanon määritystä varten. RCP-lisäosan tulee laajentaa kyseinen abstrakti luokka toimittamaan sovelluskohtaiset kokoonpanot työympäristölle. Selaimen esimerkkiohjelma tekee tämän käyttämällä BrowserAdvisor-luokkaa.

	...
			int code = PlatformUI.createAndRunWorkbench(display,
					new BrowserAdvisor());
	...

Työympäristön neuvontatoiminto (Workbench advisor) vastaa metodien ohituksesta, jotta työympäristön kokoonpanoon voidaan määrittää halutut asettelut ja ominaisuudet kuten toimintopalkin alkiot tai esittelysivu.

Työympäristön elinkaari

Työympäristön neuvontatoiminnon toimittamilla elinkaarimetodeilla sovellus voi kiinnittyä työympäristön luontiin missä vaiheessa tahansa ja vaikuttaa työympäristön toimintaan. Seuraava luettelo neuvontatoiminnon elinkaarimetodeista, jotka voi ohittaa, on aiheen WorkbenchAdvisor javadoc-dokumentaatiossa.

RCP-sovellus voi siis ohjata monia työympäristön kokoonpanon määritykseen ja toteutukseen liittyviä asetuksia. Selaimen esimerkkiohjelmassa BrowserAdvisor-luokan ensisijainen tehtävä on määrittää toimintopalkkien kokoonpanoon selaimelle sopivat valikon vaihtoehdot. Tämä suoritetaan fillActionBars-metodilla:

	public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
		...
		BrowserActionBuilder builder = new BrowserActionBuilder(window);
		getWorkbenchConfigurer().getWindowConfigurer(window).setData(BUILDER_KEY, builder); 
		builder.fillActionBars(configurer, flags);
	}

Kyseisessä metodissa työympäristön kokoonpano määritetään erikoistuneella toimintojen koontitoiminnolla, jota käytetään työympäristön toimintopalkkien täyttöön. Lisätietoja toimintojen määrityksestä on ohjeaiheessa Toimintojen määritys. Toistaiseksi keskitymme työympäristön kokoonpanon määritykseen.

Huomaa getWorkbenchConfigurer()-metodin käyttö yllä. Rajapintoja IWorkbenchConfigurer ja IWorkbenchWindowConfigurer käytetään luokan WorkbenchAdvisor kanssa ikkunan mukautukseen. Kyseisten luokkien avulla voit ohittaa useita työympäristön luontiin liittyviä vaiheita monilla eri tasoilla. Esimerkiksi rajapinta IWorkbenchWindowConfigurer määrittää käytännön, joka olettaa työympäristön ikkunassa olevan tietynlaisen ohjauskokoonpanon kuten toimintopalkin, tilarivin, perspektiivipalkin, CoolBar-palkin jne. Kyseisen käytännön avulla voit mukauttaa ja täyttää nämä alkiot. Rajapinta IWorkbenchConfigurer toimii ylemmällä tasolla, ja sen avulla voit säilyttää sovelluskohtaisia tietoja työympäristössä. Luokka WorkbenchAdvisor mahdollistaa näiden kokoonpanon määritystoimintojen käytön yllä mainituissa elinkaarimetodeissa. Alemman tason metodit WorkbenchAdvisor-luokan sisällä voidaan ohittaa, jos oletustoiminta halutaan korvata täysin. Työympäristön neuvontatoiminto voi esimerkiksi ohittaa metodin, joka luo ikkunaan SWT-ohjausobjektit, ja toimittaa näin täysin erilaisen pääikkunan toteutuksen.

Toisin sanoen työympäristön mukautukseen on useita tapoja ja monia eri tasoja, ja kyseisiä toimintatapoja voi käyttää monilla eri tasoilla. Aiheiden WorkbenchAdvisor, IWorkbenchConfigurer ja IWorkbenchWindowConfigurer javadoc-dokumentaatiossa on täydellinen kuvaus käytettävissä olevasta käytännöstä. Tutustu myös luokan BrowserAdvisor täydelliseen toteutukseen, jos haluat tarkastella vaihtoehtoisia toteutustapoja käsitteleviä kommentteja.