Personalizar a área de trabalho

O "ponto de entrada" para facultar comportamento de área de trabalho personalizado é a designação de um WorkbenchAdvisor para configurar a área de trabalho. O plug-in de cliente complexo deve estender esta classe abstracta para facultar a configuração específica de aplicação à área de trabalho. O exemplo de browser fá-lo com a classe BrowserAdvisor.

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

Um consultor de área de trabalho é responsável pela sobreposição de métodos para configurar a área de trabalho com o esquema e as funções pretendidas como, por exemplo, artigos de barra de acções ou página de introdução.

O ciclo de vida da área de trabalho

Os métodos de ciclo de vida facultados pelo consultor de área de trabalho permitem à aplicação ligar-se à criação da área de trabalho em qualquer altura e influenciar o seu comportamento. A lista seguinte de métodos de ciclo de vida de consultor que podem ser sobrepostos é oriunda do javadoc para WorkbenchAdvisor.

Como podemos ver, uma aplicação cliente complexa tem muito controlo sobre a configuração e implementação da área de trabalho. No exemplo de browser, o principal papel do BrowserAdvisor é configurar as barras de acções com artigos de menu apropriados para um browser. Tal realiza-se no método 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);
	}

Neste método, a área de trabalho é configurada com um construtor de acções especializado. Este construtor de acções é usado para preencher as barras de acções da área de trabalho. Veremos os detalhes da especificação de acções em Definir as acções. Por agora, focamos a configuração da área de trabalho.

Repare na utilização do método getWorkbenchConfigurer() supra. O IWorkbenchConfigurer e o IWorkbenchWindowConfigurer são utilizados junto com o WorkbenchAdvisor para personalizar a janela. Estas classes permitem sobrepor muitos aspectos da criação da área de trabalho a vários níveis. Por exemplo, o IWorkbenchWindowConfigurer define protocolo que presume determinada configuração de controlos na janela da área de trabalho como, por exemplo, barra de acções, linha de estado, barra de perspectiva, #cool bar, etc. O protocolo permite personalizar e preencher estes artigos. O IWorkbenchConfigurer funciona a um nível mais elevado, permitindo armazenar dados específicos de aplicação com a área de trabalho. O WorkbenchAdvisor faculta acesso a estes configuradores nos métodos de ciclo de vida mencionados supra. Os métodos de nível mais baixo dentro de WorkbenchAdvisor podem ser sobrepostos para substituir totalmente comportamento predefinido. Por exemplo, o consultor da área de trabalho poderá sobrepor o método que cria os controlos de SWT na janela a fim de facultar uma implementação completamente diferente para a janela principal.

Por outras palavras, há muitas maneiras de personalizar a área de trabalho e vários níveis diferentes nos quais se podem utilizar estas técnicas. O javadoc para WorkbenchAdvisor, IWorkbenchConfigurer e IWorkbenchWindowConfigurer inclui uma descrição completa do protocolo disponível. Consulte também a implementação completa do BrowserAdvisor para ver comentários sobre implementações alternativas.