Přizpůsobení pracovní plochy

"Vstupním bodem" pro získání vlastního chování pracovní plochy je určení třídy WorkbenchAdvisor pro konfiguraci plochy. Váš modul plug-in klienta rich by měl rozšiřovat tuto abstraktní třídu, aby zajistil konfiguraci pracovní plochy pro příslušnou aplikaci. V příkladu s prohlížečem toho dosáhneme pomocí třídy BrowserAdvisor.

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

Poradce pracovní plochy je odpovědný za to, že metody potlačení konfigurují pracovní plochu na požadované uspořádání a funkce, např. položky řádku s akcemi nebo úvodní stránku.

Životní cyklus pracovní plochy

Metody životního cyklu zajišťované poradcem pracovní plochy umožňují vaší aplikaci zapojit se ve kterémkoli okamžiku do tvorby pracovní plochy a ovlivnit její chování. Následující seznam metod životního cyklu poradce, které lze potlačit, pochází z dokumentace Javadoc pro WorkbenchAdvisor.

Jak vidíte, má aplikace klienta rich značnou kontrolu nad tím, jak je konfigurována a implementována pracovní plocha. V příkladu s prohlížečem je primárním účelem třídy BrowserAdvisor konfigurovat řádky s akcemi pomocí položek nabídky odpovídajících prohlížeči. To se dělá v metodě 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);
	}

V této metodě je pracovní plocha konfigurována pomocí specializovaného tvůrce akcí. Tento tvůrce akcí se používá k vyplnění řádků s akcemi pracovní plochy. Podrobně se na specifikování akcí podíváme v tématu Definování akcí. Nyní se soustředíme na to, jak konfigurovat pracovní plochu.

Všimněte si použití metody getWorkbenchConfigurer() výše. K přizpůsobení okna se používají IWorkbenchConfigurer a IWorkbenchWindowConfigurer, spolu s třídou WorkbenchAdvisor. Tyto třídy vám umožní potlačit mnoho aspektů tvorby pracovní plochy na mnoha úrovních. Například třída IWorkbenchWindowConfigurer definuje protokol, který přebírá určitou konfiguraci obslužných prvků v okně pracovní plochy, např. řádek s akcemi, stavový řádek, pruh perspektivy, pruh cool apod. Její protokol umožňuje přizpůsobit a zaplnit tyto položky. IWorkbenchConfigurer pracuje na vyšší úrovni a umožňuje uložit v pracovní ploše data pro konkrétní aplikaci. WorkbenchAdvisor zajišťuje přístup k těmto konfigurátorům v metodách životního cyklu uvedených výše. Metody nižší úrovně uvnitř třídy WorkbenchAdvisor je možné potlačit, a tak zcela nahradit výchozí chování. Například váš poradce pracovní plochy by mohl potlačit metodu, která v okně vytváří obslužné prvky SWT, aby nabídl zcela jinou implementaci pro hlavní okno.

Jinými slovy, existuje mnoho způsobů, jak přizpůsobit pracovní plochu, a několik různých úrovní, na nichž lze tyto techniky použít. Dokumentace Javadoc pro WorkbenchAdvisor, IWorkbenchConfigurer a IWorkbenchWindowConfigurer obsahuje úplný popis dostupného protokolu. Poznámky k alternativním implementacím naleznete také v kompletní implementaci třídy BrowserAdvisor.