Tilpasse arbeidsbenken

Når du skal oppgi arbeidsbenkfunksjonalitet, begynner du med å angi en WorkbenchAdvisor for konfigurasjon av arbeidsbenken. Plugin-modulen for Rich Client utvider denne abstrakte klassen til å oppgi den applikasjonsspesifikke konfigurasjonen for arbeidsbenken. Nettlesereksempelet gjør dette ved hjelp av BrowserAdvisor-klassen.

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

En arbeidsbenkrådgiver overstyrer metoder for å konfigurere arbeidsbenken med ønsket layout og funksjoner, for eksempel elementene på handlingslinjen eller introduksjonssiden.

Arbeidsbenkens levetid

Levetidsmetodene fra arbeidsbenkrådgiveren gjør det mulig for applikasjonen å når som helst binde seg til opprettelsen av arbeidsbenken og påvirke funksjonaliteten. Følgende liste over levetidsmetoder for rådgiveren kan overstyres og kommer fra Javadoc for WorkbenchAdvisor.

Som du ser har en Rich Client-applikasjon en hel del kontroll over hvordan arbeidsbenken konfigureres og implementeres. I eksempelet med nettleseren har BrowserAdvisor som primær funksjon å konfigurere handlingslinjene med menypunktene som er egnet for en nettleser. Dette gjøres i metoden fillActionBars:

	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);
	}

I denne metoden er arbeidsbenken konfigurert med en spesialhandlingsbygger. Denne handlingsbyggeren brukes til å fylle ut handlingslinjene i arbeidsbenken. Vi skal se nærmere på hvordan handlingene angis i Definere handlingene. Foreløpig konsentrerer vi oss om hvordan vi konfigurerer arbeidsbenken.

Merk deg bruken av metoden getWorkbenchConfigurer() ovenfor. IWorkbenchConfigurer og IWorkbenchWindowConfigurer brukes i forbindelse med WorkbenchAdvisor for å tilpasse vinduet. Med disse klassene kan du overstyre mange deler av arbeidsbenkopprettelsen på ulike nivåer. For eksempel definerer IWorkbenchWindowConfigurer en protokoll som forutsetter en bestemt konfigurasjon av kontroller i arbeidsbenkvinduet, for eksempel en handlingslinje, statuslinje, perspektivlinje, verktøylinje, osv. Protokollen gjør det mulig å tilpasse og fylle ut disse elementene. IWorkbenchConfigurer opererer på et høyere nivå og lar deg lagre applikasjonsspesifikke data med arbeidsbenken. WorkbenchAdvisor gir tilgang til disse konfigurererne gjennom levetidsmetodene som er angitt ovenfor. Metoder på lavere nivåer i WorkbenchAdvisor kan overstyres slik at standardfunksjonaliteten blir fullstendig erstattet. For eksempel kan arbeidsbenkrådgiveren overstyre metoden som oppretter SWT-kontrollene i vinduet, for å oppgi en helt annen implementering for hovedvinduet.

Det er med andre ord mange måter å tilpasse arbeidsbenken på og flere ulike nivåer som disse teknikkene kan brukes på. Javadoc for WorkbenchAdvisor, IWorkbenchConfigurer og IWorkbenchWindowConfigurer inneholder en komplett beskrivelse av den tilgjengelige protokollen. Du finner mer informasjon om alternative implementeringer i den komplette implementeringen av BrowserAdvisor.