2016-09-27 3 views
1

3.x上にさまざまなnewWizardを使用して異なるファイルを作成できるEclipse IDEアプリケーションが3.xにあります。これらのファイルは内容が少しずつ異なりますが、ウィザードの構造は非常に似ています。Eclipse RCPでウィザードを区別する方法は?

したがって、サウンドオブジェクト指向のアプローチは、同じクラスから異なるウィザードをインスタンス化し、異なるデータで初期化することです。

問題:

は何ウィザード我々は異なるすでにインスタンス化ウィザードを区別するための方法を必要とするデータのニーズを(例えば、ウィザードのinitメソッドの呼び出し中に)決定します。

これを行う方法はありますか?例えば、インスタンス化ウィザード内から拡張ポイントで定義されたウィザードのIDを取得する方法を誰かが知っている場合に役立ちます。

答えて

2

ウィザードでIExecutableExtensionが実装されている場合、作成された拡張子を表す構成要素が渡されます。

拡張ファクトリを使用して、IExecutableExtensionFactoryを実装するタイプを指定することもできます。

インターフェイスでは、拡張ポイント(ケースのウィザード)に提供されるインスタンスの作成方法を制御できます。

拡張例:拡張工場も拡張機能の実行可能なクラスを作成する前に、拡張属性へのアクセスを得るためにIExecutableExtensionを実装することが

<extension point="org.eclipse.ui.wizards"> 
<newWizard 
    name="..." 
    class="com.example.WizardFactory"> 
</newWizard> 

注意。

+0

ありがとうございます。それはまさに私が探していたものでした – lwi

関連する問題