(クラス)
与えられたセル (レコードと列の交点) のデータを表示するために RecordGrid が使用するフォーマット オブジェクト。
説明
RecordGridColumn がデータを表示するには、これらの
RecordGridCell のコレクションが必要です。使用する
RecordGridCell の型が
RecordGridColumn で明示的に指定されていない場合、
RecordGridUI がこれを決定します。
オーバーライド
列の表示と編集機能をカスタマイズするには、カスタムの RecordGridCell を作成するのが強力な方法です。ただし、この作成は慎重に行ってください。典型的な RecordGrid ではこのようなセルを一度に多数表示する必要があり、グリッドを速くスクロールするには各セルに表示されるデータをすばやく更新しなければなりません。
RecordGridCell を適切かつ効率よく作成するためのヒントを以下に示します。
| コンストラクタ public | {RecordGridCell.default} |
アクセサ public RecordGridCell.can-update?:
bool
ローカル オプション public RecordGridCell.cells-take-focus?:
bool
| column: | このセルが関連付けられている RecordGridColumn。 |
アクセサ public RecordGridCell.current?:
bool
| field: | このセルのデータが格納されているフィールド。 |
ローカル オプション public RecordGridCell.format-spec:
any
| halign: | RecordGridCell 内の内容の水平方向の配置。 |
ローカル オプション public RecordGridCell.halign:
any
アクセサ protected RecordGridCell.halign-spec:
any
アクセサ public RecordGridCell.has-grid-focus?:
bool
ローカル オプション public RecordGridCell.mnemonic:
char
アクセサ public RecordGridCell.pending-value:
any
アクセサ public RecordGridCell.pending-value?:
bool
アクセサ public RecordGridCell.record:#
Record
| record-index: | このセルが関連付けられているレコードのインデックス、または -1 (現在このセルがレコードに関連付けられていない場合)。 |
アクセサ public RecordGridCell.record-index:
int セッター public RecordGridCell.record-index:
int
アクセサ public RecordGridCell.selected?:
bool
アクセサ public RecordGridCell.style-element:
String
ローカル オプション public RecordGridCell.tab-index:
int
| valign: | RecordGridCell の内容の垂直方向の配置を指定します。 |
ローカル オプション public RecordGridCell.valign:
any
アクセサ protected RecordGridCell.valign-spec:
any プロパティ 継承 Visual:
_style-element, cursor, data-source, dragee, font-size, input-method-enabled?, input-method-keyboard-mode, name, options, options-present-here, style-class, style-manager, style-options, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data プロパティ 継承 Graphic:
avoid-page-break?, background, border-color, border-spec, border-style, border-width, cell-border-spec, cell-border-width, cell-margin, discrete-select-in-range?, display-context, enabled?, graphic-selectable, height, horigin, is-paginating?, layout, margin, opaque-to-events?, outside-margin, pagination-state, parent, selection-context, shadow-color, shadow-spec, visible?, vorigin, width
| public | {RecordGridCell.become-active forward?:bool = true}:bool |
| protected | {RecordGridCell.commit-pending-value}:void |
| protected | {RecordGridCell.fire-event-at-container e:GuiEvent}:void |
| protected | {RecordGridCell.flush-pending-value}:void |
| format: | このセルでの表示に適した String にデータを変換します。 |
| public | {RecordGridCell.format data:any}:String |
| public | {RecordGridCell.get-data}:(data:any, valid?:bool) |
| public | {RecordGridCell.get-formatted-data}:(data:String, valid?:bool) |
| public | {RecordGridCell.get-parsed-value val:String}:any |
| public | {RecordGridCell.handle-mnemonic}:void |
| public | {RecordGridCell.note-grid-focus-in}:void |
| public | {RecordGridCell.note-grid-focus-out}:void |
| public | {RecordGridCell.option-lookup-here}:(item:#OptionItem, local-key?:bool) |
| parse: | String の入力値を record-source への記入に適した値に変換します。 |
| protected | {RecordGridCell.propagate-option-change}:void |
| public | {RecordGridCell.refresh-data}:void |
メソッド 継承 BaseFrame:
add-internal, after-reposition, allocate-layout-object, attempt-revalidate-layout, before-reposition, clone-appearance-helper, compute-child-bounds, compute-parent-elastic, constrain-height, constrain-width, draw, end-pagination, get-height-preference, get-text, get-width-preference, install-child-bounds, internal-remove-child, note-attached, note-detaching, notify-option-children, paginate, pick-child, propagate-request-layout, register-options, set-size メソッド 継承 OptionListInterface:
change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, option-change-notify, option-lookup, option-propagate-notify, option-set?, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name メソッド 継承 Visual:
add, add-from-init-args, add-option, add-style-option, animate, change-cursor, clonable-appearance?, clone-appearance, get-focus-manager, get-layout-context, get-test-parent, get-test-property, get-view, maybe-fire-attach-event, maybe-fire-detach-event, non-keyword-init-arg, note-caret-position, on-drag-leave, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, release-key-focus, remove-option, remove-style-option, scroll-to-include, test-record, test-run, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates メソッド 継承 GuiEventTarget:
handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-grab-release, on-gui-event, on-input-method-event, on-key-event, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-press, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class メソッド 継承 Graphic:
create-pagination-state, detach, draw-range-as-selected, draw-shadow, find-ancestor, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-top-left-in-ancestor, get-visible-bounds-into, on-drag-enter, on-inspection, on-pointer-enter, option-changed, paint-with-decorations, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, set-layout, start-pagination, xy-offset-to
(コンストラクタ)
| public | {RecordGridCell.default} |
(アクセサ)
アクセサ public RecordGridCell.can-update?:
bool このセルのデータは更新可能ですか?
説明
このゲッターは複数のプロパティをチェックします。これらのプロパティは、このセルの内容が更新できる場合、true に設定されている必要があります。編集可能なセルとしてユーザーに表示するか決定するため、および、セル自体が更新を行うか決定するために確認する必要があります。
(ローカル オプション)
public RecordGridCell.cells-take-focus?:
bool RecordGridCell がグリッド フォーカスの取得を許可されているかどうかを示します。
説明
このオプションが false の場合、セルはグリッド フォーカスを持つことができないので、
RecordGridUI 内の操作は、選択 (可能な場合) とスクロールに制限される場合があります。
(アクセサ)
このセルが関連付けられている RecordGridColumn。
プログラミング注意事項
オーバーライド
通常はオーバーライドしません。 オーバーライドする場合は、セルのオプション親が適切に調整されるようこのメソッドのスーパー実装を必ず呼び出してください。
(アクセサ)
アクセサ public RecordGridCell.current?:
bool このセルが現行レコードに含まれているかどうか調べます。
オーバーライド
通常はオーバーライドされません。
(アクセサ)
このセルのデータが格納されているフィールド。
オーバーライド
通常はオーバーライドされません。
(ローカル オプション)
public RecordGridCell.format-spec:
any この列のデータをどのように String にフォーマットするか指定します。
説明
この値は、次のいずれかでなければなりません。
- format マクロとともに使用するのが適切な String。
- タイプ {proc {data:any}:String} のプロシージャ、ここで data は、セルに関連付けられたデータを表します。RecordGridCell.get-data による定義と同様です。
- タイプ{proc {data:any, record:Record}:String} のプロシージャ、ここで data はこのセルに関連付けられたデータを表します。RecordGridCell.get-data と同様です。また、record は、現在セルで表示されているソースの Record を表します。record パラメータは、ソースの Record とその関連付けられた RecordSet の両方へのアクセスを提供する点に注意してください。そのため、コンテキストに応じたフォーマットを行う際、非常に有用です。
- null (既定値)。
null の場合、代わりに、
RecordGridCell.format がフォーマットに使用されます。
(アクセサ)
このセルが関連付けられている RecordGrid。
オーバーライド
通常はオーバーライドされません。
(ローカル オプション)
public RecordGridCell.halign:
any RecordGridCell 内の内容の水平方向の配置。
説明
(アクセサ)
アクセサ protected RecordGridCell.halign-spec:
any レイアウトで使用される halign 値を提供します。
説明
null の場合は原点に合わせて整列されます。それ以外の場合、この値は 0 (左揃え) ~ 1 (右揃え) の数になります。
オーバーライド
既定の実装は、原点に合わせた整列を指定する null を返します。異なる値を指定 (または計算) するように、派生クラスでオーバーライドできます。
(アクセサ)
アクセサ public RecordGridCell.has-grid-focus?:
bool このセルがグリッド フォーカスを持っているかどうか調べます。
オーバーライド
通常はオーバーライドされません。
(ローカル オプション)
public RecordGridCell.mnemonic:
char この ActiveTraversor にショートカット キーを割り当てます。
説明
ニーモニック アクティブ キー (現在は Alt にハードコード化) とこのオプションの値を持つキーを押したときに、
ActiveTraversor.handle-mnemonic が呼び出されます。同じ
ActiveTraversalContainer の複数のコントロールに同じニーモニックが割り当てられている場合、トラバース順序の最初のコントロールですべてのコントロールがオーバーライドされます。
ニーモニックが同じグラフィック階層にあれば、現在のダイアログにニーモニック コントロールが含まれていない場合でもニーモニック アクティブ化は有効です。複数のダイアログで同じニーモニックが定義されている場合、優先順位は次のとおりです。
- 現在の ActiveTraversalContainer。
- 子の ActiveTraversalContainer、再帰的トラバース順序。
- 親の ActiveTraversalContainer。
- その親オブジェクトの子オブジェクトで、検索済みの子オブジェクトを除く。
- 上述の親オブジェクトと子オブジェクト、再帰的。
アプレットの前にメニューがキー イベントを取得するため、メニューで使用されるニーモニック文字は
ActiveTraversor のニーモニックとして機能しません。
(アクセサ)
オブジェクトのオプションの親を返します。
戻り値
オーバーライド
(アクセサ)
アクセサ public RecordGridCell.pending-value:
any 編集中の、保留中で終了していないセルの値です。
説明
current editor がない場合、null を返します。例えば、エディタをサポートしないセルは常に null を返します。
一時的な状態がエディタにないセルの場合には、保留の値は存在しません。
導入:
バージョン 6.0
(アクセサ)
アクセサ public RecordGridCell.pending-value?:
bool セルが編集され、RecordSet で保持している値とは異なる保留中の値がある場合は、True です。
説明
エディタに一時的な状態がない、つまりレコード データを直ちに更新するセルでは、pending-value? が true になることはありません。
導入:
バージョン 6.0
(アクセサ)
アクセサ public RecordGridCell.record:#
Record このセルが表示するレコード。
オーバーライド
通常はオーバーライドされません。
(アクセサ)
アクセサ public RecordGridCell.record-index:
int セッター public RecordGridCell.record-index:
int このセルが関連付けられているレコードのインデックス、または -1 (現在このセルがレコードに関連付けられていない場合)。
プログラミング注意事項
RecordGridUI のみで設定してください。
オーバーライド
通常はオーバーライドされません。
(アクセサ)
アクセサ public RecordGridCell.selected?:
bool このセルが現在選択されているかどうか調べます。
オーバーライド
通常はオーバーライドされません。
(アクセサ)
アクセサ public RecordGridCell.style-element:
String スタイリングの目的のための、この Visual の "要素" や "型" です。
説明
オーバーライド
Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入:
バージョン 6.0
(ローカル オプション)
public RecordGridCell.tab-index:
int ActiveTraversor のタブインデックス。
説明
トラバーサの tab-index の昇順にトラバースは行われますが、tab-index がゼロのトラバーサは最後になります。同じ tab-index を持つトラバーサの場合、グラフィック階層で定義された順序に従って順番が決まります。
このオプションが役に立つのは、グラフィック階層で定義されている順序が、ユーザーに従ってもらいたい論理的な流れをうまく表していない場合です。これは、例えば
Canvas がレイアウトに使われている場合、アプリケーションで特定コントロールを強調したい場合などに生じます。
例
| 例:
tab-index オプションを使ってトラバーサルの順番を制御 |
 |
{Dialog
{spaced-vbox
{TextArea
tab-index = 3,
value = "License Agreement Text Here"
},
{CheckButton
tab-index = 1,
label = "I have read the licence agreement."
},
{CommandButton
tab-index = 2,
label = "Install Now"
}
}
} | |
(ローカル オプション)
public RecordGridCell.valign:
any RecordGridCell の内容の垂直方向の配置を指定します。
説明
(アクセサ)
アクセサ protected RecordGridCell.valign-spec:
any レイアウト処理で使用される valign 値を提供します。
説明
null の場合は原点に合わせて整列されます。それ以外の場合、この値は 0 (上揃え) ~ 1 (下揃え) の数になります。
オーバーライド
既定の実装は、原点に合わせた整列を指定する null を返します。異なる値を指定 (または計算) するように、派生クラスでオーバーライドできます。
(メソッド)
| public | {RecordGridCell.become-active forward?:bool = true}:bool |
アクティブ化に対して応答します。
説明
forward?: トラバースが前方に移動する場合 (Tab キー) は true、後方に移動する場合 (Shift + Tab キー) は false です。一般にユーザー コードでは既定値 true を使用します。
戻り値
このオブジェクトがアクティブになる予定であれば true、それ以外の場合は false です。
(メソッド)
| protected | {RecordGridCell.commit-pending-value}:void |
保留中の値をセル上で強制的にコミットします。
導入:
バージョン 6.0
(メソッド)
| protected | {RecordGridCell.fire-event-at-container e:GuiEvent}:void |
(メソッド)
| protected | {RecordGridCell.flush-pending-value}:void |
イベントを起動することなしに保留中の値を削除します。
導入:
バージョン 6.0
(メソッド)
| public | {RecordGridCell.format data:any}:String |
このセルでの表示に適した String にデータを変換します。
プログラミング注意事項
data: any。フォーマットされるデータ値。
戻り値
セルが表示する String。
説明
オーバーライド
このメソッドの既定の実装では、
null 値を空の文字列に変換し、その他のすべての値については、このセルのフィールドに関連付けられたドメインの
Domain.format メソッドが使われます。
サブクラスで異なるフォーマット方法が必要な場合は、このメソッドをオーバーライドします。
(メソッド)
| public | {RecordGridCell.get-data}:(data:any, valid?:bool) |
このセルの現在のデータを取得します。
戻り値
- データ、any。このセルで表示される、基礎となる record-source からのデータ。使用可能な場合。
- valid?, bool。最初に返された値が有効であり、使用可能性なデータを含んでいるかどうかを示します。たとえば、ここで false がRecordGrid に接続されていないセルに返されるか、または、基礎となるデータで、現在、実際のフィールドに関連付けられていない列のセルに返されます。
オーバーライド
このメソッドの実装では、通常、基礎となるデータにアクセスするため、スーパー実装を参照する必要があります。
(メソッド)
| public | {RecordGridCell.get-formatted-data}:(data:String, valid?:bool) |
このセルの現在のデータを String としてフォーマットして取得します。
説明
戻り値
- データ、String。このセルで表示される、基礎となる record-source からのフォーマット済みデータ。使用可能な場合。
- valid?, bool。最初に返された値が有効であり、使用可能なデータを含んでいるかどうかを示します。たとえば、ここで false がRecordGrid に接続されていないセルに返されるか、または、基礎となるデータで、現在、実際のフィールドに関連付けられていない列のセルに返されます。
オーバーライド
通常はオーバーライドしません。代わりに RecordGridCell.format をオーバーライドします。
(メソッド)
| public | {RecordGridCell.get-parsed-value val:String}:any |
このセルに入力された String 値を解析します。
説明
オーバーライド
通常はオーバーライドしません。代わりに RecordGridCell.parse をオーバーライドします。
戻り値
a