前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1

10.2. アプリ

10.2.1. アプリ とは

アプリ クラス は Appwizard によって自動生成される SophiaFramework アプリにただ 1 つ定義されるメインクラスです。

最初のウィンドウはアプリ クラスで作成します。

例 10.9. アプリ クラスの実装

// コンストラクタ
ExampleAppli::ExampleAppli(Void) static_throws
{
    // ウィンドウの作成
    // 第 1 引数 : SFRTitleWindow の親 ( アプリ クラス )
    new SFRTitleWindow(this, ・・・ 引数は省略  ・・・ );

    return;
}

アプリ クラスの変数はアプリ内のどこからでも SFRApplication::GetInstance 関数を使ってアクセスできるので、グローバルな変数はアプリ クラス内に定義します。

例 10.10. アプリ クラスの変数を取得する方法

//
//  AppWizard が自動生成した ExampleAppli クラス
//
SFMTYPEDEFCLASS(ExampleAppli)
class ExampleAppli : public SFRApplication {
    SFMSEALCOPY(ExampleAppli)
public:
    static SFCInvokerPtr Factory(Void);
private:
    ExampleAppli(Void) static_throws;
    virtual ~ExampleAppli(Void);
    
    //*** 追加するコード
    SInt32 global_something_val;
public:
    SInt32 GetGlobalSomethingVal();
};

ExampleAppli::GetGlobalSomethingVal(Void)
{
    return global_something_val;
}

// global_something_val の取得
static_cast<ExampleAppli>(SFRApplication::GetInstance())->GetGlobalSomethingVal();

ウィンドウ クラスの機能の多くはアプリ クラスでも利用可能です。

関連情報: GUI フレームワークを使う開発 : アプリ

10.2.2. イベント ハンドラ

アプリ クラスのイベント ハンドラは、Appwizard によって自動生成されます。

図 10.10. Appwizard ( イベント ハンドラ生成部分 )

Appwizard ( イベント ハンドラ生成部分 )

SFEVT_APP_START と SFEVT_APP_STOP はアプリの開始時と終了時に発生するアプリ クラスだけの BREW 標準のイベントです。