ウィザードにページを追加する その 2

昨日はいきなり Java の設定ページに飛んでしまったので、その前のプロジェクト名の入力とかするページを入れてみたいと思っているのです。で、ドキュメントを探していると、WizardNewProjectCreationPage クラスというのが目的のクラスのようです。

さっそく LG3DProjectWizard クラスの init メソッドに追加してみます。

    public void init(IWorkbench workbench, IStructuredSelection selection) {
        WizardNewProjectCreationPage creationPage = new WizardNewProjectCreationPage("LG3D Project");
        creationPage.setTitle("Configuration of New LG3D Project");
        creationPage.setDescription("Input project name and location."); 
        addPage(creationPage);
        
        JavaCapabilityConfigurationPage javaPage = new JavaCapabilityConfigurationPage();
        addPage(javaPage);
    }

これで実行してみると、ちゃんとプロジェクト名を入力するページが表示されました。

Project Creation Wizard Page

でも、ダイアログのタイトルが表示されていません。このタイトルは WizardNewProjectCreationPage#setTitle メソッドで設定するのだと思っていたのですが、このメソッドはページのタイトルを設定するのですね。

改めて Wizard クラスの Javadoc を見ると、setWindowTitle というメソッドがあったのでした。

    public void init(IWorkbench workbench, IStructuredSelection selection) {
        setWindowTitle("New Project Looking Glass Project");
        
        WizardNewProjectCreationPage creationPage = new WizardNewProjectCreationPage("LG3D Project");
        creationPage.setTitle("Configuration of New LG3D Project");
        creationPage.setDescription("Input project name and location."); 
        addPage(creationPage);
        
        JavaCapabilityConfigurationPage javaPage = new JavaCapabilityConfigurationPage();
        addPage(javaPage);
    }

これで、ちゃんとダイアログのタイトルが表示されました。

Project Creation Wizard Page

プロジェクト名を入力して [Next>] をクリックすると、ちゃんと次の Java の設定ページに移ります。

でも、まだ表示されただけで、入力されたデータの連係も何もできていません。続きは明日。