前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFZTableView
テーブルモデルを利用して表形式のビューを提供するレスポンダです。
#include <SFZTableView.h.hpp>
class SFZTableView : public SFYWidget;
SFMTYPEDEFRESPONDER(SFZTableView)
        

継承図

SFZTableView クラスの継承図

協調図

SFZTableView クラスの協調図

解説

SFZTableView クラスの仕様

図 434. SFZTableView クラスの仕様

SFZTableView クラスの仕様

SFZTableView クラスは、 テーブルモデル(SFOTableModel)を利用して表形式のビュー(テーブルビュー)を提供するレスポンダです。

テーブルビュー(SFZTableView)は、 表示する列に相当する数だけのテーブルビューカラム(SFOTableViewColumn)を保持します。

各テーブルビューカラムは列タイトルを表すヘッダーを描画し、各データを表すテーブルセル (セル) を表示・編集するための 1つ のテーブルセルリアクター (SFOTableCellReactor) を保持します。

テーブルビューカラムにテーブルモデル(SFOTableModel)の列番号を指定することで、ビューの列に表示したいデータとを 関連付けることができます。

テーブルモデル

テーブルモデル(SFOTableModel)は、 テーブルビュー(SFZTableView)に表示するための表形式のデータです。

テーブルモデルは、 項目[行](SFXTableItemBase)の可変長配列(SFXArray)で構成されます。

項目[行]は、 セルオブジェクト(SFXAny)の固定長配列 (サイズはテンプレートパラメータ NUM) で構成されます。

※ 結果として、テーブルモデルでは、列数は固定、行数は可変となります。

関連付け

[Note] モデルとビュー

テーブルビューへのテーブルモデルの関連付けは、 SFZTableView::SetModel 関数を利用して行います。

[Note] ビューと列
テーブルビューへのテーブルビューカラムの追加は、 SFZTableView::AddColumn 関数を利用して行います。
[Note] モデル列とビュー列

テーブルビューカラムとテーブルモデルカラムの関連付けは、 SFOTableViewColumn::NewInstance 関数、または SFOTableViewColumn::SetModelColumnIndex 関数を利用して行います。

同じテーブルモデルカラムを異なる複数のテーブルビューカラムに関連付けることにより、 テーブルモデルの同じ列のデータをテーブルビュー内に複数の列として表示することが可能です。

[Note] ビュー列とセルリアクター

テーブルビューカラムとテーブルセルリアクターの関連付けは、 SFOTableViewColumn::NewInstance 関数、または SFOTableViewColumn::SetCellReactor 関数を利用して行います。

デフォルトの具象テーブルセルリアクタークラスとして SFOTableCellTextReactor / SFOTableCellToggleReactor / SFOTableCellImageReactor クラスが提供されます。 これらの具象テーブルセルリアクタークラスを利用して、 テーブルビューのセルには列単位でテキスト、チェックボックス、画像を表示できます。 テキストとチェックボックスのセルは編集することも可能です。

SFZTableView / SFOTableViewColumn / SFOTableCellReactor の階層プロパティ

SFZTableViewSFOTableViewColumnSFOTableCellReactor の各クラスは、内部に階層プロパティ (SFXHierarchyProperty)を保持しています。

これらの階層プロパティの間には、

SFZTableView のプロパティ → SFOTableViewColumn のプロパティ → SFOTableCellReactor のプロパティ

というプロパティの親子関係(継承関係)が存在します。 子プロパティに存在しない属性は親プロパティから継承し、 親プロパティの属性を子プロパティでオーバーライドすることが可能です。

[Note] 注意

他のプロパティから継承されるプロパティを親プロパティ、 他のプロパティを継承するプロパティを子プロパティと呼びます。

また、親プロパティが存在しないプロパティをルートプロパティと呼びます。

階層プロパティの継承機能は、 テーブルビュー全体で定義したある属性について特定の列においてだけ変更したい場合に利用できます。

プロパティの属性

階層プロパティ(SFXHierarchyProperty)は、 属性キーと属性値のマップから構成され、 属性キーは前景色やテキストのフォントといった様々な属性の種類を表します(参照: 以下の表「SFZTableView / SFOTableViewColumn / SFOTableCellReactor のプロパティ」)。

SFZTableView / SFOTableViewColumn / SFOTableCellReactor / SFOTableCellTextReactor / SFOTableCellToggleReactor / SFOTableCellImageReactor クラスが内部に保持する、 階層プロパティ(SFXHierarchyProperty)の内容は以下の表にある通りです。

[Note] 注意

デフォルト値が記入されている属性は、 テーブルビュー(SFZTableView)のプロパティ(ルートプロパティ)にすべて設定されています。

ただし、SFLPROP_LEFTTOP_MARGIN_SIZE / SFLPROP_RIGHTBOTTOM_MARGIN_SIZE 属性を除きます。

表 273. SFZTableView / SFOTableViewColumn / SFOTableCellReactor のプロパティ

属性キー 属性値(デフォルト値) 解説
SFLPROP_FONT - フォント: この属性が設定されていない場合は AEE_FONT_NORMAL
SFLPROP_ALIGNMENT - アライメント: この属性が設定されていない場合は (IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE)
SFLPROP_EDITABLE - 編集可能であるかどうかどうか: この属性が設定されていない場合は false(編集不可)
SFLPROP_HORIZONTAL_RULED_LINE_ENABLE true 水平罫線を表示するかどうか: デフォルトの設定は、true(水平罫線は表示される)
SFLPROP_VERTICAL_RULED_LINE_ENABLE true 垂直罫線を表示するか: デフォルトの設定は、true(垂直罫線は表示される)
SFLPROP_FIXED_WIDTH - 横幅(固定)
SFLPROP_FIXED_HEIGHT - 縦幅(固定): この属性は未使用
SFLPROP_LEFTTOP_MARGIN_SIZE SFOTableCellToggleReactor の場合: (1, 1)、SFOTableCellTextReactor の場合: (2, 1) 左上マージンサイズ: この属性が設定されていない場合、マージンは (0, 0)
SFLPROP_RIGHTBOTTOM_MARGIN_SIZE SFOTableCellToggleReactor の場合: (1, 1)、SFOTableCellTextReactor の場合: (2, 1) 右下マージンサイズ: この属性が設定されていない場合、マージンは (0, 0)
SFLPROP_COLOR_GRADIENT_STYLE 0 グラディエーションスタイル: (0: なし、1: 垂直2方向グラディエーション)
SFLPROP_HEADER_BEVEL_LIGHT_COLOR SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) ヘッダーのベベルカラーのライトカラー
SFLPROP_HEADER_BEVEL_BASE_COLOR SFXRGBColor(0xDD, 0xDD, 0xDD, 0x00) ヘッダーのベベルカラーのベースカラー
SFLPROP_HEADER_BEVEL_DARK_COLOR SFXRGBColor(0x88, 0x88, 0x88, 0x00) ヘッダーのベベルカラーのダークカラー
SFLPROP_HEADER_SEPARATOR_COLOR SFXRGBColor(0x6E, 0x6E, 0x6E, 0x00) ヘッダーセパレーターの色
SFLPROP_OUTER_BEVEL_LIGHT_COLOR SFXRGBColor(0xAA, 0xAA, 0xAA, 0x00) 外枠のベベルカラーのライトカラー
SFLPROP_OUTER_BEVEL_BASE_COLOR SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) 外枠のベベルカラーのベースカラー
SFLPROP_OUTER_BEVEL_DARK_COLOR SFXRGBColor(0xEE, 0xEE, 0xEE, 0x00) 外枠のベベルカラーのダークカラー
SFLPROP_INNER_BEVEL_LIGHT_COLOR SFXRGBColor(0x6E, 0x6E, 0x6E, 0x00) 内枠のベベルカラーのライトカラー
SFLPROP_INNER_BEVEL_BASE_COLOR SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) 内枠のベベルカラーのベースカラー
SFLPROP_INNER_BEVEL_DARK_COLOR SFXRGBColor(0xAA, 0xAA, 0xAA, 0x00) 内枠のベベルカラーのダークカラー
SFLPROP_BACKGROUND_COLOR - 背景色: この属性は未使用
SFLPROP_BACKGROUND_GRADIENT_COLOR - 背景をグラディエーション表示にする色: この属性は未使用
SFLPROP_FOREGROUND_COLOR - 前景色: この属性が設定されていない場合は SFXRGBColor(0x00, 0x00, 0x00, 0x00) [黒色]
SFLPROP_FOREGROUND_GRADIENT_COLOR - 前景をグラディエーション表示にする色: この属性は未使用
SFLPROP_SELECTED_BACKGROUND_COLOR SFXRGBColor(0x71, 0x9C, 0xE2, 0x00) 選択時(含む、フォーカス状態)の背景色
SFLPROP_SELECTED_BACKGROUND_GRADIENT_COLOR SFXRGBColor(0x71, 0x9C, 0xE2, 0x00) 選択時(含む、フォーカス状態)の背景をグラディエーション表示にする色
SFLPROP_SELECTED_FOREGROUND_COLOR - 選択時(含む、フォーカス状態)の前景色: この属性が設定されていない場合は SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00) [白色]
SFLPROP_SELECTED_FOREGROUND_GRADIENT_COLOR - 選択時(含む、フォーカス状態)の前景をグラディエーション表示する色: この属性は未使用
SFLPROP_RULED_LINE_COLOR SFXRGBColor(0xF0, 0xF0, 0xF0, 0x00) 罫線の色
SFLPROP_RULED_LINE_COLOR - スクロールの方向: この属性が設定されていない場合は SFYSingleTextWidget::DEFAULT_DIRECTION
SFLPROP_TEXT_SCROLL_INTERVAL - スクロールインターバル[単位:ミリ秒]: この属性が設定されていない場合は SFYSingleTextWidget::DEFAULT_SCROLL
SFLPROP_TEXT_SCROLL_WAITINTERVAL - スクロール開始までの待ち時間[単位:ミリ秒]: この属性が設定されていない場合は SFYSingleTextWidget::DEFAULT_WAIT
SFLPROP_TEXT_SCROLL_STEP - スクロール移動量[単位:ピクセル]: この属性が設定されていない場合は SFYSingleTextWidget::DEFAULT_STEP
[Note] 注意

