Personalizando o Workbench

O "ponto de entrada" para fornecer comportamento do workbench personalizado é a atribuição de um WorkbenchAdvisor para configurar o workbench. Seu plug-in rich client deve estender essa classe abstrata para fornecer a configuração específica do aplicativo para o workbench. O exemplo do navegador faz isso utilizando a classe BrowserAdvisor.

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

Um orientador do workbench é responsável por substituir métodos para configurar o workbench com o layout desejado e os recursos, como os itens da barra de ação ou a página de introdução.

O Ciclo de Vida do Workbench

Os métodos do ciclo de vida fornecidos pelo orientador do workbench permitem que o seu aplicativo participe da criação do workbench a qualquer momento e influencie o comportamento. A seguinte lista dos métodos do ciclo de vida do orientador que podem ser substituídos vem do javadoc para oWorkbenchAdvisor.

Como você pode ver, um aplicativo rich client tem muito controle sobre como o workbench é configurado e implementado. No exemplo do navegador, a função principal de BrowserAdvisor é configurar as barras de ação com os itens de menu apropriados para um navegador. Isso é feito 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, o workbench é configurado com um construtor de ação especializado. Este construtor de ação é utilizado para preencher as barras de ação do workbench. Observaremos os detalhes de como as ações são especificadas em Definindo as Ações. No momento, estamos enfatizando como configurar o workbench.

Observe a utilização do método getWorkbenchConfigurer() acima. O IWorkbenchConfigurer e o IWorkbenchWindowConfigurer são utilizados em conjunto com o WorkbenchAdvisor para personalizar a janela. Essas classes permitem que você substitua muitos aspectos da criação do wrokbench em níveis diferentes. Por exemplo, o IWorkbenchWindowConfigurer define o protocolo que assume uma configuração específica dos controles na janela do workbench, como a barra de ação, linha de status, barra de perspectiva, cool bar, etc. Seu protocolo permite personalizar e ocupar esses itens. O IWorkbenchConfigurer opera em um nível superior, permitindo armazenar dados específicos do aplicativo com o workbench. O WorkbenchAdvisor fornece acesso a esses configuradores nos métodos do ciclo de vida observado acima. Os métodos de nível inferior WorkbenchAdvisor podem ser substituídos para substituir completamente o comportamento padrão. Por exemplo, seu orientador do workbench pode substituir o método que cria os controles SWT na janela para fornecer uma implementação completamente diferente para a janela principal.

Em outras palavras, há muitas maneiras de personalizar o workbench e vários níveis diferentes em que essas técnicas podem ser utilizadas. 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 obter comentários sobre implementações alternativas.