Anpassa arbetsmiljön

När du ska tillhandahålla anpassat arbetsmiljöbeteende börjar du med att ange en WorkbenchAdvisor för konfiguration av arbetsmiljön. Ditt Rich Client-insticksprogram ska utöka denna abstrakta klass till att tillhandahålla den tillämpningsspecifika konfigurationen för arbetsmiljön. I exemplet med webbläsaren görs detta med klassen BrowserAdvisor.

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

En arbetsmiljörådgivare ansvarar för att åsidosätta metoder för konfiguration av arbetsmiljön med dess önskade layout och funktioner, t.ex. åtgärdsfältets objekt eller en introduktionssida.

Arbetsmiljöns livscykel

De livscykelmetoder som tillhandahålls av arbetsmiljörådgivaren gör det möjligt för tillämpningen att när som helst ansluta till arbetsmiljöns skapande och påverka beteendet. Följande lista med livscykelmetoder för rådgivare kan åsidosättas och kommer från Javadoc förWorkbenchAdvisor.

Som du kan se har en Rich Client-tillämpningen en hel del kontroll över hur arbetsmiljön konfigureras och implementeras. I exemplet med webbläsaren är den primära funktionen för BrowserAdvisor att konfigurera åtgärdsfälten med menyalternativ som är lämpliga för en webbläsare. Detta görs 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 den här metoden konfigureras arbetsmiljön med en specialiserad åtgärdsbyggfunktion. Denna åtgärdsbyggfunktion används till att fylla arbetsmiljöns åtgärdsfält. Vi tar en titt på detaljerna för hur åtgärderna anges i Definiera åtgärderna. För tillfället fokuserar vi på hur vi konfigurerar arbetsmiljön.

Lägg märke till användningen av metoden getWorkbenchConfigurer(). IWorkbenchConfigurer och IWorkbenchWindowConfigurer används i samband med WorkbenchAdvisor till att anpassa fönstret. .Dessa klasser gör det möjligt för dig att åsidosätta många aspekter av arbetsmiljöns skapande på olika nivåer. Ett exempel:the IWorkbenchWindowConfigurer definierar protokoll som antar en viss konfiguration av kontroller i arbetsmiljöfönstret, t.ex. ett åtgärdsfält, en statusrad, ett perspektivfält, ett verktygsfält. Protokollet gör det möjligt för dig att anpassa och befolka dessa objekt. IWorkbenchConfigurer fungerar på en högre nivå, vilket gör det möjligt för dig att lagra tillämpningsspecifika data med arbetsmiljön. WorkbenchAdvisor tillhandahåller åtkomst till dessa konfigurera i de livscykelmetoder som anges ovan. Metoder på lägre nivå inuti WorkbenchAdvisor kan åsidosättas till att helt ersätta standardbeteende. Ett exempel: arbetsmiljörådgivaren kan åsidosätta den metod som skapar SWT-kontrollerna i fönstret i syfte att tillhandahålla en fullständig implementation för huvudfönstret.

Med andra ord finns det många sätt att anpassa arbetsmiljön och flera olika nivåer som dessa tekniker kan användas på. Javadoc för WorkbenchAdvisor, IWorkbenchConfigurer och IWorkbenchWindowConfigurer innehåller en fullständig beskrivning av de tillgängliga protokollen. Se även den fullständiga implementationen av BrowserAdvisor för kommentarer av alternativa implementationer.