Wizardインタフェースの実装

ユーザー・インタフェースから起動され、モーダル・タスクを実行する拡張機能は、oracle.ide.addin.Wizardインタフェースを実装します。このインタフェースは、拡張機能をインストールし、JDeveloperのユーザー・インタフェースと統合します。

Wizardインタフェースを実装するには、次のようにします。

ここに示したコード例は、HelloXサンプル・プロジェクトのものです。 この例と他の拡張機能の例は、OTNのExtensions SDKのページで入手できます。

コンストラクタの定義

ウィザードのコンストラクタは、ウィザードのロード時にのみ起動されます。コンストラクタは軽量で、オブジェクト参照の作成および保持は行いません。 そのような操作は、initializeメソッドに委任します。

invokeメソッドの定義

このメソッドは、ウィザードの機能を表します。ウィザードは一般に、ユーザーがパラメータを入力するダイアログを開き、それらのパラメータを使用して、ドキュメントまたはその他のデータ・オブジェクトを作成または変更します。

このメソッドは、ユーザーが、「新規」ギャラリまたは「ツール」メニューを介してウィザードのUI要素を選択するとコールされます。 contextパラメータでは、ウィザードが操作する可能性のある、現在選択されているオブジェクトを識別します。 paramsパラメータは、ウィザードがツール・メニューからコールされた場合は空で、gallery.xmlファイルからコールされた場合はwizardParametersタグの値のセットが含まれます。



public boolean invoke(oracle.ide.addin.Context context, java.lang.String[] params) { if ( !this.isAvailable(context) ) return false; String greetee = null; JProject project = (JProject) context.getProject(); // Get the parameter from the user. greetee = JOptionPane.showInputDialog (new JDialog(), prompt, wizName, JOptionPane.OK_CANCEL_OPTION); if ( greetee == null ) return false; // Create the document and the node that represents it. if ( !createNode(project, greetee) ) return false; return true; }

getMenuSpecificationメソッドの定義

このメソッドは、「ツール」メニューでウィザードの項目の外観を判断するために、それが表示される際にコールされます。 ウィザードがツール・メニューにインストールされていない場合、このメソッドはnullを返します。



public MenuSpec getMenuSpecification() { if ( menuSpec == null) { Icon icon = getIcon(); menuSpec = new MenuSpec(wizName, new Integer((int)'X'), (KeyStroke)null, icon); } return menuSpec; }

isAvailableメソッドの定義

このメソッドは、現行のコンテキストで、ウィザードの「新規」ギャラリ・アイコンまたは「ツール」メニュー項目が使用可能かどうかを判断するためにコールされます。たとえば、プロジェクト・ノードで機能するウィザードは、現行ノードがプロジェクト・ノードである場合にのみ使用可能になる必要があります。



public boolean isAvailable(oracle.ide.addin.Context context) { Project p = context.getProject(); if ( (p != null) && (p instanceof JProject) ) return true; return false; }

getIconメソッドの定義

このメソッドは、ウィザードの「新規」ギャラリ・アイコンを取得するためにコールされます。 ウィザードにアイコンが不要な場合、このメソッドはnullを返します。



public Icon getIcon() { if (image == null) { image = GraphicsUtils.createImageIcon( GraphicsUtils.loadFromResource(imageName, this.getClass())); } return image; }

getNameメソッドの定義

このメソッドでは、ウィザードの名前を人間が読める形式で指定します。文字列の内容は、プログラマが自由に指定できます。

toStringメソッドの定義

このメソッドでは、ウィザードの説明を人間が読める形式で指定します。 文字列の内容はプログラマが自由に指定できますが、多くの場合getNameの値と同じです。


「新規」ギャラリのウィザードの開発
Baliウィザードの実装

oracle.ide.addin.Wizard

 

Copyright © 1997, 2004, Oracle. All rights reserved.