ユーザー定義クラスで 階層プロパティ(SFXHierarchyProperty)を使用する場合、 属性の解釈やデフォルト値は以下の内容に関係なく自由に変更・設定可能です。

また、SFLPROP_USER_CLASS_BEGIN(0x8000)から SFLPROP_USER_CLASS_END(0xFFFE) の間にユーザー独自の属性を定義することも可能です。

[Caution] 未使用の属性について

未使用の属性に値を設定しても何も行われません。

□サンプルコード

詳細なコードは、 こちら(mvcfactory.zip)を参照してください。

Void UserAppClass::Main(Void)
{
    static ACharConst                           marks[][16] = {
        "sun",
        "cloud",
        "snowman",
        "star",
        "white star",
        "telephone",
        "spade",
        "heart",
        "diamond",
        "club",
        "quaver",
        "semiquaver"
    };
    SFZScrollBarControlSmp                      bar;
    SFZTableViewSmp                             view;
    SFOTableModelSmp                            model;
    SFOTableViewColumnSmp                       vcol;
    SFOTableCellReactorSmp                      rtor;
    SFXTableItem<3>                             item;
    SFBImageSmp                                 icon[12];

    // ■■■ テーブルビューの作成 ■■■ 

    view = SFZTableView::NewInstance();

    view->SetParent(GetThis());
    view->SetRealBound(GetLocalBound().Deflate(5, 5, 10, 5));
    view->SetState(true, true, true, true);

    // 行の高さを 24 に設定する
    view->SetItemHeight(24);

    // 横向きにカーソルをループする
    view->SetXLoop(true);

    // 縦向きにカーソルをループする
    view->SetYLoop(true);

    // スクロールバーを生成する
    bar = SFZScrollBarControl::NewInstance();

    bar->SetParent(GetThis());
    SFXRectangle bound(view->GetRealBound());
    bar->SetRealBound(bound.AddX(bound.GetWidth()).SetWidth(5));
    bar->SetState(true, true, false, false);

    // テーブルビューにスクロールバーを設定する
    view->SetScrollBarControl(bar);

    // ■■■ テーブルモデルの作成 ■■■ 

    // テーブルモデルを生成する
    model = SFOTableModel::NewInstance();

    // アイコン画像をリソースファイルから取得する
    for (SInt16 i = 0; i < 12; i++) {
        icon[i] = SFBShell::GetInstance()->LoadResImage("userapp.bar", IDI_OBJECT_5001 + i);
    }

    // アイテムに各テーブルモデルカラムのデータをセットして追加する
    for (SInt32 row = 0; row < 60; ++row) {
        item.data[0] = SFXAnsiString(marks[row % 12]);
        item.data[1] = icon[row % 12];
        item.data[2] = static_cast<Bool>(row % 2);
        model->InsertLast(item);
    }

    // ■■■ テーブルビューとテーブルモデルの関連付け ■■■ 

    view->SetModel(model);

    // ■■■ 第 1 列目のテーブルビューカラムの作成 ■■■ 

    // テーブルセルトグルリアクターを作成する
    rtor = SFOTableCellToggleReactor::NewInstance();

    // 編集可に設定する
    rtor->SetProperty(SFLPROP_EDITABLE, true);

    // 第 3 列目のテーブルモデルカラム(Bool 型)と関連付ける: ヘッダーのタイトルは ""(空文字列)
    vcol = SFOTableViewColumn::NewInstance("", 2, rtor);

    // 固定幅 24 に設定する
    vcol->SetProperty(SFLPROP_FIXED_WIDTH, 24);

    // テーブルビューにテーブルビューカラムを追加する
    view->AddColumn(vcol);

    // ■■■ 第 2 列目のテーブルビューカラムの作成 ■■■ 

    // イメージセルテキストリアクターを作成する
    rtor = SFOTableCellImageReactor::NewInstance();

    // 第 2 列目のテーブルモデルカラム(SFBImageSmp 型)と関連付ける: ヘッダーのタイトルは ""(空文字列)
    vcol = SFOTableViewColumn::NewInstance("", 1, rtor);

    // 固定幅を 24 に設定する
    vcol->SetProperty(SFLPROP_FIXED_WIDTH, 24);

    // テーブルビューにテーブルビューカラムを追加する
    view->AddColumn(vcol);

    // ■■■ 第 3 列目のテーブルビューカラムの作成 ■■■ 

    // テーブルセルテキストリアクターを作成する
    rtor = SFOTableCellTextReactor::NewInstance();
    // 編集可に設定する
    rtor->SetProperty(SFLPROP_EDITABLE, true);

    // 第 1 列目のテーブルモデルカラム(SFXAnsiString 型)と関連付ける: ヘッダーのタイトルは "marks" 
    vcol = SFOTableViewColumn::NewInstance("marks", 0, rtor);

    // アライメントを左詰めに設定する
    vcol->SetProperty(SFLPROP_ALIGNMENT, IDF_ALIGN_LEFT | IDF_ALIGN_MIDDLE);

    // テーブルビューにテーブルビューカラムを追加する
    view->AddColumn(vcol);

    return;
}

図 435. SFZTableView クラスの動作例

SFZTableView クラスの動作例

参照

SFOTableModel | SFXTableItem | SFOTableViewColumn | SFOTableCellReactor | SFOTableCellToggleReactor | SFOTableCellImageReactor | SFOTableCellTextReactor | SFXHierarchyProperty

メンバ

