SophiaFramework UNIVERSE 5.3 |
#include <SFZTableView.h.hpp>
class SFZTableView : public SFYWidget;
SFMTYPEDEFRESPONDER(SFZTableView)
SFZTableView クラスの仕様
SFZTableView クラスは、 テーブルモデル(SFOTableModel)を利用して表形式のビュー(テーブルビュー)を提供するレスポンダです。
テーブルビュー(SFZTableView)は、 表示する列に相当する数だけのテーブルビューカラム(SFOTableViewColumn)を保持します。
各テーブルビューカラムは列タイトルを表すヘッダーを描画し、各データを表すテーブルセル (セル) を表示・編集するための 1つ のテーブルセルリアクター (SFOTableCellReactor) を保持します。
テーブルビューカラムにテーブルモデル(SFOTableModel)の列番号を指定することで、ビューの列に表示したいデータとを 関連付けることができます。
テーブルモデル
テーブルモデル(SFOTableModel)は、 テーブルビュー(SFZTableView)に表示するための表形式のデータです。
テーブルモデルは、 項目[行](SFXTableItemBase)の可変長配列(SFXArray)で構成されます。
項目[行]は、 セルオブジェクト(SFXAny)の固定長配列 (サイズはテンプレートパラメータ NUM) で構成されます。
※ 結果として、テーブルモデルでは、列数は固定、行数は可変となります。
関連付け
モデルとビュー | |
---|---|
テーブルビューへのテーブルモデルの関連付けは、 SFZTableView::SetModel 関数を利用して行います。 |
ビューと列 | |
---|---|
テーブルビューへのテーブルビューカラムの追加は、 SFZTableView::AddColumn 関数を利用して行います。 |
モデル列とビュー列 | |
---|---|
テーブルビューカラムとテーブルモデルカラムの関連付けは、 SFOTableViewColumn::NewInstance 関数、または SFOTableViewColumn::SetModelColumnIndex 関数を利用して行います。 同じテーブルモデルカラムを異なる複数のテーブルビューカラムに関連付けることにより、 テーブルモデルの同じ列のデータをテーブルビュー内に複数の列として表示することが可能です。 |
ビュー列とセルリアクター | |
---|---|
テーブルビューカラムとテーブルセルリアクターの関連付けは、 SFOTableViewColumn::NewInstance 関数、または SFOTableViewColumn::SetCellReactor 関数を利用して行います。 デフォルトの具象テーブルセルリアクタークラスとして SFOTableCellTextReactor / SFOTableCellToggleReactor / SFOTableCellImageReactor クラスが提供されます。 これらの具象テーブルセルリアクタークラスを利用して、 テーブルビューのセルには列単位でテキスト、チェックボックス、画像を表示できます。 テキストとチェックボックスのセルは編集することも可能です。 |
SFZTableView / SFOTableViewColumn / SFOTableCellReactor の階層プロパティ
SFZTableView、 SFOTableViewColumn、 SFOTableCellReactor の各クラスは、内部に階層プロパティ (SFXHierarchyProperty)を保持しています。
これらの階層プロパティの間には、
SFZTableView のプロパティ → SFOTableViewColumn のプロパティ → SFOTableCellReactor のプロパティ
というプロパティの親子関係(継承関係)が存在します。 子プロパティに存在しない属性は親プロパティから継承し、 親プロパティの属性を子プロパティでオーバーライドすることが可能です。
注意 | |
---|---|
他のプロパティから継承されるプロパティを親プロパティ、 他のプロパティを継承するプロパティを子プロパティと呼びます。 また、親プロパティが存在しないプロパティをルートプロパティと呼びます。 |
階層プロパティの継承機能は、 テーブルビュー全体で定義したある属性について特定の列においてだけ変更したい場合に利用できます。
プロパティの属性
階層プロパティ(SFXHierarchyProperty)は、 属性キーと属性値のマップから構成され、 属性キーは前景色やテキストのフォントといった様々な属性の種類を表します(参照: 以下の表「SFZTableView / SFOTableViewColumn / SFOTableCellReactor のプロパティ」)。
SFZTableView / SFOTableViewColumn / SFOTableCellReactor / SFOTableCellTextReactor / SFOTableCellToggleReactor / SFOTableCellImageReactor クラスが内部に保持する、 階層プロパティ(SFXHierarchyProperty)の内容は以下の表にある通りです。
注意 | |
---|---|
デフォルト値が記入されている属性は、 テーブルビュー(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 |
注意 | |
---|---|
ユーザー定義クラスで 階層プロパティ(SFXHierarchyProperty)を使用する場合、 属性の解釈やデフォルト値は以下の内容に関係なく自由に変更・設定可能です。 また、SFLPROP_USER_CLASS_BEGIN(0x8000)から SFLPROP_USER_CLASS_END(0xFFFE) の間にユーザー独自の属性を定義することも可能です。 |
未使用の属性について | |
---|---|
未使用の属性に値を設定しても何も行われません。 |
□サンプルコード
詳細なコードは、 こちら(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; }
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 から継承)
垂直方向のアライメントを表す定数です。
|
[ protected, explicit ] SFZTableView(Void);
このコンストラクタは、以下の初期化処理を行います。
属性キー | 属性値 |
---|---|
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) |
[ protected, virtual ] ~SFZTableView(Void);
[ public ] SFCError AddColumn( SFOTableViewColumnSmpConstRef viewcolumn // 設定するテーブルビューカラム );
この関数は、 テーブルビューの末尾(右端)にテーブルビューカラムを追加します。
注意 | |
---|---|
この操作により、 viewcolumn 引数に指定した テーブルビューカラム(SFOTableViewColumn)の参照カウントはインクリメントされます。 |
以下は、テーブルビューにテーブルビューカラムを追加するコードです。
SFZTableViewSmp view = SFZTableView::NewInstance(); SFOTableViewColumnSmp vcol = SFOTableViewColumn::NewInstance("title", 0, SFOTableCellTextReactor::NewInstance()); view->AddColumn(vcol);
[ public ] Void ClearColumn(Void);
この関数は、 テーブルビューのテーブルビューカラムをすべてクリアします。
注意 | |
---|---|
この操作により、 テーブルビューの各テーブルビューカラム(SFOTableViewColumn)の参照カウントはデクリメントされます。 |
[ public, const ] AVKType GetDownKey(Void);
テーブルビューの DOWN キー。
[ public, const ] SInt32 GetFocusedCellColumnIndex(Void);
現在フォーカスが当たっているセルの列番号。
この関数は、 現在フォーカスが当たっているセルの列番号を取得します。
注意 | |
---|---|
カーソルのあるセルの列番号が返ります。 行選択モードである場合は、 SFZTableView::SetPreferredColumn 関数で設定した優先セル選択列番号が返ります。 |
SFZTableView::GetFocusedCellRowIndex | SFZTableView::SetPreferredColumn | SFZTableView::SetFocusedCellIndex
[ public, const ] SInt32 GetFocusedCellRowIndex(Void);
現在フォーカスが当たっているセルの行番号。
この関数は、 現在フォーカスが当たっているセルの行番号を取得します。
注意 | |
---|---|
カーソルのあるセルの行番号が返ります。 |
[ protected, const ] SFXMarginConstRef GetFrameMargin(Void);
この関数は、 フレームマージン(テーブルビューの枠用余白領域)を取得します。
注意 | |
---|---|
フレームの可視・不可視の設定は、SFZTableView::SetFrameVisible 関数を利用して行います。 |
[ public, const ] Bool GetFrameVisible(Void);
[ public, const ] Bool GetFullRowSelect(Void);
この関数は、 セル/行選択モードを取得します。
[ public, const ] SInt16 GetHeaderHeight(Void);
ヘッダー(列のタイトル名などが描画される領域)の高さ。[単位: ピクセル]
この関数は、 ヘッダー(列のタイトル名などが描画される領域)の高さを取得します。[単位: ピクセル]
注意 | |
---|---|
この関数で得られる値は、 SFZTableView::SetHeaderVisible 関数によるヘッダーの可視状態の設定に関係なく、 常に SFZTableView::SetHeaderHeight 関数で設定した値となります。 |
[ public, const ] Bool GetHeaderVisible(Void);
この関数は、 ヘッダー(列のタイトル名などが描画される領域)の可視状態を取得します。
注意 | |
---|---|
ヘッダーの可視・不可視の設定は、SFZTableView::SetHeaderVisible 関数を利用して行います。 |
[ public, const ] SInt16 GetItemHeight(Void);
項目[行]の高さ。[単位: ピクセル]
この関数は、テーブルビューの項目[行]の高さを取得します。[単位: ピクセル]
注意 | |
---|---|
テーブルビューの項目[行]の高さは、 SFZTableView::SetItemHeight 関数を利用して設定します。 |
[ public, const ] AVKType GetLeftKey(Void);
テーブルビューの LEFT キー。
[ public, const ] AVKType GetOperateKey(Void);
テーブルビューの操作キー。
[ public, const ] SInt32 GetPreferredColumn(Void);
優先列選択の列番号。
この関数は、 優先セル選択列番号を取得します(行選択モード ON の時のみ有効)。
優先セル選択列番号について | |
---|---|
優先セル選択列番号は、 SFZTableView::SetFullRowSelect 関数を使用して行選択モードを ON にしている場合に限り有効です。 行選択モード時に操作キーを押下してカーソル行を選択すると、 カーソル行内のこの列番号のセルが選択されて処理されます。 |
SFZTableView::SetPreferredColumn | SFZTableView::SetFullRowSelect | SFZTableView::HandleOperateKey
[ public, const ] ValueRec GetProperty( UInt32 key // 検索する属性キー BoolPtr found = null // null 以外の BoolPtr 値を指定すると、属性キーの有無が返る );
指定された属性キーに対応する属性値(SFXHierarchyProperty::ValueRec)。
この関数は、指定された属性キーに対応する属性値を取得します。
属性キーが見つからなかった場合、null 値が返ります。
SFXHierarchyProperty::ValueRec の null 値 | |
---|---|
SFXHierarchyProperty::ValueRec は最大 4 バイトの共用体で、null 値はその全てのビットが 0 になります。 従って、型が SFXRGBColor の場合は SFXRGBColor(0x00, 0x00, 0x00, 0x00) で黒色、Bool の場合は false となります。 |
found 引数を null 以外の BoolPtr 値を指定すると、 属性キーの有無が返ります。 属性キーの有無を判定するだけなら SFZTableView::HasProperty 関数も利用可能です。
注意 | |
---|---|
属性についての詳細は、 SFXHierarchyProperty クラスの解説を参照してください。 |
[ public, const ] AVKType GetRightKey(Void);
テーブルビューの RIGHT キー。
[ public, const ] SFYScrollBarControlSmpConstRef GetScrollBarControl(Void);
スクロールバーコントロール。
この関数は、 テーブルビューに関連付けられているスクロールバーコントロールを取得します。
[ public, const ] AVKType GetUpKey(Void);
テーブルビューの UP キー。
[ public, const ] Bool GetXLoop(Void);
この関数は、X カーソルループフラグを取得します。
[ public, const ] Bool GetYLoop(Void);
この関数は、Y カーソルループフラグを取得します。
[ protected, virtual ] Void HandleBoundVirtual(Void);
この関数は、領域イベント [SFXEvent(SFEVT_RESPONDER_BOUND, SFP16_BOUND_VIRTUAL, rectangle)] を受信したときに呼び出されます。
仮想領域の変更時に追加の処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装では、描画を開始する行の位置と、列の幅を再計算します。
領域イベント[(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 には変更後の仮想領域が設定されています。 |
仮想領域の変更処理 | |
---|---|
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 //
[ protected, virtual ] Bool HandleDownKey(Void);
この関数は、SFZTableView::SetDownKey 関数で設定した DOWN キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
カーソル(フォーカスされている行またはセル)を 1 つ下に移動します。
カーソルが最下端にある場合は、 Y カーソルループフラグの値に応じて以下のように異なります。
注意 | |
---|---|
Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。 |
カーソル | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 ※ SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。 |
SFZTableView::SetDownKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual ] Bool HandleLeftKey(Void);
この関数は、SFZTableView::SetLeftKey 関数で設定した LEFT キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
セル/行選択モードにより以下のように異なります。
セル/行選択モード | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 |
■セル選択モード時
カーソル(フォーカスされているセル)を 1 つ左に移動します。
カーソルが最左端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように異なります。
注意 | |
---|---|
X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。 |
■行選択モード時
カーソル(フォーカスされている行)を移動しません。
優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。
注意 | |
---|---|
優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。 |
SFZTableView::SetLeftKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual ] Bool HandleOperateKey(Void);
この関数は、SFZTableView::SetOperateKey 関数で設定した操作キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
選択されたセルのフォーカスを一時的に外し、 SFOTableCellReactor::Handle 関数を呼び出して操作(セレクト処理)を行います。 その後フォーカスを復帰します。
フォーカスがセルに復帰するタイミングは、 SFOTableCellReactor::Handle 関数内で SFOTableCellReactor::InvokeResultCell 関数を呼び出したときです。
行選択モードの場合 | |
---|---|
行選択モードで操作キーを押下した場合、 選択されるセルはカーソル行の優先セル選択列番号のセルです。 行選択モード/優先セル選択列番号の設定は、 SFZTableView::SetFullRowSelect / SFZTableView::SetPreferredColumn 関数を利用して行います。 |
セレクト処理について | |
---|---|
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]
[ protected, virtual ] Bool HandleRightKey(Void);
この関数は、SFZTableView::SetRightKey 関数で設定した RIGHT キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
セル/行選択モードにより以下のように異なります。
セル/行選択モード | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 |
■セル選択モード時
カーソル(フォーカスされているセル)を 1 つ右に移動します。
カーソルが最右端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように異なります。
注意 | |
---|---|
X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。 |
■行選択モード時
カーソル(フォーカスされている行)を移動しません。
優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。
注意 | |
---|---|
優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。 |
SFZTableView::SetRightKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFXEvent | キーイベント[SFEVT_KEY]
[ protected, virtual ] Bool HandleUpKey(Void);
この関数は、SFZTableView::SetUpKey 関数で設定した UP キーの SFEVT_KEY イベント (キーイベント[SFEVT_KEY])を受信したときに呼び出されます。
独自のキーイベント処理を行いたい場合は、この関数をオーバーライドします。
デフォルトの実装は以下の通りです。
カーソル(フォーカスされている行またはセル)を 1 つ上に移動します。
カーソルが最上端にある場合は、 Y カーソルループフラグの値に応じて以下のように異なります。
注意 | |
---|---|
Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。 |
カーソル | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 ※ SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。 |
SFZTableView::SetUpKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFXEvent | キーイベント[SFEVT_KEY]
この関数は、 指定された属性キーに対応する属性値が設定されているかどうかを判定します。
注意 | |
---|---|
属性キーの有無の判定と属性値の取得を同時に行う場合は、 SFZTableView::GetProperty 関数を使用することを推奨します。 この場合、検索の回数が半分になり、パフォーマンスは向上します。 |
[ public, static ] SFZTableViewSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
関数内部で発生したエラー値を返します。
この関数は、SFZTableView インスタンスを作成します。
インスタンスの作成に成功した場合は null 以外のポインタを返します。 失敗した場合は、null ポインタを返します。
exception 引数を指定した場合、 この引数にはエラー値が返ります。
以下は、SFZTableView インスタンスを生成するためのコードです。
SFZTableViewSmp view;
SFCError error;
if ((view = SFZTableView::NewInstance(&error)) != null) {
// .. (省略) ..
}
[ public ] SFCError Select(Void);
この関数は、 フォーカスが当たっているセルを選択します。
選択されたセルのフォーカスを一時的に外し、 SFOTableCellReactor::Handle 関数を呼び出して操作(セレクト処理)を行います。 その後フォーカスを復帰します。
フォーカスがセルに復帰するタイミングは、 SFOTableCellReactor::Handle 関数内で SFOTableCellReactor::InvokeResultCell 関数を呼び出したときです。
行選択モードの場合 | |
---|---|
行選択モードで操作キーを押下した場合、 選択されるセルはカーソル行の優先セル選択列番号のセルです。 行選択モード/優先セル選択列番号の設定は、 SFZTableView::SetFullRowSelect / SFZTableView::SetPreferredColumn 関数を利用して行います。 |
セレクト処理について | |
---|---|
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
この関数は、 指定されたキーをテーブルビューの DOWN キーに設定します。
デフォルト値: AVK_DOWN
DOWN キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleDownKey 関数) によりカーソル(フォーカスされている行またはセル)が 1 つ下に移動します。
カーソルが最下端にある場合は、 Y カーソルループフラグの値に応じて以下のように振る舞いが異なります。
注意 | |
---|---|
Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。 |
カーソル | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 ※ SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。 |
SFZTableView::GetDownKey | SFZTableView::HandleDownKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetUpKey | SFZTableView::SetLeftKey | SFZTableView::SetRightKey | SFZTableView::SetYLoop | AVKType
この関数は、 指定された行番号と列番号のセルにフォーカスを当てます。
注意 | |
---|---|
行選択モードである場合は、 SFZTableView::SetPreferredColumn 関数で設定した優先セル選択列番号のセルにフォーカスが移動します。 |
SFZTableView::GetFocusedCellColumnIndex | SFZTableView::GetFocusedCellRowIndex | SFZTableView::SetPreferredColumn
この関数は、 フレーム(テーブルビューの枠)の可視状態を設定します。
デフォルト値: true。
param 引数に false に指定すると、 フレームは不可視となり、 フレームマージン(テーブルビューの枠用余白領域)は確保されず、 フレームは描画されません。
注意 | |
---|---|
フレームの可視・不可視により、 SFZTableView::GetFrameMargin 関数で得られるフレームマージンは異なります。 |
この関数は、 セル/行選択モードを設定します。
デフォルト値: false(セル選択モード)。
param 引数に true を指定した場合、 行選択モードになり、 カーソルは行単位で描画され、 行単位でテーブルビューの要素が選択されます。
false を指定した場合は、 セル選択モードになり、 カーソルはセル単位で描画され、 セル単位でテーブルビューの要素が選択されます。
行選択モード時のセル選択 | |
---|---|
行選択モードで操作キーを押下した場合、カーソル行の優先セル選択列番号のセルが選択されます。 (デフォルト: 0 番目の列のセル)。 ※ 優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。 |
SFZTableView::GetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::HandleLeftKey | SFZTableView::HandleRightKey
この関数は、 ヘッダー(列のタイトル名などが描画される領域)の高さを設定します。[単位: ピクセル]
デフォルト値: 22 ピクセル。
この関数は、 ヘッダー(列のタイトル名などが描画される領域)の可視状態を設定します。
デフォルト値: true
param 引数に false に指定すると、 ヘッダーは不可視となり、描画されません。
注意 | |
---|---|
SFZTableView::GetHeaderHeight 関数で得られる値は、 ヘッダーの可視・不可視の影響を受けません。 SFZTableView::SetHeaderHeight 関数で設定した値となります。 |
この関数は、 テーブルビューの項目[行]の高さを設定します。[単位: ピクセル]
デフォルト値: 22 ピクセル。
この関数は、 指定されたキーをテーブルビューの LEFT キーに設定します。
デフォルト値: AVK_LEFT
セル/行選択モードにより以下のように振る舞いが異なります。
セル/行選択モード | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 |
■セル選択モード時
LEFT キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleLeftKey 関数) によりカーソル(フォーカスされているセル)が 1 つ左に移動します。
カーソルが最左端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように振る舞いが異なります。
注意 | |
---|---|
X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。 |
■行選択モード時
LEFT キーが押下されても、 カーソル(フォーカスされている行)は移動しません。
優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。
注意 | |
---|---|
優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。 |
SFZTableView::GetLeftKey | SFZTableView::HandleLeftKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFZTableView::SetRightKey | SFZTableView::SetDownKey | SFZTableView::SetUpKey | SFZTableView::SetXLoop | AVKType
[ public ] Void SetModel( SFOTableModelBaseSmpConstRef param // 設定するテーブルモデル );
この関数は、 指定されたテーブルモデルを設定します。
テーブルモデル | |
---|---|
テーブルモデル(SFOTableModel クラス)とは、 テーブルビュー(SFZTableView クラス)で表示・編集するデータを表します。 |
以下は、テーブルモデルを設定するコードです。
SFZTableViewSmp view; SFOTableModelSmp model; view = SFZTableView::NewInstance(); model = SFOTableModel::NewInstance(); view->SetModel(model);
この関数は、 テーブルビューの操作キーを設定します。
デフォルト値: AVK_SELECT
注意 | |
---|---|
操作キーが押下されると、 SFZTableView::HandleOperateKey 関数が呼び出されます。 |
この関数は、 指定された値を優先セル選択列番号に設定します(行選択モード ON の時のみ有効)。
デフォルト値: 0。
優先セル選択列番号について | |
---|---|
優先セル選択列番号は、行選択モード時に限り有効です。 行選択モード時に操作キーを押下してカーソル行を選択すると、 カーソル行のこの列番号のセルが選択されて処理されます。 ※ 行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 |
SFZTableView::GetPreferredColumn | SFZTableView::SetFullRowSelect | SFZTableView::HandleOperateKey | SFZTableView::HandleLeftKey | SFZTableView::HandleRightKey
この関数は、 指定されたキーをテーブルビューの RIGHT キーに設定します。
デフォルト値: AVK_RIGHT
セル/行選択モードにより以下のように振る舞いが異なります。
セル/行選択モード | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 このモードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 |
■セル選択モード時
RIGHT キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleRightKey 関数) によりカーソル(フォーカスされているセル)が 1 つ右に移動します。
カーソルが最右端のセルにある場合は、 X カーソルループフラグの値に応じて以下のように振る舞いが異なります。
注意 | |
---|---|
X カーソルループフラグの設定は、 SFZTableView::SetXLoop 関数を利用して行います。 |
■行選択モード時
RIGHT キーが押下されても、 カーソル(フォーカスされている行)は移動しません。
優先セル選択列番号(操作キーを押下してカーソル行を選択した場合に選択されるセルの列番号)も変化しません。
注意 | |
---|---|
優先セル選択列番号の設定は、 SFZTableView::SetPreferredColumn 関数を利用して行います。 |
SFZTableView::GetRightKey | SFZTableView::HandleRightKey | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetXLoop | SFZTableView::SetLeftKey | SFZTableView::SetDownKey | SFZTableView::SetUpKey | SFZTableView::SetXLoop | AVKType
[ public ] Void SetScrollBarControl( SFYScrollBarControlSmpConstRef bar // スクロールバーコントロール );
この関数は、 テーブルビューで使用されるスクロールバーコントロールを設定します。
デフォルト値: SFYScrollBarControlSmp::EmptyInstance()[デフォルトではスクロールバーコントロールは設定されていません]。
注意 | |
---|---|
垂直方向のスクロールバーコントロール(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);
この関数は、 指定されたキーをテーブルビューの UP キーに設定します。
デフォルト値: AVK_UP
UP キーが押下されると、 テーブルビューの内部ハンドラ(SFZTableView::HandleUpKey 関数) によりカーソル(フォーカスされている行またはセル)が 1 つ上に移動します。
カーソルが最上端にある場合は、 Y カーソルループフラグの値に応じて以下のように振る舞いが異なります。
注意 | |
---|---|
Y カーソルループフラグの設定は、 SFZTableView::SetYLoop 関数を利用して行います。 |
カーソル | |
---|---|
カーソルは、 セル/行選択モードに応じてセル/行単位になります。 セル/行選択モードの設定は、 SFZTableView::SetFullRowSelect 関数を利用して行います。 ※ SFZTableView::SetPreferredColumn 関数で設定する優先セル選択列番号は変化しません。 |
SFZTableView::GetUpKey | SFZTableView::HandleUpKey | SFZTableView::SetYLoop | SFZTableView::SetFullRowSelect | SFZTableView::SetPreferredColumn | SFZTableView::SetDownKey | SFZTableView::SetLeftKey | SFZTableView::SetRightKey | SFZTableView::SetYLoop | AVKType
この関数は、 X カーソルループフラグを設定します。
デフォルト値: false。
X カーソルループについて | |
---|---|
X カーソルループとは、 カーソルが最右端/最左端の位置にあるときに RIGHT/LEFT キーを押下したときに、 カーソルを最左端/最右端に移動する振る舞いのことです。 |
この関数は、 X カーソルループフラグを設定します。
デフォルト値: false。
Y カーソルループについて | |
---|---|
Y カーソルループとは、 カーソルが最上端/最下端の位置にあるときに UP/DOWN キーを押下したときに、 カーソルを最下端/最上端に移動する振る舞いのことです。 |
enum CodeEnum { CODE_TYPE = four_char_code('+', 't', 'b', 'v'), }; SFMTYPEDEFTYPE(CodeEnum)
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |