Подготовка рабочей среды

Для настройки специального поведения рабочей среды применяется прежде всего "советник" WorkbenchAdvisor. Модуль расширенного клиента должен расширять этот абстрактный класс для создания конфигурации рабочей среды, соответствующей применяемому приложению. Для этой цели используется класс BrowserAdvisor.

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

Советник рабочей среды переопределяет методы, применяемые для настройки макета и комплектов рабочей среды, например, элементов панели действий или начальной страницы.

Жизненный цикл рабочей среды

Методы, предоставляемые советником рабочей среды, позволяют приложению в любой момент времени встроиться в рабочую среду и влиять на ее поведение. Приведенный ниже список методов, которые могут быть переопределены, можно найти в Javadoc для WorkbenchAdvisor.

Как видно из списка, приложение расширенного клиента имеет широкие возможности для управления рабочей средой. В приведенном примере основная функция BrowserAdvisor состоит в настройке панелей действий элементов меню, необходимых в браузере. Для этой цели используется метод 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);
	}

Этот метод настраивает использование в рабочей среде специального компоновщика действий. Компоновщик действий применяется для заполнения панелей действий рабочей среды. Более подробное описание действий можно найти в разделе Определение действий. Сейчас мы рассматриваем вопросы настройки рабочей среды.

Обратите внимание на использование метода getWorkbenchConfigurer(). В процедурах настройки окон методы IWorkbenchConfigurer и IWorkbenchWindowConfigurer используются вместе с WorkbenchAdvisor. Эти классы позволяют переопределять многие аспекты создания рабочей среды на различных уровнях. Например, метод IWorkbenchWindowConfigurer определяет протокол, который предусматривает особые параметры настройки управляющих элементов в окне рабочей среды, например, панели действий, строки состояния, панели проекции и.т.д. Данный протокол позволяет настраивать и заполнять эти элементы. Метод IWorkbenchConfigurer работает на более высоком уровне, позволяя сохранять данные конкретного приложения в рабочей среде. WorkbenchAdvisor обеспечивает доступ к этим функциям настройки в перечисленных выше методах. Методы более низкого уровня внутри WorkbenchAdvisor могут быть переопределены для полной замены поведения по умолчанию. Например, советник рабочей среды может переопределить метод, который создает управляющие элементы SWT окон, что позволит по-другому реализовать главное окно.

Итак, существует множество способов для настройки рабочей среды и несколько различных уровней для использования этих методов. Полное описание доступного протокола приведено в Javadoc для WorkbenchAdvisor, IWorkbenchConfigurer и IWorkbenchWindowConfigurer. Также см. полное описание различных реализаций BrowserAdvisor.