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()); } ↑フォルダ名とかをあらかじめセットしたい場合。 } }
こうすると例えばナビゲータでプロジェクトを選択していた場合、あらかじめそのディレクトリが表示され、親切ですね。
この記事は
現在のアクセス:10324