Personnalisation du plan de travail

Le "point d'entrée" pour fournir un comportement de plan de travail personnalisé est la désignation de WorkbenchAdvisor pour configurer le plan de travail. Le plug-in de client avancé doit étendre cette classe abstraite afin de proposer la configuration spécifique à l'application pour le plan de travail. L'exemple de navigateur exécute cette opération à l'aide de la classe BrowserAdvisor.

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

Un assistant de plan de travail est chargé de supplanter les méthodes pour configurer le plan de travail avec la présentation et les fonctions souhaitées, comme les éléments de la barre d'actions ou la page de présentation.

Cycle de vie du plan de travail

Les méthodes de cycle de vie fournies par l'assistant de plan de travail permettent à l'application de s'ancrer dans la création du plan de travail à un point quelconque et d'influencer le comportement. Cette liste de méthodes de cycle de vie de l'assistant qui peuvent être supplantées provient de la documentation Java pour WorkbenchAdvisor.

Comme vous pouvez le constater, une application de client avancée possède un contrôle important sur la configuration et l'implémentation du plan de travail. Dans l'exemple de navigateur, la fonction principale de BrowserAdvisor est de configurer les barres d'actions avec les options de menu appropriées pour un navigateur. Cette opération est effectuée dans la méthode 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);
	}

Dans cette méthode, le plan de travail est configuré avec un générateur d'action spécialisé. Ce générateur d'action sert à remplir les barres d'actions du plan de travail. Vous allez examiner les détails de spécification des actions dans la section Définition des actions. Pour le moment, nous nous concentrons sur la configuration du plan de travail.

Notez l'utilisation de la méthode getWorkbenchConfigurer() ci-dessus. IWorkbenchConfigurer et IWorkbenchWindowConfigurer sont utilisés conjointement à WorkbenchAdvisor pour personnaliser la fenêtre. Ces classes permettent de supplanter un grand nombre d'aspects de la création du plan de travail à différents niveaux. Par exemple, IWorkbenchWindowConfigurer définit le protocole qui prend en compte une configuration particulière des commandes dans la fenêtre du plan de travail, comme une barre d'actions, une ligne d'état, une barre de perspectives, une barre d'outils, etc. Son protocole permet de personnaliser et de renseigner ces éléments. IWorkbenchConfigurer fonctionne à un niveau plus élevé et permet de stocker des données spécifiques à une application avec le plan de travail. WorkbenchAdvisor permet d'accéder à ces programmes de configuration dans les méthodes de cycle de vie mentionnées ci-dessus. Les méthodes de niveau inférieur de WorkbenchAdvisor peuvent être supplantées afin que le comportement par défaut soit totalement remplacé. Par exemple, l'assistant de plan de travail peut supplanter la méthode qui crée les commandes SWT dans la fenêtre afin de proposer une implémentation totalement différente pour la fenêtre principale.

En d'autres termes, il existe différentes manières de personnaliser le plan de travail et plusieurs niveaux auxquels ces techniques peuvent être utilisées. La documentation Java pourWorkbenchAdvisor, IWorkbenchConfigurer et IWorkbenchWindowConfigurer inclut une description complète du protocole disponible. Pour plus d'informations sur les implémentations de substitution, reportez-vous également à l'implémentation complète de BrowserAdvisor.