De workbench aanpassen

Het "ingangspunt" voor het leveren van een aangepast workbenchgedrag is het aanwijzen van een WorkbenchAdvisor voor het configureren van de workbench. Uw Rich Client-plugin breidt deze abstracte klasse uit om de toepassingsspecifieke configuratie voor de workbench te leveren. Dit wordt uitgevoerd door het browservoorbeeld met behulp van de BrowserAdvisor-klasse.

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

Een workbenchadvisor is verantwoordelijk voor het negeren van methoden, zodat de workbench wordt geconfigureerd met de gewenste indeling en features, bijvoorbeeld de items op de actiebalk of de Intropagina.

De levenscyclus van de workbench

De levenscyclusmethoden die worden geleverd door de workbenchadvisor maken het mogelijk voor uw toepassing op elk moment in te haken op het maken van de workbench en het gedrag te beïnvloeden. De volgende lijst met levenscyclusmethoden van de Advisor die kunnen worden genegeerd, is afkomstig van de javadoc voor WorkbenchAdvisor.

Zoals u ziet, heeft een Rich Client-toepassing veel controle over hoe de workbench wordt geconfigureerd en geïmplementeerd. In het browservoorbeeld is de primaire functie van de BrowserAdvisor het configureren van de actiebalken met menuopties die van toepassing zijn op een browser. Dit wordt in de methode fillActionBars uitgevoerd:

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

In deze methode wordt de workbench geconfigureerd met een gespecialiseerde actiebuilder. Deze actiebuilder wordt gebruikt voor het opvullen van de actiebalken van de workbench. In De acties definiëren worden de details over het opgeven van de acties besproken. Hier wordt ingegaan op het configureren van de workbench.

Let op het gebruik van de bovenstaande methode getWorkbenchConfigurer(). De IWorkbenchConfigurer en IWorkbenchWindowConfigurer worden samen met de WorkbenchAdvisor gebruikt voor het aanpassen van het venster. Met deze klassen kunt u vele aspecten van het maken van workbenches negeren op verschillende niveaus. De IWorkbenchWindowConfigurer definieert bijvoorbeeld een protocol waarbij een bepaalde configuratie van besturingsfuncties in het workbenchvenster wordt verondersteld, bijvoorbeeld een actiebalk, statusregel, perspectiefbalk en coolbar. Met dit protocol kunt u deze items aanpassen en invullen. De IWorkbenchConfigurer werkt op een hoger niveau, zodat u toepassingsspecifieke gegevens kunt opslaan met de workbench. De WorkbenchAdvisor levert toegang tot deze Configurers in de levenscylusmethoden hierboven. De methoden op een lager niveau binnen de WorkbenchAdvisor kunnen volledig worden genegeerd zodat het standaardgedrag volledig wordt vervangen. De Workbench Advisor kan bijvoorbeeld de methode overschrijven die de SWT-besturingsfuncties in het venster maakt, zodat een totaal andere implementatie voor het hoofdvenster wordt geleverd.

Er zijn dus verschillende manieren voor het wijzigen van de workbench en verschillende niveaus waarop deze technieken kunnen worden gebruikt. Javadoc voor WorkbenchAdvisor, IWorkbenchConfigurer en IWorkbenchWindowConfigurer bevat een volledige beschrijving van het beschikbare protocol. Raadpleeg de volledige implementatie van BrowserAdvisor voor informatie over andere implementaties.