前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3

10.3. アプリケーション

10.3.1. アプリケーションとは

アプリケーションクラス は Appwizard によって自動生成される SophiaFramework UNIVERSE アプリにただ 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();

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

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

10.3.2. イベントハンドラ

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

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

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

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