Personalizando o ambiente de trabalho

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

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

Um orientador do ambiente de trabalho é responsável por substituir métodos para configurar o ambiente de trabalho 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 Ambiente de Trabalho

Os métodos do ciclo de vida fornecidos pelo orientador do ambiente de trabalho permitem que o seu aplicativo participe da criação do ambiente de trabalho 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 ambiente de trabalho é 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 ambiente de trabalho é configurado com um construtor de ação especializado. Este construtor de ação é utilizado para preencher as barras de ação do ambiente de trabalho. Observaremos os detalhes de como as ações são especificadas em Definindo as Ações. No momento, estamos enfatizando como configurar o ambiente de trabalho.

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 ambiente de trabalho, 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 ambiente de trabalho. 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 ambiente de trabalho 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 ambiente de trabalho 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.