フレーム

 ※本記事は以下のサイトから転載し、翻訳をしたものになります(一部加筆修正しています)

http://cafe.naver.com/xplatform101/22

 

XPLATFORMの特徴的な機能でありながら、コンセプトを間違ってしまうと理解しにくいのがフレームです。

 

フレームはアプリケーション内のウィンドウ配置の概念と考えると理解しやすいと思います。

 

以前の記事で、UXStudioでプロジェクトを新規作成をしたときはDefaultフレームを使いましたが、ほかのフレームも見てみましょう。

 

サイトで提供されるバージョンで提供されるフレームは、次のとおりです。

Default、HFrame_Simple、HFrame_Tab、HFrame_Complex(VFrame同じ)

Tab Frame、Widget以上9つあります。

f:id:xplatform:20130219155839p:plain

 

Defaultは何もない状態ですので、HFrame_Simpleを指定して新しいプロジェクトを作成してみましょう。

Defaultでプロジェクトを作成した場合は、MainFrameの下に一つのChildFrameが生成されましたが、HFrame_Simpleを指定した場合には少し違ったコードが生成されます。

 

他の部分は同じですが、MainFrameの中は次のようなコードが生成されます。

      <MainFrame id="mainframe" ...>

        <HFrameSet id="frameset">

          <Frames>

            <ChildFrame id="f_f2_c1" .../>

            <ChildFrame id="f_f2_c2" .../>

            <ChildFrame id="f_f2_c3" .../>

          </ Frames>

        </ HFrameSet>

      </ MainFrame>

HFrameSetというものが追加され、

その中にFramesタグが入ってN個のChildFrameが配置されます。

ボタン等の画面要素はChildFrameの中に指定されます。

 

では、それぞれのフォームを作成し、該当するChildFrameに接続します。

このように生成されたプロジェクトは、実行をすると、基本的なフレームウィンドウの一つとその中に3つのウィンドウが配置された画面が表示されます。

 

f:id:xplatform:20130219160744p:plain

 

 

f:id:xplatform:20130219160804p:plain

 

 

各ChildFrameは、マウス操作で移動させることができます。該当Frameを移動させると残りのフレームは自動で順序が変わります。

実際の業務では、各フレームの内容をモジュール単位で作成し、ユーザーが必要に応じて配置することになります。

Frameの概念は、これらの作業に欠かせない事項です。

ランタイムがこのような部分を管理してくれるというのは、パフォーマンスやメモリ管理、実装などの面で開発者の手間を大幅に軽減できます。