GEOS-SC : Flex UI : はじめに : このドキュメントについて

このドキュメントについて | 用語集 | アプリケーションの記述方法 | ユーザー インタラクションの検出方法 | 複数の UI の統合


ここでは次の事項について解説します。

Flex UI について

Flex UI は、ボタンウィンドウラベルのような簡単なコンポーネントを使用するアプリケーションを作成するためのインターフェイスを提供します。これらのコンポーネントの表示や動作はデバイスによって異なることがありますが、API や機能は共通です。

Flex UI では、プログラマがこれらのコンポーネントの動作をカスタマイズすることもできます。"リスナー" オブジェクトをコンポーネントに追加して、コンポーネントとのインタラクションをモニターできます。リスナーがインタラクションを検出した場合は、対応するメソッドすなわち "ハンドラ" を呼び出してコマンドを実行します。例えば、電卓のサンプル プログラムではリスナーを使用してボタンをモニターします。ボタンが押されると、リスナーは数値の加減乗除に別々のハンドラで対応します。ハンドラでどのように実際の計算を処理するかはプログラマの自由です。

Flex UI の使い方

Flex UI のライブラリは、共通のユーザー インターフェイスの構築に最適な階層的なオブジェクト クラスを提供しますので、Flex UI は簡単に利用できます。Flex UI の各ユーザー インターフェイス コンポーネントは UIFactory オブジェクトを通して作成されるため、プログラマはアプリケーション コードを変更せずにユーザー インターフェイスの実装を変更できます。UIFactory ではこのしくみを実現するために、特定の外観を持つオブジェクトは、その外観に対応する UI ライブラリから呼び出して作成します。

    FlexButton *helloButton = theUIFactory->CreateFlexButton(HINT_BUTTON_WITH_ROUNDED_CORNERS, title, length);

Flex UI を使うと、ユーザー インターフェイスを構築する際にコンポーネントを他の "コンテナ" コンポーネントに追加できるため、共通点のあるオブジェクトの管理やグループ化が簡単に行えます。

    mainWindow->Add(helloButton);

さらに、ウィンドウ、フレーム、ダイアログなどの FlexContainer では LayoutManager オブジェクトを使用できます。LayoutManager にオブジェクトを追加することで、画面上のオブジェクトの配置を自動化できます。これによって、コンポーネントのサイズが変化した時に、ユーザー インターフェイスが自動的に再形成されます。

    HorizontalFlowLayout *mainWindowLayout = new HorizontalFlowLayout(5);

FlowLayout クラスは、水平および垂直方向の整列によってユーザー インターフェイスのレイアウトを制御します。このサンプル コードでは、オブジェクトを水平方向の中央に位置合わせする FlowLayout オブジェクトを生成します。オブジェクト間の間隔は 5 ピクセルに設定しています。


このドキュメントについて | 用語集 | アプリケーションの記述方法 | ユーザー インタラクションの検出方法 | 複数の UI の統合