Eclipseには便利なウィザード機能がありますが、あのウィザードも拡張ポイントで実装されています。これを試してみます。
ウィザードは、ウィザード全体を管理するIWizardインタフェースと、各ページを表すIWizardPageインタフェースで構成されます。
ウィザード機能は以下のクラスで構成されています。
public void addPage(IWizardPage page)メソッドを使って追加していきます。ちなみにウィザードの各ページクラス(IWizardPageの実装クラス)はWizardクラスのサブクラスのフィールドに保持しておくことが多いみたいです。
書き途中!!
ウィザードクラス(WizardPageのサブクラス)のcreateControl内で以下のメソッドを呼んで初期化します。
private void initialize() {
// initで
if (selection != null && selection.isEmpty() == false
&& selection instanceof IStructuredSelection) {
IStructuredSelection ssel = (IStructuredSelection) selection;
if (ssel.size() > 1)
return;
Object obj = ssel.getFirstElement();
if (obj instanceof IResource) {
IContainer container;
if (obj instanceof IContainer)
container = (IContainer) obj;
else
container = ((IResource) obj).getParent();
containerText.setText(container.getFullPath().toString());
} ↑フォルダ名とかをあらかじめセットしたい場合。
}
}
こうすると例えばナビゲータでプロジェクトを選択していた場合、あらかじめそのディレクトリが表示され、親切ですね。
この記事は
現在のアクセス:11005