RCP アプリケーションのコンポーネントおよびウィジェットのプロパティー
RCP プロジェクトの場合は、変換は SWT (Standard Widget Toolkit) コンポジットです。RCP の変換には、.java ファイル拡張子が付きます。変換は、「リッチ・クライアント・コンテンツ」>「変換」の下の「ZIETrans プロジェクト」ビュー内にあります。変換は、ComponentRendering コンポジット (特殊なコンポジット、または指定されたコンポーネント、ウィジェット、および設定を使用して指定された領域を変換するパネル) から構成されます。以下のコード例で、この概念を示します。
ComponentRendering rendering1 = new ComponentRendering(this, 0);
rendering1.setComponent("<fully qualified component class name>");
rendering1.setWidget("<fully qualified widget class name>");
rendering1.setRegion(new BlockScreenRegion(start_row, start_col, end_row, end_col));
rendering1.setComponentSettings(new StringableProperties("<component settings>"));
rendering1.setWidgetSettings(new StringableProperties("<widget settings>"));
rendering1.setHostScreen(getHostScreen());
rendering1.setTransformInfo(getTransformInfo());
rendering1.setAutoRender(false);
rendering1.setTextReplacement("<text replacement string>");
rendering1.render();
上の例で、component settings はコンポーネント設定のストリングを意味し、widget settings はウィジェット設定のストリングを意味します。
これらのコンポジットは、通常、変換の render() メソッド内で構成およびレンダリングされます。
SWT ウィジェットは、RCP プロジェクトのための com.ibm.hats.rcp.transform.renderers.SwtRenderer インターフェースをインプリメントする必要があり、drawSwt メソッドを備えています。
以下の SWT ウィジェット・コードの例は、コンストラクターおよび drawSwt メソッドを示したものです。
public MyCustomWidget extends Widget implements SwtRenderer {
public MyCustomWidget (ComponentElement[] componentElements, Properties settings) {
super(componentElements, settings);
}
public Control[] drawSwt(Composite parent) {
SwtElementFactory elementFactory = SwtElementFactory.newInstance(getContextAttributes(),
getSettings(), parent.getDisplay());
// Add code here to generate SWT Control objects here
return controls; // returns controls added to the specified parent
}
}