前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFOTableModel
テーブルモデルを表す具象クラスです。
#include <SFOTableModel.h.hpp>
class SFOTableModel : public SFOTableModelBase;
SFMTYPEDEFREFOBJECT(SFOTableModel)
        

継承図

SFOTableModel クラスの継承図

協調図

SFOTableModel クラスの協調図

解説

SFOTableModel クラスは、行と列で要素を指定できるテーブル形式のデータ(テーブルモデル)を表す具象クラスです。

テーブルモデルのデータは、 項目[行](SFXTableItemBase)の可変長配列(SFXArray)として表されます。

このクラスは、 テーブルモデルにアクセスするためのインターフェイスが実装されています。

[Note] 注意

具象テーブルモデル(SFOTableModel )は、 テーブルビュー(SFZTableView)を利用して操作することが可能です。

参照

SFOTableModelBase | SFZTableView

メンバ

コンストラクタ/デストラクタ
SFOTableModel( Void )
SFOTableModel クラスのコンストラクタです。
~SFOTableModel( Void )
SFOTableModel クラスのデストラクタです。
パブリック関数
SFXAnyPtr GetColumnRow( SInt32 col , SInt32 row )
指定されたセルオブジェクトを取得します。
SInt32 GetRowLength( Void )
項目数[行数]を取得します。
SFCError InsertLast( SFXTableItemBaseConstRef item )
指定された項目[行]を末尾に追加します。
static
SFOTableModelSmp
NewInstance( SFCErrorPtr exception = null )
新しいインスタンスを作成します。
プロテクト関数
static
SFORefObjectSmp
Factory( SFORefObjectPtr object , SFCErrorPtr exception ) (SFORefObject から継承)
NewInstance 関数の実装を補助します。
SFCError Initialize( Void ) (SFORefObject から継承)
初期化を行います。

SFOTableModel::SFOTableModel
SFOTableModel クラスのコンストラクタです。
[ protected, explicit ]
SFOTableModel(Void);

解説

このコンストラクタは、 何も行いません。


SFOTableModel::~SFOTableModel
SFOTableModel クラスのデストラクタです。
[ protected, virtual ]
~SFOTableModel(Void);

解説

このデストラクタは、 テーブルモデルの項目[行]を解放します。


SFOTableModel::GetColumnRow
指定されたセルオブジェクトを取得します。
[ public, virtual ]
SFXAnyPtr GetColumnRow(
    SInt32 col   // 列のインデックス
    SInt32 row   // 行のインデックス
);

戻り値

セルオブジェクトへのポインタ。

解説

この関数は、 指定されたセルオブジェクトを取得します。

[Note] 注意

範囲外のインデックスを指定すると、null ポインタが返ります。

範囲外のインデックスは、 負の値のインデックスや、列数(列の場合)や行数(行の場合)を超える値のインデックスのことです。

参照

SFXAny


SFOTableModel::GetRowLength
項目数[行数]を取得します。
[ public, virtual, const ]
SInt32 GetRowLength(Void);

戻り値

テーブルモデルの項目数[行数]。

解説

この関数は、 テーブルモデルの項目数[行数]を取得します。


SFOTableModel::InsertLast
指定された項目[行]を末尾に追加します。
[ public, virtual ]
SFCError InsertLast(
    SFXTableItemBaseConstRef item   // 追加するテーブルの項目[行]
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY

解説

この関数は、 指定された項目[行]をテーブルモデルの末尾に追加します。

[Note] 注意

追加の際、項目[行]はコピーされます。

使用例

以下は、項目[行]をテーブルモデルに追加するコードです。

SFOTableModelSmp model;
SFXTableItem<2> item;
SFCError error;

model = SFOTableModel::NewInstance(&error);

if (model != null) {
    for (SInt32 row = 0; row < 10; row++) {
        item.data[0] = static_cast<Bool>((row % 2));
        item.data[1] = SFXAnsiString::Format("item_%d", row);

        // テーブルモデルに項目[行]を追加する
        error = model->InsertLast(item);

        if (error != SFERR_NO_ERROR) {
            break;
        }
    }
}

参照

SFOTableModel::NewInstance | SFXTableItemBase | SFXTableItem


SFOTableModel::NewInstance
新しいインスタンスを作成します。
[ public, static ]
SFOTableModelSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);

引数

exception

関数内部で発生したエラー値を返します。

戻り値

  • 成功したとき: null 以外のポインタ
  • 失敗したとき: null ポインタ

解説

この関数は、SFOTableModel インスタンスを作成します。

インスタンスの作成に成功した場合は null 以外のポインタを返します。 失敗した場合は、null ポインタを返します。

exception 引数を指定した場合、 この引数にはエラー値が返ります。

使用例

以下は、SFOTableModel インスタンスを生成するためのコードです。

SFOTableModelSmp model;
SFCError error;

if ((model = SFOTableModel::NewInstance(&error)) != null) {
    // .. (省略) ..
}

参照

SFOTableModel