自訂工作台

提供自訂工作台行為的「進入點」是指定 WorkbenchAdvisor 來配置工作台。您的 Rich Client 外掛程式應該繼承這個抽象類別來提供特定應用程式的配置給工作台。瀏覽器範例使用 BrowserAdvisor 類別來完成這項工作。

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

工作台顧問負責置換方法,將工作台配置為它想要的佈置和特性,比如說,動作列項目或簡介頁面。

工作台生命週期

工作台顧問提供的生命週期方法讓您的應用程式可隨時連結工作台的建立並影響行為。下列可以被置換的顧問生命週期方法清單是來自 WorkbenchAdvisor 的 Javadoc。

如您所見,Rich Client 應用程式對於工作台的配置和實作有許多控制權。在瀏覽器範例中,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() 方法的使用方式。IWorkbenchConfigurerIWorkbenchWindowConfigurerWorkbenchAdvisor 一起使用來自訂視窗。這些類別允許您置換許多不同層次的工作台建立外觀。比如說,IWorkbenchWindowConfigurer 定義假設工作台視窗中控制項的特定配置的協定,如動作列、狀態行、視景列、Cool Bar 等等。它的協定允許您自訂和載入使用這些項目。IWorkbenchConfigurer 在較高的層次運作,允許以工作台來儲存特定應用程式的資料。WorkbenchAdvisor 在上述的生命週期方法中提供這些配置的存取。WorkbenchAdvisor 內較低層次的方法可以被置換而完全取代預設的行為。例如,您的工作台顧問可以置換在視窗中建立 SWT 控制項的方法,以提供完全不同的主視窗實作方式。

換句話說,有許多種方法可以自訂工作台和數個不同層次來使用這些技術。WorkbenchAdvisorIWorkbenchConfigurerIWorkbenchWindowConfigurer 的 Javadoc 包括可用協定的完整說明。另請參閱 BrowserAdvisor 的完整實作,以取得替代實作方式的意見。