Sample : 実行時に フレーム種類 を変更する
実装サンプル : なし
対象バージョン : version1.2.0-12 以降
ver1.2.0-12より、画面作成クラス(WindowFactory)を任意に指定することが可能になりました。
WindowFactoryの機能は、
「CAMCリポジトリに登録された 画面名称、フレーム種類、起動元画面 などの情報を元に、画面インスタンス を作成する」
ことです。
WindowFactoryの拡張をすることにより、以下などが可能になります。
- 実行時に フレーム種類を決定する。
- 自作した 画面用のクラス を指定する。
このドキュメントでは、実行時に フレーム種類を決定する サンプルとして、
「リポジトリ上ではフレーム種類を”Application”で登録しているが、起動元画面(親画面) が "DialogModal" だった場合には
"Dialog" の画面を作成する。」
という仕様のものを作成していきます。
FrameFactoryクラスを実装する↑top
FrameFactoryクラスを作成していきます。
FrameFactoryクラスは [製品Class]
jp.ne.mki.wedge.run.client.event.WindowFactoryInterfaceを実装する
必要があります。
(このクラスは、ver1.2.0-12以降のパッチに含まれています)
createWindowメソッドを実装する必要があります。
引数の情報を元に、FrameInterface(RunClientの画面のインターフェース)の実体を返します。
製品標準のFrameInterface実体は jp.ne.mki.wedge.pub.client.frame.DefaultWindowFactory のクラスを使用してください。
今回の仕様の場合は以下のように実装ができます。
実装したクラスを設定する↑top
実装した WindowFactorySample を設定していきます。
- WindowFactorySampleのクラスは、コンパイルし RunClient起動時のクラスパスに設定します。
- RunClient.wdg(Config)にて config/module/setting/show/windowfactory の要素を作成し、class属性に クラス名を記述します。
<windowfactory class="jp.ne.mki.wedge.education.windowfactory.WindowFactorySample" />
上記で設定は完了です。
RunClientを再起動して反映されているかどうかを確認してください。
WindowFactoryを設定した場合、RunClient起動時の標準出力に出力されるようになります。
[Information]:WidnowFactory=jp.ne.mki.wedge.education.windowfactory.WindowFactorySample@a6aeed