ワークベンチのカスタマイズ

カスタム・ワークベンチの振る舞いを提供する「エントリー・ポイント」は、 ワークベンチを構成する WorkbenchAdvisor の指定です。 リッチ・クライアント・プラグインは、この抽象クラスを拡張して、ワークベンチのアプリケーション固有の構成を提供する必要があります。ブラウザー・サンプルでは、BrowserAdvisor クラスが使用されています。

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

ワークベンチ・アドバイザーは、メソッドをオーバーライドして、アクション・バー項目や概要ページなど、必要なレイアウトおよびフィーチャーを持つワークベンチを構成する必要があります。

ワークベンチ・ライフ・サイクル

ワークベンチ・アドバイザーが提供するライフ・サイクル・メソッドを使用すると、アプリケーションは、いつでもワークベンチの作成を開始して、振る舞いに影響を与えることができます。 以下のオーバーライド可能なアドバイザー・ライフ・サイクル・メソッドのリストは、WorkbenchAdvisor の Javadoc に基づいています。

このように、リッチ・クライアント・アプリケーションには、ワークベンチの構成およびインプリメント方法に関するコントロールが数多くあります。ブラウザー・サンプルでは、BrowserAdvisor の 1 次機能は、ブラウザーに適切なメニュー項目があるアクション・バーの構成になっています。これは、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 および IWorkbenchWindowConfigurerWorkbenchAdvisor と組み合わせて使用して、ウィンドウをカスタマイズします。 これらのクラスを使用すると、さまざまなレベルでワークベンチ作成の多数の性質をオーバーライドできます。 例えば、IWorkbenchWindowConfigurer は、アクション・バー、状況表示行、パースペクティブ・バー、クール・バーなど、ワークベンチ・ウィンドウのコントロールの特定の構成を前提とするプロトコルを定義します。 このプロトコルを使用すると、これらの項目をカスタマイズし、取り込むことができます。 IWorkbenchConfigurer は、よりハイ・レベルで作動し、ワークベンチを使用してアプリケーション固有のデータを保管することができます。 WorkbenchAdvisor は、上記のライフ・サイクル・メソッドの構成へのアクセスを提供します。 WorkbenchAdvisor 内の下位メソッドは、オーバーライドされ、デフォルトの振る舞いに置き換えられることがあります。 例えば、ワークベンチ・アドバイザーは、全く異なるメイン・ウィンドウの実装を提供するために、ウィンドウの SWT コントロールを作成するメソッドをオーバーライドします。

また、ワークベンチのカスタマイズ方法は数多くあり、その方法が使用されるレベルも数多くあります。 WorkbenchAdvisorIWorkbenchConfigurer、および IWorkbenchWindowConfigurer の Javadoc には、使用可能なプロトコルの完全な記述が含まれています。 代替実装のコメントについては、BrowserAdvisor の完全な実装を参照してください。