コンストラクタ/デストラクタ
SFZTableView( Void )
SFZTableView クラスのコンストラクタです。
~SFZTableView( Void )
SFZTableView クラスのデストラクタです。
パブリック関数
SFCError AddColumn( SFOTableViewColumnSmpConstRef viewcolumn )
テーブルビューの末尾(右端)にテーブルビューカラムを追加します。
Void ClearColumn( Void )
テーブルビューカラムをすべてクリアします。
AVKType GetDownKey( Void )
DOWN キーを取得します。
SInt32 GetFocusedCellColumnIndex( Void )
現在フォーカスが当たっているセルの列番号を取得します。
SInt32 GetFocusedCellRowIndex( Void )
現在フォーカスが当たっているセルの行番号を取得します。
Bool GetFrameVisible( Void )
フレームの可視状態を取得します。
Bool GetFullRowSelect( Void )
セル/行選択モードを取得します。
SInt16 GetHeaderHeight( Void )
ヘッダーの高さを取得します。[単位: ピクセル]
Bool GetHeaderVisible( Void )
ヘッダーの可視状態を取得します。
SInt16 GetItemHeight( Void )
項目[行]の高さを取得します。[単位: ピクセル]
AVKType GetLeftKey( Void )
LEFT キーを取得します。
AVKType GetOperateKey( Void )
操作キーを取得します。
SInt32 GetPreferredColumn( Void )
優先セル選択列番号を取得します。
ValueRec GetProperty( UInt32 key , BoolPtr found = null )
指定された属性キーに対応する属性値を取得します。
AVKType GetRightKey( Void )
RIGHT キーを取得します。
SFYScrollBarControlSmpConstRef GetScrollBarControl( Void )
テーブルビューに関連付けられているスクロールバーコントロールを取得します。
AVKType GetUpKey( Void )
UP キーを取得します。
Bool GetXLoop( Void )
X カーソルループフラグを取得します。
Bool GetYLoop( Void )
Y カーソルループフラグを取得します。
Bool HasProperty( UInt32 key )
指定された属性キーに対応する属性値が設定されているかどうかを判定します。
static
SFZTableViewSmp
NewInstance( SFCErrorPtr exception = null )
新しいインスタンスを作成します。
SFCError Select( Void )
フォーカスが当たっているセルを選択します。
Void SetDownKey( AVKType param )
指定されたキーをテーブルビューの DOWN キーに設定します。
SFCError SetFocusedCellIndex( SInt32 column , SInt32 row )
指定された行番号と列番号のセルにフォーカスを当てます。
Void SetFrameVisible( Bool param )
フレームの可視状態を設定します。
Void SetFullRowSelect( Bool param )
セル/行選択モードを設定します。
Void SetHeaderHeight( SInt16 param )
ヘッダーの高さを設定します。[単位: ピクセル]
Void SetHeaderVisible( Bool param )
ヘッダーの可視状態を設定します。
Void SetItemHeight( SInt16 param )
項目[行]の高さを設定します。[単位: ピクセル]
Void SetLeftKey( AVKType param )
指定されたキーをテーブルビューの LEFT キーに設定します。
Void SetModel( SFOTableModelBaseSmpConstRef param )
指定されたテーブルモデルを設定します。
Void SetOperateKey( AVKType param )
操作キーを設定します。
Void SetPreferredColumn( SInt32 param )
指定された値を優先セル選択列番号に設定します。
SFCError SetProperty( UInt32 key , ValueRec value )
指定された属性キーに対応する属性値を設定します。
Void SetRightKey( AVKType param )
指定されたキーをテーブルビューの RIGHT キーに設定します。
Void SetScrollBarControl( SFYScrollBarControlSmpConstRef bar )
テーブルビューに関連付けるスクロールバーコントロールを設定します。
Void SetUpKey( AVKType param )
指定されたキーをテーブルビューの UP キーに設定します。
Void SetXLoop( Bool param )
X カーソルループフラグを設定します。
Void SetYLoop( Bool param )
Y カーソルループフラグを設定します。
Void ClearHandler( Void ) (SFYResponder から継承)
このレスポンダのハンドラの登録をすべて解除します。
Void ClearTracer( Void ) (SFYResponder から継承)
このレスポンダのトレーサの配信規則の登録をすべて解除します。
SFCError Distribute( SFXEventConstRef event , BoolPtr result = null ) (SFYResponder から継承)
指定された配信型イベントを SFYDistributer インスタンスと、このレスポンダ以下のレスポンダツリーに配信します。
SFXRGBColorConstRef GetBackgroundColor( Void ) (SFYWidget から継承)
背景の色を取得します。
SFYResponderSmp GetChildBack( Void ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最背面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
背面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SInt32 GetChildCount( Void ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SInt32 GetChildCount( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダの子レスポンダの数を取得します。
SFYResponderSmp GetChildForward( SInt32 index ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
前面から数えて指定された順番に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Void ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYResponderSmp GetChildFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
最前面に位置するこのレスポンダの子レスポンダを取得します。
SFYDistributerPtr GetDistributer( Void ) (SFYResponder から継承)
このレスポンダに設定されている配信エンジンを取得します。
SFYResponderSmp GetFrame( Void ) (SFYResponder から継承)
このレスポンダに装着されたフレームを取得します。
SFXRectangle GetGlobalBound( Void ) (SFYResponder から継承)
このレスポンダのグローバル領域を取得します。
UInt32 GetID( Void ) (SFYResponder から継承)
このレスポンダの ID を取得します。
SFXRectangle GetLocalBound( Void ) (SFYResponder から継承)
このレスポンダのローカル領域を取得します。
SInt32 GetNthBackward( Void ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthBackward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Void ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SInt32 GetNthForward( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて何番目に位置するかを取得します。
SFYResponderSmp GetParent( Void ) (SFYResponder から継承)
このレスポンダの親レスポンダを取得します。
Bool GetPropertyTransparent( Void ) (SFYResponder から継承)
このレスポンダの透過属性を取得します。
SFXRectangleConstRef GetRealBound( Void ) (SFYResponder から継承)
このレスポンダの実領域を取得します。
VoidPtr GetReference( Void ) (SFYResponder から継承)
このレスポンダのリファレンス値を取得します。
SFYRendererPtr GetRenderer( Void ) (SFYResponder から継承)
このレスポンダに設定されている描画エンジンを取得します。
SFYResponderSmp GetRoot( Void ) (SFYResponder から継承)
このレスポンダが所属するレスポンダツリーのルートレスポンダを取得します。
Bool GetStateActive( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの活性状態を取得します。
Bool GetStateEnable( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの操作可能状態を取得します。
Bool GetStateFocus( Bool inherit = false ) (SFYResponder から継承)
このレスポンダのフォーカス状態を取得します。
Bool GetStateValid( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの有効状態を取得します。
Bool GetStateVisible( Bool inherit = false ) (SFYResponder から継承)
このレスポンダの可視状態を取得します。
SFXRectangle GetSuitableBound( Void ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef rectangle ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXRectangle GetSuitableBound( SFXRectangleConstRef param , HorizontalEnum horizontal , VerticalEnum vertical ) (SFYResponder から継承)
このレスポンダの最適な領域(サイズ)を取得します。
SFXMargin GetSuitableMargin( Void ) (SFYResponder から継承)
このレスポンダのフレーム余白領域を取得します。
SFCType GetType( Void ) (SFYResponder から継承)
このレスポンダのタイプを取得します。
SFXRectangleConstRef GetVirtualBound( Void ) (SFYResponder から継承)
このレスポンダの仮想領域を取得します。
Bool HasFrame( Void ) (SFYResponder から継承)
このレスポンダがコンテントレスポンダであるかどうかを判定します。
Void Initialize( Void ) (SFYResponder から継承)
このレスポンダを初期化します。
Void Invalidate( Void ) (SFYResponder から継承)
指定された領域を再描画領域に登録します。
Void Invalidate( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域を再描画領域に登録します。
Void InvokeBackward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します (ハンドラは登録順に起動されます)。
Void InvokeForward( SFXEventConstRef event , Bool overload , BoolPtr result = null ) (SFYResponder から継承)
指定されたコールバック型イベントをこのレスポンダに送信します (ハンドラは登録の逆順に起動されます)。
Bool IsBack( Void ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最背面に位置するかどうかを判定します。
Bool IsFrame( Void ) (SFYResponder から継承)
このレスポンダがアタッチメントフレームであるかどうかを判定します。
Bool IsFront( Void ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが最前面に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが背面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダが前面から数えて指定された順番に位置するかどうかを判定します。
Bool IsRoot( Void ) (SFYResponder から継承)
このレスポンダがルートレスポンダであるかどうかを判定します。
SFCError Recover( Void ) (SFYResponder から継承)
デバイス画面保存用ビットマップを使用してこのレスポンダとレスポンダ空間との交差領域を復元します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
指定されたハンドラをこのレスポンダに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::RuleRecConstRef rule ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstRef range , SFYTracer::OrderEnum order , SFYTracer::StateEnum state , Bool overload ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError RegisterTracer( SFXEventRangeConstPtr range , SFYTracer::OrderEnumConstPtr order , SFYTracer::StateEnumConstPtr state , BoolConstPtr overload , SInt32 length ) (SFYResponder から継承)
指定された配信規則をこのレスポンダのトレーサに登録します。
SFCError Render( Bool force = false ) (SFYResponder から継承)
このレスポンダ以下のレスポンダツリーをレスポンダ空間に再描画します。
Void SetBackgroundColor( SFXRGBColorConstRef param ) (SFYWidget から継承)
背景の色を設定します。
Void SetDistributer( SFYDistributerPtr param ) (SFYResponder から継承)
指定された配信エンジンをこのレスポンダに設定します。
SFCError SetFrame( SFYResponderSmpConstRef param ) (SFYResponder から継承)
このレスポンダにフレームを装着します。
Void SetID( UInt32 param ) (SFYResponder から継承)
指定された ID をこのレスポンダに設定します。
SFCError SetParent( SFYResponderSmpConstRef param ) (SFYResponder から継承)
指定されたレスポンダをこのレスポンダの親レスポンダに設定します。
Void SetPropertyTransparent( Bool param ) (SFYResponder から継承)
指定された透過属性をこのレスポンダに設定します。
Void SetRealBound( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域をこのレスポンダの実領域に設定します。
Void SetReference( VoidPtr param ) (SFYResponder から継承)
指定された値をこのレスポンダのリファレンスに設定します。
Void SetRenderer( SFYRendererPtr param ) (SFYResponder から継承)
指定された描画エンジンをこのレスポンダに設定します。
Void SetState( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
指定された値をこのレスポンダの可視、活性、操作可能、フォーカスの各状態フラグに設定します。
Void SetStateActive( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの活性状態フラグに設定します。
Void SetStateEnable( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの操作可能状態フラグに設定します。
Void SetStateFocus( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダのフォーカス状態フラグに設定します。
Void SetStateVisible( Bool param ) (SFYResponder から継承)
指定された値をこのレスポンダの可視状態フラグに設定します。
Void SetVirtualBound( SFXRectangleConstRef param ) (SFYResponder から継承)
指定された領域をこのレスポンダの仮想領域に設定します。
SFCError Snapshot( SFBBitmapSmpConstRef bitmap ) (SFYResponder から継承)
デバイス画面保存用ビットマップからこのレスポンダとレスポンダ空間との交差領域のスナップショットを取得します。
Void Terminate( Void ) (SFYResponder から継承)
このレスポンダの終了処理を行います。
Void ToBack( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToBack( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最背面に移動します。
Void ToFront( Void ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToFront( UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで最前面に移動します。
Void ToNthBackward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthBackward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで背面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void ToNthForward( SInt32 index , UInt32 id , Bool visible , Bool active , Bool enable , Bool focus ) (SFYResponder から継承)
このレスポンダを指定された条件の姉妹レスポンダのなかで前面から数えて指定された位置に移動します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::RuleRecConstRef rule ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstRef range , SFYHandler::HandlerSPP spp , VoidPtr reference ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::RuleRecConstPtr rule , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterHandler( SFXEventRangeConstPtr range , SFYHandler::HandlerSPPConstPtr spp , VoidPtrConstPtr reference , SInt32 length ) (SFYResponder から継承)
このレスポンダから指定されたハンドラの登録を解除します。
Void UnregisterTracer( SFXEventRangeConstRef range ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
Void UnregisterTracer( SFXEventRangeConstPtr range , SInt32 length ) (SFYResponder から継承)
このレスポンダのトレーサから指定された配信規則の登録を解除します。
プロテクト関数
SFXMarginConstRef GetFrameMargin( Void )
フレームマージンを取得します。
Void HandleBoundVirtual( Void )
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です (仮想領域が変化したときの処理を行います)。
Bool HandleDownKey( Void )
DOWN キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleLeftKey( Void )
LEFT キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleOperateKey( Void )
操作キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleRightKey( Void )
RIGHT キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
Bool HandleUpKey( Void )
UP キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
static
SFYResponderSmp
Factory( SFYResponderPtr responder , SFCErrorPtr exception = null ) (SFYResponder から継承)
NewInstance 関数の実装を補助します。
SFYResponderSmp GetThis( Void ) (SFYResponder から継承)
このレスポンダのスマートポインタを取得します。
Void HandleBoundGlobal( SFXRectangleConstRef rectangle ) (SFYWidget から継承)
[非推奨(廃止予定 API)] グローバル領域が変化したときに呼び出される関数です。
Void HandleBoundOptimize( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_OPTIMIZE) イベントを受信したときに呼び出される関数です(指定した矩形に収まる範囲内で最適な領域を計算します)。
Void HandleBoundReal( Void ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REAL) イベントを受信したときに呼び出される関数です (実領域が変化したときの処理を行います)。
Void HandleBoundRequest( SFXRectanglePtr rectangle ) (SFYWidget から継承)
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_REQUEST) イベントを受信したときに呼び出される関数です(最適な領域を計算します)。
Void HandleRenderRequest( SFXGraphicsPtr graphics ) (SFYWidget から継承)
描画イベントを受信したときに呼び出される関数です(レスポンダを描画します)。
Void SetType( SFCType param ) (SFYResponder から継承)
指定された値をこのレスポンダのタイプに設定します。
CodeEnum
SFZTableView クラスを表す定数です。
HorizontalEnum (SFYResponder から継承)
水平方向のアライメントを表す定数です。
VerticalEnum (SFYResponder から継承)
垂直方向のアライメントを表す定数です。

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

解説

このコンストラクタは、以下の初期化処理を行います。

  • タイプを "+tbv" に設定します。
  • 各種属性の初期化を行います。別表に記載。
  • 操作キーを AVK_SELECT に設定します。
  • UP キーを AVK_UP に設定します。
  • DOWN キーを AVK_DOWN に設定します。
  • LEFT キーを AVK_LEFT に設定します。
  • RIGHT キーを AVK_RIGHT に設定します。
  • 優先選択列を 0 に設定します。
  • ヘッダーの高さを 22 に設定します。
  • 項目の高さを 22 に設定します。
  • フレームを可視に設定します。
  • ヘッダーを可視に設定します。
  • X カーソルループフラグを false に設定します。
  • Y カーソルループフラグを false に設定します。
  • フル行選択フラグを false に設定します。
属性キー 属性値
SFLPROP_COLOR_GRADIENT_STYLE 0
SFLPROP_HORIZONTAL_RULED_LINE_ENABLE true
SFLPROP_VERTICAL_RULED_LINE_ENABLE true
SFLPROP_SELECTED_BACKGROUND_COLOR SFXRGBColor(0x71, 0x9C, 0xE2, 0x00)
SFLPROP_SELECTED_BACKGROUND_GRADIENT_COLOR SFXRGBColor(0x40, 0x50, 0xA0, 0x00)
SFLPROP_RULED_LINE_COLOR SFXRGBColor(0xF0, 0xF0, 0xF0, 0x00)
SFLPROP_HEADER_BEVEL_LIGHT_COLOR SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00)
SFLPROP_HEADER_BEVEL_BASE_COLOR SFXRGBColor(0xDD, 0xDD, 0xDD, 0x00)
SFLPROP_HEADER_BEVEL_DARK_COLOR SFXRGBColor(0x88, 0x88, 0x88, 0x00)
SFLPROP_HEADER_SEPARATOR_COLOR SFXRGBColor(0x6E, 0x6E, 0x6E, 0x00)
SFLPROP_FRAME_OUTER_BEVEL_LIGHT_COLOR SFXRGBColor(0xAA, 0xAA, 0xAA, 0x00)
SFLPROP_FRAME_OUTER_BEVEL_BASE_COLOR SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00)
SFLPROP_FRAME_OUTER_BEVEL_DARK_COLOR SFXRGBColor(0xEE, 0xEE, 0xEE, 0x00)
SFLPROP_FRAME_INNER_BEVEL_LIGHT_COLOR SFXRGBColor(0x6E, 0x6E, 0x6E, 0x00)
SFLPROP_FRAME_INNER_BEVEL_BASE_COLOR SFXRGBColor(0xFF, 0xFF, 0xFF, 0x00)
SFLPROP_FRAME_INNER_BEVEL_DARK_COLOR SFXRGBColor(0xAA, 0xAA, 0xAA, 0x00)

参照

SFXHierarchyProperty


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

解説

このデストラクタは、 テーブルビューカラムをすべてクリアします。

[Note] 注意

この関数は、内部的に SFZTableView::ClearColumn 関数を呼び出します。

参照

SFZTableView::ClearColumn


SFZTableView::AddColumn
テーブルビューの末尾(右端)にテーブルビューカラムを追加します。
[ public ]
SFCError AddColumn(
    SFOTableViewColumnSmpConstRef viewcolumn   // 設定するテーブルビューカラム
);

戻り値

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

解説

この関数は、 テーブルビューの末尾(右端)にテーブルビューカラムを追加します。

[Note] 注意

この操作により、 viewcolumn 引数に指定した テーブルビューカラム(SFOTableViewColumn)の参照カウントはインクリメントされます。

使用例

以下は、テーブルビューにテーブルビューカラムを追加するコードです。

SFZTableViewSmp view = SFZTableView::NewInstance();
SFOTableViewColumnSmp vcol = SFOTableViewColumn::NewInstance("title", 0, SFOTableCellTextReactor::NewInstance());

view->AddColumn(vcol);

参照

SFOTableViewColumn | SFOTableCellTextReactor


SFZTableView::ClearColumn
テーブルビューカラムをすべてクリアします。
[ public ]
Void ClearColumn(Void);

解説

この関数は、 テーブルビューのテーブルビューカラムをすべてクリアします。

[Note] 注意

この操作により、 テーブルビューの各テーブルビューカラム(SFOTableViewColumn)の参照カウントはデクリメントされます。

参照

SFOTableViewColumn


SFZTableView::GetDownKey
DOWN キーを取得します。
[ public, const ]
AVKType GetDownKey(Void);

戻り値

テーブルビューの DOWN キー。

解説

この関数は、テーブルビューの DOWN キーを取得します。

[Note] 注意

テーブルビューの DOWN キーは、 SFZTableView::SetDownKey 関数を利用して設定します。

参照

SFZTableView::SetDownKey | SFZTableView::HandleDownKey | AVKType


SFZTableView::GetFocusedCellColumnIndex
現在フォーカスが当たっているセルの列番号を取得します。
[ public, const ]
SInt32 GetFocusedCellColumnIndex(Void);

戻り値

現在フォーカスが当たっているセルの列番号。

解説

この関数は、 現在フォーカスが当たっているセルの列番号を取得します。

[Note] 注意

カーソルのあるセルの列番号が返ります。 行選択モードである場合は、 SFZTableView::SetPreferredColumn 関数で設定した優先セル選択列番号が返ります。

参照

SFZTableView::GetFocusedCellRowIndex | SFZTableView::SetPreferredColumn | SFZTableView::SetFocusedCellIndex


SFZTableView::GetFocusedCellRowIndex
現在フォーカスが当たっているセルの行番号を取得します。
[ public, const ]
SInt32 GetFocusedCellRowIndex(Void);

戻り値

現在フォーカスが当たっているセルの行番号。

解説

この関数は、 現在フォーカスが当たっているセルの行番号を取得します。

[Note] 注意

カーソルのあるセルの行番号が返ります。

参照

SFZTableView::GetFocusedCellColumnIndex | SFZTableView::SetFocusedCellIndex


SFZTableView::GetFrameMargin
フレームマージンを取得します。
[ protected, const ]
SFXMarginConstRef GetFrameMargin(Void);

戻り値

解説

この関数は、 フレームマージン(テーブルビューの枠用余白領域)を取得します。

[Note] 注意

フレームの可視・不可視の設定は、SFZTableView::SetFrameVisible 関数を利用して行います。

参照

SFZTableView::SetFrameVisible | SFXMargin


SFZTableView::GetFrameVisible
フレームの可視状態を取得します。
[ public, const ]
Bool GetFrameVisible(Void);

戻り値

  • 可視であるとき: true
  • そうでないとき: false

解説

この関数は、 フレーム(テーブルビューの枠)の可視状態を取得します。

[Note] 注意

フレームの可視・不可視の設定は、SFZTableView::SetFrameVisible 関数を利用して行います。

参照

SFZTableView::SetFrameVisible


SFZTableView::GetFullRowSelect
セル/行選択モードを取得します。
[ public, const ]
Bool GetFullRowSelect(Void);

戻り値

  • 行選択モードのとき: true
  • セル選択モードのとき: false

解説

この関数は、 セル/行選択モードを取得します。

参照

SFZTableView::SetFullRowSelect


SFZTableView::GetHeaderHeight
ヘッダーの高さを取得します。[単位: ピクセル]
[ public, const ]
SInt16 GetHeaderHeight(Void);

戻り値

ヘッダー(列のタイトル名などが描画される領域)の高さ。[単位: ピクセル]

解説

この関数は、 ヘッダー(列のタイトル名などが描画される領域)の高さを取得します。[単位: ピクセル]

[Note] 注意

この関数で得られる値は、 SFZTableView::SetHeaderVisible 関数によるヘッダーの可視状態の設定に関係なく、 常に SFZTableView::SetHeaderHeight 関数で設定した値となります。

参照

SFZTableView::SetHeaderHeight | SFZTableView::SetHeaderVisible


SFZTableView::GetHeaderVisible
ヘッダーの可視状態を取得します。
[ public, const ]
Bool GetHeaderVisible(Void);

戻り値

  • 可視であるとき: true
  • そうでないとき: false

解説

この関数は、 ヘッダー(列のタイトル名などが描画される領域)の可視状態を取得します。

[Note] 注意

ヘッダーの可視・不可視の設定は、SFZTableView::SetHeaderVisible 関数を利用して行います。

参照

SFZTableView::SetHeaderVisible


SFZTableView::GetItemHeight
項目[行]の高さを取得します。[単位: ピクセル]
[ public, const ]
SInt16 GetItemHeight(Void);

戻り値

項目[行]の高さ。[単位: ピクセル]

解説

この関数は、テーブルビューの項目[行]の高さを取得します。[単位: ピクセル]

[Note] 注意

テーブルビューの項目[行]の高さは、 SFZTableView::SetItemHeight 関数を利用して設定します。

参照

SFZTableView::SetItemHeight


SFZTableView::GetLeftKey
LEFT キーを取得します。
[ public, const ]
AVKType GetLeftKey(Void);

戻り値

テーブルビューの LEFT キー。

解説

この関数は、テーブルビューの LEFT キーを取得します。

[Note] 注意

テーブルビューの LEFT キーは、 SFZTableView::SetLeftKey 関数を利用して設定します。

参照

SFZTableView::SetLeftKey | SFZTableView::HandleLeftKey | AVKType


SFZTableView::GetOperateKey
操作キーを取得します。
[ public, const ]
AVKType GetOperateKey(Void);

戻り値

テーブルビューの操作キー。

解説

この関数は、テーブルビューの操作キーを取得します。

[Note] 注意

テーブルビューの操作キーは、 SFZTableView::SetOperateKey 関数を利用して設定します。

参照

SFZTableView::SetOperateKey | SFZTableView::HandleOperateKey | AVKType


SFZTableView::GetPreferredColumn
優先セル選択列番号を取得します。
[ public, const ]
SInt32 GetPreferredColumn(Void);

戻り値

優先列選択の列番号。

解説

この関数は、 優先セル選択列番号を取得します(行選択モード ON の時のみ有効)。

[Note] 優先セル選択列番号について

優先セル選択列番号は、 SFZTableView::SetFullRowSelect 関数を使用して行選択モードを ON にしている場合に限り有効です。

行選択モード時に操作キーを押下してカーソル行を選択すると、 カーソル行内のこの列番号のセルが選択されて処理されます。

参照

SFZTableView::SetPreferredColumn | SFZTableView::SetFullRowSelect | SFZTableView::HandleOperateKey


SFZTableView::GetProperty
指定された属性キーに対応する属性値を取得します。
[ public, const ]
ValueRec GetProperty(
    UInt32 key             // 検索する属性キー
    BoolPtr found = null   // null 以外の BoolPtr 値を指定すると、属性キーの有無が返る
);

戻り値

指定された属性キーに対応する属性値(SFXHierarchyProperty::ValueRec)。

解説

この関数は、指定された属性キーに対応する属性値を取得します。

属性キーが見つからなかった場合、null 値が返ります。

[Note] SFXHierarchyProperty::ValueRec の null 値

SFXHierarchyProperty::ValueRec は最大 4 バイトの共用体で、null 値はその全てのビットが 0 になります。 従って、型が SFXRGBColor の場合は SFXRGBColor(0x00, 0x00, 0x00, 0x00) で黒色、Bool の場合は false となります。

found 引数を null 以外の BoolPtr 値を指定すると、 属性キーの有無が返ります。 属性キーの有無を判定するだけなら SFZTableView::HasProperty 関数も利用可能です。

[Note] 注意

属性についての詳細は、 SFXHierarchyProperty クラスの解説を参照してください。

参照

SFXHierarchyProperty::ValueRec | SFZTableView::HasProperty | SFXHierarchyProperty


SFZTableView::GetRightKey
RIGHT キーを取得します。
[ public, const ]
AVKType GetRightKey(Void);

戻り値

テーブルビューの RIGHT キー。

解説

この関数は、テーブルビューの RIGHT キーを取得します。

[Note] 注意

テーブルビューの RIGHT キーは、 SFZTableView::SetRightKey 関数を利用して設定します。

参照

SFZTableView::SetRightKey | SFZTableView::HandleRightKey | AVKType


SFZTableView::GetScrollBarControl
テーブルビューに関連付けられているスクロールバーコントロールを取得します。
[ public, const ]
SFYScrollBarControlSmpConstRef GetScrollBarControl(Void);

戻り値

スクロールバーコントロール。

解説

この関数は、 テーブルビューに関連付けられているスクロールバーコントロールを取得します。

参照

SFZTableView::SetScrollBarControl


SFZTableView::GetUpKey
UP キーを取得します。
[ public, const ]
AVKType GetUpKey(Void);

戻り値

テーブルビューの UP キー。

解説

この関数は、UP キーを取得します。

[Note] 注意

テーブルビューの UP キーは、 SFZTableView::SetUpKey 関数を利用して設定します。

参照

SFZTableView::SetUpKey | SFZTableView::HandleUpKey | AVKType


SFZTableView::GetXLoop
X カーソルループフラグを取得します。
[ public, const ]
Bool GetXLoop(Void);

戻り値

  • X カーソルループをするとき: true
  • そうでないとき: false

解説

この関数は、X カーソルループフラグを取得します。

参照

SFZTableView::SetXLoop


SFZTableView::GetYLoop
Y カーソルループフラグを取得します。
[ public, const ]
Bool GetYLoop(Void);

戻り値

  • Y カーソルループをするとき: true
  • そうでないとき: false

解説

この関数は、Y カーソルループフラグを取得します。

参照

SFZTableView::SetYLoop


SFZTableView::HandleBoundVirtual
(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベントを受信したときに呼び出される関数です (仮想領域が変化したときの処理を行います)。
[ protected, virtual ]
Void HandleBoundVirtual(Void);

解説

この関数は、領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] を受信したときに呼び出されます。

仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装では、描画を開始する行の位置と、列の幅を再計算します。

[Note] 領域イベント[(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL) イベント]

SFYResponder::SetRealBound / SFYResponder::SetVirtualBound 関数は、 この関数内の処理により仮想領域が変化すると、 領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] をレスポンダに送信します。

SFYWidget クラスを継承するレスポンダが領域イベントを受信すると、 SFYWidget::SFYWidget コンストラクタで最初に登録した領域イベント専用ハンドラの処理により、 SFYWidget::HandleBoundVirtual 仮想関数が呼び出されます。

※ 領域イベントの P32 パラメータ rectangle には変更後の仮想領域が設定されています。

[Note] 仮想領域の変更処理

SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドする以外に、 領域イベント専用ハンドラ[XANDLER_DECLARE_VOIDBOUND]を定義・実装し レスポンダに登録して行うことも可能です。

仮想領域の変更処理は、最初に SFYWidget::HandleBoundVirtual 仮想関数を実行し、 次に領域イベント専用ハンドラを登録した順に実行して行われます。

領域イベント専用ハンドラを宣言し登録する手間が省けるので、 通常は SFYWidget::HandleBoundVirtual 仮想関数をオーバーライドして処理を記述します。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Void SFZTableView::HandleBoundVirtual(Void)
{
    RefreshYOffset();
    RefreshColumnWidth();
    return;
}// SFZTableView::HandleBoundVirtual //

/*private */Void SFZTableView::RefreshYOffset(Void)
{
    SInt16                                      boundHeight;

    _yoffset += ExpectYOffsetMovement(_ysel, &boundHeight);
    if (_bar != null) {
        if (_model != null) {
            _bar->SetMinimumValue(0);
            _bar->SetMaximumValue((_itemHeight + _ypadding) *  _model->GetRowLength() - _ypadding);
            _bar->SetPageValue(boundHeight);
            _bar->SetCurrentValue(-_yoffset);
        }
        else {
            _bar->SetMinimumValue(0);
            _bar->SetMaximumValue(0);
        }
    }
    return;
}// SFZTableView::RefreshYOffset //

/*private */SFCError SFZTableView::RefreshColumnWidth(Void)
{
    SInt32                                      colLen;
    SFCError                                    error(SFERR_NO_ERROR);

    if ((colLen = _vcolSeq.GetSize()) > 0) {
        if (_colWidth.GetSize() < colLen) {
            error = _colWidth.SetSize(colLen);
        }
        if (error == SFERR_NO_ERROR) {
            SFXRectangle                        bound;
            SInt32                              share;
            bound.Set(GetLocalBound());
            bound.Deflate(GetFrameMargin());
            share = bound.GetWidth();
            share -= _xpadding * (colLen - 1);
            if (share > 0) {
                SInt32                          i;
                SInt32                          nAuto(0);
                for (i = 0; i < colLen; ++i) {
                    Bool                        found;
                    SInt16                      temp;
                    temp = _vcolSeq[i]->GetProperty(SFLPROP_FIXED_WIDTH, &found).s16;
                    if (found) {
                        _colWidth[i] = temp;
                        share -= temp;
                    }
                    else {
                        nAuto++;
                        _colWidth[i] = -1;
                    }
                }
                if (share > 0 && nAuto > 0) {
                    SInt32                      width;
                    SInt32                      residue;
                    width = share / nAuto;
                    residue = share - width * nAuto;
                    for (i = 0; i < colLen; ++i) {
                        if (_colWidth[i] == -1) {
                            if (--nAuto > 0) {
                                _colWidth[i] = static_cast<SInt16>(width);
                            }
                            else {
                                _colWidth[i] = static_cast<SInt16>(width + residue);
                            }
                        }
                    }
                }
            }
        }
    }
    return error;
}// SFZTableView::RefreshColumnWidth //

参照

SFYResponder::SetRealBound | SFYResponder::SetVirtualBound | 領域イベント[SFEVT_RESPONDER_BOUND]


SFZTableView::HandleDownKey
DOWN キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleDownKey(Void);

解説

この関数は、SFZTableView::SetDownKey 関数で設定した DOWN キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は以下の通りです。

カーソル(フォーカスされている行またはセル)を 1 つ下に移動します。

カーソルが最下端にある場合は、 Y カーソルループフラグの値に応じて以下のように異なります。

  • true の場合: カーソルを最上端の行/セルに移動します。
  • false の場合: カーソルを移動しません。
[Note] 注意

Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。

[Note] カーソル

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。

参照

SFZTableView::SetDownKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFXEvent | キーイベント[SFEVT_KEY]


SFZTableView::HandleLeftKey
LEFT キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleLeftKey(Void);

解説

この関数は、SFZTableView::SetLeftKey 関数で設定した LEFT キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は以下の通りです。

セル/行選択モードにより以下のように異なります。

[Note] セル/行選択モード

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

■セル選択モード時

カーソル(フォーカスされているセル)を 1 つ左に移動します。

カーソルが最左端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように異なります。

  • true の場合: カーソルを最右端のセルに移動します。
  • false の場合: カーソルを移動しません。
[Note] 注意

X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。

■行選択モード時

カーソル(フォーカスされている行)を移動しません。

優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。

[Note] 注意

優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。

参照

SFZTableView::SetLeftKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFXEvent | キーイベント[SFEVT_KEY]


SFZTableView::HandleOperateKey
操作キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleOperateKey(Void);

解説

この関数は、SFZTableView::SetOperateKey 関数で設定した操作キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は以下の通りです。

選択されたセルのフォーカスを一時的に外し、 SFOTableCellReactor::Handle 関数を呼び出して操作(セレクト処理)を行います。 その後フォーカスを復帰します。

フォーカスがセルに復帰するタイミングは、 SFOTableCellReactor::Handle 関数内で SFOTableCellReactor::InvokeResultCell 関数を呼び出したときです。

[Note] 行選択モードの場合

行選択モードで操作キーを押下した場合、 選択されるセルはカーソル行の優先セル選択列番号のセルです。

行選択モード/優先セル選択列番号の設定は、 SFZTableView::SetFullRowSelect / SFZTableView::SetPreferredColumn 関数を利用して行います。

[Note] セレクト処理について

SFOTableCellReactor::Handle 関数の振る舞いは、 セルのデータの種類や状態に応じて以下のように異なります。

セルがテキストで編集可能な場合は、 ネイティブテキスト入力コントロールを起動します (参照: SFOTableCellTextReactor::Handle 関数)。

セルがチェックボックスで編集可能な場合は、 チェックマークの状態を反転させます (参照: SFOTableCellToggleReactor::Handle 関数)。

上記以外の場合は、何も行いません。

内部実装

この関数の内部実装は以下の通りです。

/*protected virtual */Bool SFZTableView::HandleOperateKey(Void)
{
    Select();
    return true;
}// SFZTableView::HandleOperateKey //

参照

SFZTableView::SetOperateKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFOTableCellReactor::Handle | SFOTableCellTextReactor::Handle | SFOTableCellToggleReactor::Handle | SFOTableCellReactor::InvokeResultCell | SFXEvent | キーイベント[SFEVT_KEY]


SFZTableView::HandleRightKey
RIGHT キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleRightKey(Void);

解説

この関数は、SFZTableView::SetRightKey 関数で設定した RIGHT キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は以下の通りです。

セル/行選択モードにより以下のように異なります。

[Note] セル/行選択モード

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

■セル選択モード時

カーソル(フォーカスされているセル)を 1 つ右に移動します。

カーソルが最右端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように異なります。

  • true の場合: カーソルを最左端のセルに移動します。
  • false の場合: カーソルを移動しません。
[Note] 注意

X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。

■行選択モード時

カーソル(フォーカスされている行)を移動しません。

優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。

[Note] 注意

優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。

参照

SFZTableView::SetRightKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFXEvent | キーイベント[SFEVT_KEY]


SFZTableView::HandleUpKey
UP キーの SFEVT_KEY イベントを受信したときに呼び出される関数です。
[ protected, virtual ]
Bool HandleUpKey(Void);

解説

この関数は、SFZTableView::SetUpKey 関数で設定した UP キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。

独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。

デフォルトの実装は以下の通りです。

カーソル(フォーカスされている行またはセル)を 1 つ上に移動します。

カーソルが最上端にある場合は、 Y カーソルループフラグの値に応じて以下のように異なります。

  • true の場合: カーソルを最下端の行/セルに移動します。
  • false の場合: カーソルを移動しません。
[Note] 注意

Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。

[Note] カーソル

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。

参照

SFZTableView::SetUpKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFXEvent | キーイベント[SFEVT_KEY]


SFZTableView::HasProperty
指定された属性キーに対応する属性値が設定されているかどうかを判定します。
[ public, const ]
Bool HasProperty(
    UInt32 key   // 検索する属性キー
);

戻り値

  • キーが見つかったとき: true
  • そうでないとき: false

解説

この関数は、 指定された属性キーに対応する属性値が設定されているかどうかを判定します。

[Note] 注意

属性キーの有無の判定と属性値の取得を同時に行う場合は、 SFZTableView::GetProperty 関数を使用することを推奨します。 この場合、検索の回数が半分になり、パフォーマンスは向上します。

参照

SFZTableView::GetProperty | SFXHierarchyProperty


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

引数

exception

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

戻り値

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

解説

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

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

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

使用例

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

SFZTableViewSmp view;
SFCError error;

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

参照

SFZTableView


SFZTableView::Select
フォーカスが当たっているセルを選択します。
[ public ]
SFCError Select(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • テーブルビューにテーブルモデルが関連付けられていないとき、 テーブルモデルにデータが存在しないとき、 フォーカスが当たっているセルの行番号または列番号が範囲外であるとき、 またはテーブルモデルのセルが null であるとき: SFERR_INVALID_STATE

解説

この関数は、 フォーカスが当たっているセルを選択します。

選択されたセルのフォーカスを一時的に外し、 SFOTableCellReactor::Handle 関数を呼び出して操作(セレクト処理)を行います。 その後フォーカスを復帰します。

フォーカスがセルに復帰するタイミングは、 SFOTableCellReactor::Handle 関数内で SFOTableCellReactor::InvokeResultCell 関数を呼び出したときです。

[Note] 行選択モードの場合

行選択モードで操作キーを押下した場合、 選択されるセルはカーソル行の優先セル選択列番号のセルです。

行選択モード/優先セル選択列番号の設定は、 SFZTableView::SetFullRowSelect / SFZTableView::SetPreferredColumn 関数を利用して行います。

[Note] セレクト処理について

SFOTableCellReactor::Handle 関数の振る舞いは、 セルのデータの種類や状態に応じて以下のように異なります。

セルがテキストで編集可能な場合は、 ネイティブテキスト入力コントロールを起動します (参照: SFOTableCellTextReactor::Handle 関数)。

セルがチェックボックスで編集可能な場合は、 チェックマークの状態を反転させます (参照: SFOTableCellToggleReactor::Handle 関数)。

上記以外の場合は、何も行いません。

内部実装

この関数の内部実装は以下の通りです。

*public */SFCError SFZTableView::Select(Void)
{
    SInt32                                      colLen;
    SInt32                                      rowLen;
    SInt32                                      col;
    SInt32                                      row;
    SFXAnyPtr                                   cellobj;
    SFCError                                    error(SFERR_NO_ERROR);

    if (_model != null) {
        colLen = _vcolSeq.GetSize();
        rowLen = _model->GetRowLength();
        if (colLen > 0 && rowLen > 0) {
            col = _fullRowSelect ? _preferXsel : _xsel;
            row = _ysel;
            if (col >= 0 && col < colLen && row >= 0 && row < rowLen) {
                cellobj = _model->GetColumnRow(_vcolSeq[col]->GetModelColumnIndex(), row);
                if (cellobj != null) {
                    OffFocusCell();
                    if (_vcolSeq[col]->HandleCell(*cellobj, row, OnFocusCellSPP, this, &_property)) {
                        Invalidate();
                    }
                }
                else {
                    error = SFERR_INVALID_STATE;
                }
            }
            else {
                error = SFERR_INVALID_STATE;
            }
        }
        else {
            error = SFERR_INVALID_STATE;
        }
    }
    else {
        error = SFERR_INVALID_STATE;
    }
    return error;
}// SFZTableView::Select //

参照

SFZTableView::SetFocusedCellIndex | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFOTableCellReactor::Handle | SFOTableCellTextReactor::Handle | SFOTableCellToggleReactor::Handle | SFOTableCellReactor::InvokeResultCell


SFZTableView::SetDownKey
指定されたキーをテーブルビューの DOWN キーに設定します。
[ public ]
Void SetDownKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 指定されたキーをテーブルビューの DOWN キーに設定します。

デフォルト値: AVK_DOWN

DOWN キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleDownKey 関数) によりカーソル(フォーカスされている行またはセル)が 1 つ下に移動します。

カーソルが最下端にある場合は、 Y カーソルループフラグの値に応じて以下のように振る舞いが異なります。

  • true の場合: カーソルは最上端の行/セルに移動します。
  • false の場合: カーソルは移動しません。
[Note] 注意

Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。

[Note] カーソル

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。

参照

SFZTableView::GetDownKey | SFZTableView::HandleDownKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetUpKey | SFZTableView::SetLeftKey | SFZTableView::SetRightKey | SFZTableView::SetYLoop | AVKType


SFZTableView::SetFocusedCellIndex
指定された行番号と列番号のセルにフォーカスを当てます。
[ public ]
SFCError SetFocusedCellIndex(
    SInt32 column   // 列番号
    SInt32 row      // 行番号
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • テーブルビューにテーブルモデルが関連付けられていないとき、 またはテーブルモデルにデータが存在しないとき: SFERR_INVALID_STATE
  • 範囲外の行番号または列番号を指定したとき: SFERR_INVALID_PARAM

解説

この関数は、 指定された行番号と列番号のセルにフォーカスを当てます。

[Note] 注意

行選択モードである場合は、 SFZTableView::SetPreferredColumn 関数で設定した優先セル選択列番号のセルにフォーカスが移動します。

参照

SFZTableView::GetFocusedCellColumnIndex | SFZTableView::GetFocusedCellRowIndex | SFZTableView::SetPreferredColumn


SFZTableView::SetFrameVisible
フレームの可視状態を設定します。
[ public ]
Void SetFrameVisible(
    Bool param   // 設定する値: 可視の場合は true、不可視の場合は false
);

解説

この関数は、 フレーム(テーブルビューの枠)の可視状態を設定します。

デフォルト値: true。

param 引数に false に指定すると、 フレームは不可視となり、 フレームマージン(テーブルビューの枠用余白領域)は確保されず、 フレームは描画されません。

[Note] 注意

フレームの可視・不可視により、 SFZTableView::GetFrameMargin 関数で得られるフレームマージンは異なります。

参照

SFZTableView::GetFrameVisible | SFZTableView::GetFrameMargin


SFZTableView::SetFullRowSelect
セル/行選択モードを設定します。
[ public ]
Void SetFullRowSelect(
    Bool param   // 行選択モードの場合は true、セル選択モードの場合は false
);

解説

この関数は、 セル/行選択モードを設定します。

デフォルト値: false(セル選択モード)。

param 引数に true を指定した場合、 行選択モードになり、 カーソルは行単位で描画され、 行単位でテーブルビューの要素が選択されます。

false を指定した場合は、 セル選択モードになり、 カーソルはセル単位で描画され、 セル単位でテーブルビューの要素が選択されます。

[Note] 行選択モード時のセル選択

行選択モードで操作キーを押下した場合、カーソル行の優先セル選択列番号のセルが選択されます。 (デフォルト: 0 番目の列のセル)。

※ 優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。

参照

SFZTableView::GetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::HandleLeftKey | SFZTableView::HandleRightKey


SFZTableView::SetHeaderHeight
ヘッダーの高さを設定します。[単位: ピクセル]
[ public ]
Void SetHeaderHeight(
    SInt16 param   // 設定する値 [単位: ピクセル]
);

解説

この関数は、 ヘッダー(列のタイトル名などが描画される領域)の高さを設定します。[単位: ピクセル]

デフォルト値: 22 ピクセル。

参照

SFZTableView::GetHeaderHeight


SFZTableView::SetHeaderVisible
ヘッダーの可視状態を設定します。
[ public ]
Void SetHeaderVisible(
    Bool param   // 設定する値: 可視の場合は true、不可視の場合は false
);

解説

この関数は、 ヘッダー(列のタイトル名などが描画される領域)の可視状態を設定します。

デフォルト値: true

param 引数に false に指定すると、 ヘッダーは不可視となり、描画されません。

[Note] 注意

SFZTableView::GetHeaderHeight 関数で得られる値は、 ヘッダーの可視・不可視の影響を受けません。

SFZTableView::SetHeaderHeight 関数で設定した値となります。

参照

SFZTableView::GetHeaderVisible | SFZTableView::GetHeaderHeight | SFZTableView::SetHeaderHeight


SFZTableView::SetItemHeight
項目[行]の高さを設定します。[単位: ピクセル]
[ public ]
Void SetItemHeight(
    SInt16 param   // 設定する値 [単位: ピクセル]
);

解説

この関数は、 テーブルビューの項目[行]の高さを設定します。[単位: ピクセル]

デフォルト値: 22 ピクセル。

参照

SFZTableView::GetItemHeight


SFZTableView::SetLeftKey
指定されたキーをテーブルビューの LEFT キーに設定します。
[ public ]
Void SetLeftKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 指定されたキーをテーブルビューの LEFT キーに設定します。

デフォルト値: AVK_LEFT

セル/行選択モードにより以下のように振る舞いが異なります。

[Note] セル/行選択モード

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

■セル選択モード時

LEFT キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleLeftKey 関数) によりカーソル(フォーカスされているセル)が 1 つ左に移動します。

カーソルが最左端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように振る舞いが異なります。

  • true の場合: カーソルは最右端のセルに移動します。
  • false の場合: カーソルは移動しません。
[Note] 注意

X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。

■行選択モード時

LEFT キーが押下されても、 カーソル(フォーカスされている行)は移動しません。

優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。

[Note] 注意

優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。

参照

SFZTableView::GetLeftKey | SFZTableView::HandleLeftKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFZTableView::SetRightKey | SFZTableView::SetDownKey | SFZTableView::SetUpKey | SFZTableView::SetXLoop | AVKType


SFZTableView::SetModel
指定されたテーブルモデルを設定します。
[ public ]
Void SetModel(
    SFOTableModelBaseSmpConstRef param   // 設定するテーブルモデル
);

解説

この関数は、 指定されたテーブルモデルを設定します。

[Note] テーブルモデル

テーブルモデル(SFOTableModel クラス)とは、 テーブルビュー(SFZTableView クラス)で表示・編集するデータを表します。

使用例

以下は、テーブルモデルを設定するコードです。

SFZTableViewSmp view;
SFOTableModelSmp model;

view = SFZTableView::NewInstance();
model = SFOTableModel::NewInstance();

view->SetModel(model);

参照

SFOTableModelBase | SFOTableModel


SFZTableView::SetOperateKey
操作キーを設定します。
[ public ]
Void SetOperateKey(
    AVKType param   // 設定する値
);

解説

この関数は、 テーブルビューの操作キーを設定します。

デフォルト値: AVK_SELECT

[Note] 注意

操作キーが押下されると、 SFZTableView::HandleOperateKey 関数が呼び出されます。

参照

SFZTableView::GetOperateKey | SFZTableView::HandleOperateKey | AVKType


SFZTableView::SetPreferredColumn
指定された値を優先セル選択列番号に設定します。
[ public ]
Void SetPreferredColumn(
    SInt32 param   // 設定する値
);

解説

この関数は、 指定された値を優先セル選択列番号に設定します(行選択モード ON の時のみ有効)。

デフォルト値: 0。

[Note] 優先セル選択列番号について

優先セル選択列番号は、行選択モード時に限り有効です。

行選択モード時に操作キーを押下してカーソル行を選択すると、 カーソル行のこの列番号のセルが選択されて処理されます。

※ 行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

参照

SFZTableView::GetPreferredColumn | SFZTableView::SetFullRowSelect | SFZTableView::HandleOperateKey | SFZTableView::HandleLeftKey | SFZTableView::HandleRightKey


SFZTableView::SetProperty
指定された属性キーに対応する属性値を設定します。
[ public ]
SFCError SetProperty(
    UInt32 key       // 設定する属性キー
    ValueRec value   // 設定する属性値
);

戻り値

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

解説

この関数は、 指定された属性キーに対応する属性値を設定します。

[Note] 注意

属性についての詳細は、 SFXHierarchyProperty クラスの解説を参照してください。

参照

SFXHierarchyProperty::ValueRec | SFXHierarchyProperty


SFZTableView::SetRightKey
指定されたキーをテーブルビューの RIGHT キーに設定します。
[ public ]
Void SetRightKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 指定されたキーをテーブルビューの RIGHT キーに設定します。

デフォルト値: AVK_RIGHT

セル/行選択モードにより以下のように振る舞いが異なります。

[Note] セル/行選択モード

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

■セル選択モード時

RIGHT キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleRightKey 関数) によりカーソル(フォーカスされているセル)が 1 つ右に移動します。

カーソルが最右端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように振る舞いが異なります。

  • true の場合: カーソルは最左端のセルに移動します。
  • false の場合: カーソルは移動しません。
[Note] 注意

X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。

■行選択モード時

RIGHT キーが押下されても、 カーソル(フォーカスされている行)は移動しません。

優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。

[Note] 注意

優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。

参照

SFZTableView::GetRightKey | SFZTableView::HandleRightKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFZTableView::SetLeftKey | SFZTableView::SetDownKey | SFZTableView::SetUpKey | SFZTableView::SetXLoop | AVKType


SFZTableView::SetScrollBarControl
テーブルビューに関連付けるスクロールバーコントロールを設定します。
[ public ]
Void SetScrollBarControl(
    SFYScrollBarControlSmpConstRef bar   // スクロールバーコントロール
);

解説

この関数は、 テーブルビューで使用されるスクロールバーコントロールを設定します。

デフォルト値: SFYScrollBarControlSmp::EmptyInstance()[デフォルトではスクロールバーコントロールは設定されていません]。

[Note] 注意

垂直方向のスクロールバーコントロール(SFYScrollBarControl::VERTICAL)だけがサポートされます。

使用例

以下は、スクロールバーコントロールを設定するコードです。

SFZTableViewSmp view;
SFZScollBarControlSmp bar;

view = SFZTableView::NewInstance();
view->SetParent(GetThis());
view->SetRealBound(GetLocalBound().Deflate(5, 5, 10, 5));
view->SetState(true, true, true, true);

bar = SFZScrollBarConrol::NewInstance();
bar->SetParent(GetThis());
SFXRectangle bound(view->GetRealBound());
bar->SetRealBound(bound.AddX(bound.GetWidth()).SetWidth(5));

view->SetScrollBarControl(bar);

参照

SFZTableView::GetScrollBarControl | SFYScrollBarControl::OrientationEnum | SFYScrollBarControl


SFZTableView::SetUpKey
指定されたキーをテーブルビューの UP キーに設定します。
[ public ]
Void SetUpKey(
    AVKType param   // 設定するキー
);

解説

この関数は、 指定されたキーをテーブルビューの UP キーに設定します。

デフォルト値: AVK_UP

UP キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleUpKey 関数) によりカーソル(フォーカスされている行またはセル)が 1 つ上に移動します。

カーソルが最上端にある場合は、 Y カーソルループフラグの値に応じて以下のように振る舞いが異なります。

  • true の場合: カーソルは最下端の行/セルに移動します。
  • false の場合: カーソルは移動しません。
[Note] 注意

Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。

[Note] カーソル

カーソルは、 セル/行選択モードに応じてセル/行単位になります。

セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。

SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。

参照

SFZTableView::GetUpKey | SFZTableView::HandleUpKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetDownKey | SFZTableView::SetLeftKey | SFZTableView::SetRightKey | SFZTableView::SetYLoop | AVKType


SFZTableView::SetXLoop
X カーソルループフラグを設定します。
[ public ]
Void SetXLoop(
    Bool param   // 設定する値: X カーソルループする場合は true、しない場合は false
);

解説

この関数は、 X カーソルループフラグを設定します。

デフォルト値: false。

[Note] X カーソルループについて

X カーソルループとは、 カーソルが最右端/最左端の位置にあるときに RIGHT/LEFT キーを押下したときに、 カーソルを最左端/最右端に移動する振る舞いのことです。

参照

SFZTableView::GetXLoop | SFZTableView::HandleRightKey | SFZTableView::HandleLeftKey


SFZTableView::SetYLoop
Y カーソルループフラグを設定します。
[ public ]
Void SetYLoop(
    Bool param   // 設定する値: Y カーソルループする場合は true、しない場合は false
);

解説

この関数は、 X カーソルループフラグを設定します。

デフォルト値: false。

[Note] Y カーソルループについて

Y カーソルループとは、 カーソルが最上端/最下端の位置にあるときに UP/DOWN キーを押下したときに、 カーソルを最下端/最上端に移動する振る舞いのことです。

参照

SFZTableView::GetYLoop | SFZTableView::HandleDownKey | SFZTableView::HandleUpKey


SFZTableView::CodeEnum
SFZTableView クラスを表す定数です。
enum CodeEnum {
    CODE_TYPE = four_char_code('+', 't', 'b', 'v'),
};
SFMTYPEDEFTYPE(CodeEnum)

参照

SFYResponder::GetType | SFYResponder::SetType |