変換構成にカスタム・ページを作成することができます。 このようなページを作成して、変換に追加するプロパティーの値を変換のユーザーが指定できるようにすることができます。
変換のユーザーが変換構成を作成する際に、変換構成エディターまたは変換構成ウィザードに新規ページが表示されます。
始める前に
変換の作成者は、変換を変換サービスに登録する必要があります。
変換で、「新規構成」タブに関連付けられるプロパティーを定義する必要があります。
カスタムの変換構成ページの作成者は、これらのユーザー・インターフェース成果物を含むワークスペースでプロジェクトを特定する必要があります。 新規ページを実装する Java™ コードを含むプロジェクトを作成したり、変換を含む既存のプロジェクトでページを定義したりすることができます。
注: このトピックの例では、変換とは異なるプラグインでカスタム・ページを定義する場合を想定しています。
このトピックで取り上げたユーザー・インターフェース・クラスについて詳しくは、「
Rational® Transformation デベロッパー・ガイド (Rational Transformation Developer Guide)」の『変換 UI (Transformation UI)』セクションを参照してください。
注: Eclipse 文書または開発者ガイドへのリンクなどの、いくつかの情報は製品ヘルプ内のトピックからのみ使用可能です。
このタスクについて
変換構成にページを追加するには、以下のようにします。
- カスタム・ページを含めるために特定したプロジェクトで、次の Java クラスを作成します。
- com.ibm.xtools.transform.ui.AbstractTransformGUI クラスを拡張するクラス
- 変換構成に提供する各ページで com.ibm.xtools.transform.ui.AbstractTransformConfigTab クラスを拡張するクラス
- とクリックして、Java パースペクティブに切り替えます。
- 「パッケージ・エクスプローラー」ビューで、ステップ 1 で作成した Java クラスをダブルクリックします。これにより com.ibm.xtools.transform.ui.AbstractTransformGUI クラスが拡張されます。
- Java ファイル・エディターで、Java コードを指定して、getConfigurationTabs(ITransformationDescriptor descriptor) という名前のメソッドをオーバーライドします。このメソッドは、変換構成エディターまたは変換構成ウィザードに表示されるページのリストを返します。 次のコード・フラグメントを例として使用できます。
public AbstractTransformConfigTab[] getConfigurationTabs(
ITransformationDescriptor descriptor) {
AbstractTransformConfigTab[] superTabs =
super.getConfigurationTabs(descriptor);
AbstractTransformConfigTab[] myTabs =
new AbstractTransformConfigTab[superTabs.length + 1];
for (int i = 0; i < superTabs.length; i++) {
myTabs[i] = superTabs[i];
}
myTabs[myTabs.length - 1] = new MyTab(descriptor, "My tab ID", "My tab label");
return myTabs;
}
- ステップ 1 で作成した、com.ibm.xtools.transform.ui.AbstractTransformConfigTab クラスを拡張する各クラスに、populateContext、populateTab、および createContents という名前のメソッドを実装します。次に例を示します。
public Control createContents(Composite parent) {
Composite contents = new Composite(parent, SWT.None);
contents.setLayout(new GridLayout());
text = new Text(contents, SWT.None);
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
setDirty();
}
});
return contents;
}
public void populateContext(ITransformContext context) {
context.setPropertyValue("MyPropertyId", text.getText());
}
public void populateTab(ITransformContext context) {
String newText = (String) context.getPropertyValue("MyPropertyId");
if (newText == null) {
newText = "";
}
text.setText(newText);
}
- とクリックし、プロジェクトをビルドし直します。
- とクリックし、プラグイン開発パースペクティブを開きます。
- 「パッケージ・エクスプローラー」ビューで、カスタム・ページを作成する変換を含むプロジェクト名を拡張します。
- 変換プロジェクトの META-INF フォルダーで
、MANIFEST.MF ファイルをダブルクリックします。
- 「拡張」ページの「すべての拡張」セクションで、カスタム・ページに追加する Transformation 要素をクリックします。
- 「拡張要素詳細」セクションの「transformGUI」フィールドで、プラグインの識別子 (ID) およびステップ 1 で作成した Java パッケージの名前とクラスを指定します。これは、getConfigurationTabs(ITransformationDescriptor descriptor) メソッドをオーバーライドします。 com.ibm.xtools.transform.ui.AbstractTransformGUI クラスを拡張するクラスが、変換と同じプラグインに存在する場合は、プラグイン ID を指定しないでください。 次の例のように、transformGUI という名前のパラメーターが MANIFEST.MF ファイルに追加されます。
<Transformation
groupPath="myTrans"
id="myTrans.transformation"
name="Transformation"
sourceModelType="resource"
targetModelType="resource"
transformGUI="com.myTransform.ui/com.myTransform.ui.MyGUI"</Transformation>
</Transformation>
- をクリックします。
タスクの結果
カスタム・ページをテストするには、ランタイム・ワークベンチを開始して、変換に変換構成を作成します。
getConfigurationTabs メソッドが返すリストに含まれるページが、変換構成エディターおよび変換構成ウィザードに表示されます。