(クラス)
標準の UI スキームを使用した Control のスーパークラス。
説明
一意の
ControlUI を持つ
Control。
ControlUI は、視覚的および機能的の両面で、
MultiUIControlFrameを実装します。
ControlUI は、この
MultiUIControlFrame の内部にグラフィカルに内包されています。
MultiUIControlFrame には、以下の機能があり、それぞれには
ControlUI があります。
オーバーライド
このクラスは、クラスの
ControlUI を時間をかけて作成しようとします。つまり、コントロールを表示する必要がある場合のみ、または、アプリケーションが明示的に
MultiUIControlFrame.ui-object ゲッターを使用して
ui-object を調べるよう依頼した場合だけです。
最終的に、このクラスからサブクラスを作成する場合、継承ステートメントで右端のクラスになるように注意してください。それ以外のオプション通知は正しく機能しません。
コンストラクタ public | {MultiUIControlFrame.default ui-object:#ControlUI = null, ...} |
フィールド protected MultiUIControlFrame._ui-object:#
ControlUI
フィールド protected MultiUIControlFrame._ui-set-locally?:
bool
非ローカル オプション public MultiUIControlFrame.control-appearance-changeable?:
bool
非ローカル オプション public MultiUIControlFrame.display-context:#
DisplayContext
アクセサ public MultiUIControlFrame.focus-object:
Visual
非ローカル オプション public MultiUIControlFrame.look-and-feel:
LookAndFeel
アクセサ public MultiUIControlFrame.options-present-here:{
Iterator-of OptionItem}
アクセサ public MultiUIControlFrame.ui-object:
ControlUI セッター public MultiUIControlFrame.ui-object:
ControlUI プロパティ 継承 ControlFrame:
color, control-color, control-content-background, enabled?, font-family, font-size, font-style, font-weight, style-element, text-breakable?, text-line-through?, text-preserve-whitespace?, text-underline?, visible? プロパティ 継承 BaseFrame:
child, clonable-class?, completely-clonable-children?, graphical-children, halign-spec, hstretch?-spec, ordered-children, reverse-ordered-children, valign-spec, vstretch?-spec, width-first? プロパティ 継承 Visual:
_style-element, cursor, data-source, dragee, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, 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?, graphic-selectable, height, horigin, is-paginating?, layout, margin, opaque-to-events?, option-parent, outside-margin, pagination-state, parent, possibly-displayed?, selection-context, shadow-color, shadow-spec, visual-parent, vorigin, width
protected abstract | {MultiUIControlFrame.create-default-ui-object }:ControlUI |
protected | {MultiUIControlFrame.generate-ui-object}:void |
protected | {MultiUIControlFrame.handle-look-and-feel-change}:void |
protected | {MultiUIControlFrame.handle-observer-message}:void |
public | {MultiUIControlFrame.on-focus-in e:FocusIn}:void |
public | {MultiUIControlFrame.option-changed key:String, value:any}:void |
public | {MultiUIControlFrame.option-lookup-here}:(item:#OptionItem, local-key?:bool) |
public | {MultiUIControlFrame.option-propagate-notify}:void |
protected | {MultiUIControlFrame.react-to-state-change}:void |
protected | {MultiUIControlFrame.react-to-visual-change}:void |
public | {MultiUIControlFrame.request-key-focus}:void |
public | {MultiUIControlFrame.set-layout l:#Layout}: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 メソッド 継承 GuiEventTarget:
handle-delegate-event, 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-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, 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-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 メソッド 継承 Visual:
add, add-from-init-args, 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, refresh-style-options, release-key-focus, 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 メソッド 継承 Graphic:
create-pagination-state, detach, draw-range-as-selected, draw-shadow, find-ancestor, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, 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, paint-with-decorations, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, start-pagination, xy-offset-to メソッド 継承 OptionListInterface:
add-option, add-style-option, 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-set?, propagate-option-change, remove-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
(コンストラクタ)
public | {MultiUIControlFrame.default ui-object:#ControlUI = null, ...} |
(フィールド)
protected MultiUIControlFrame._ui-object:#
ControlUI このコントロールの既存の UI オブジェクト。
説明
この値は、このオブジェクトに関連付けられた、現在存在している
ControlUI を参照します。サブクラスは、UI が存在しない場合、UIを作成せずに、このオブジェクトを使用してUI オブジェクトを参照する必要があります。このプロパティは、UI が作成されるときに初めて更新されます。また通常、直接変更するべきではありません。
(フィールド)
protected MultiUIControlFrame._ui-set-locally?:
bool
(非ローカル オプション)
public MultiUIControlFrame.control-appearance-changeable?:
bool look-and-feel オブジェクトまたは標準のオプション親のどちらがコントロールの外観の基準になるかを決定します。
説明
このプロパティが false の場合、ローカルおよび非ローカルの両オプションは、ローカル検索の後にコントロールの look-and-feel オブジェクト内で検索されます。
非ローカル オプションの場合において、この検索がコントロールのオプション親で通常行われる検索よりも前に行われる点に注意してください。これは、look-and-feel で設定された非ローカル オプションが、このプロパティが true ならば通常はコントロールのオプション親から継承するオプション設定を隠蔽してしまうことを意味します。
look-and-feel が
StandardLookAndFeel である一般的な場合に影響を受けるオプションのリストについては、
StandardLookAndFeel の説明を参照してください。
注意事項
このプロパティ自体は、このオブジェクトで、またはこのオブジェクトを含む別の Graphic で設定可能な非ローカル オプションですが、その値は look-and-feel から得られるものではありません。
(非ローカル オプション)
このオブジェクトに関連付けられている DisplayContext。
プログラミング注意事項
このオプションは、Curl グラフィック システム内での通信のために使用されます。これは、ユーザー コードで不用意に設定や設定解除を行わないでください。また、通常は、ユーザー コードで直接読み取るべきではありません。現在の
DisplayContext が必要な場合は、
Visual.get-display-context を呼び出すことによりフェッチしてください。
画面上のウィンドウまたは印刷されたページで表示可能なすべてのグラフィック階層は、そのルートにおいて、
display-context オプションを
DisplayContext オブジェクトに設定するオブジェクトを持つ必要があります。このオブジェクトは、グラフィック階層の表示に使用される表示媒体に適しています。つまり、オブジェクトは、
display-context オプションの値が
null から非
null DisplayContext オブジェクトに変更されるのをモニタリングすることにより、表示不可能なグラフィック階層に連結されていることを認識します。したがって、特定の動作を実行する必要のある
Visual のサブクラスは、表示不可能なグラフィック階層に接続された場合、次のようなオプション宣言を含むことにより
display-context オプションをモニタリングします。
{nonlocal-option public display-context:#DisplayContext
change handler}ここで、
change handler 内のコードは
display-context オプションの現在値 (変数
display-context の値として、変更ハンドラ内にある) を取得し、
null および非
null の値の間で行われる変更をモニタリングし、必要とされる動作を実行します。
ただし、このプログラミング熟語を使用するプログラマーは、グラフィカル表示を再配列する際、グラフィック階層からグラフィカル オブジェクトを一時的に分離し、これらを同じ階層に再アタッチすることが、割に一般的であることを理解するべきです。この処理により、一時的に分離されたオブジェクトは、
display-context オブジェクトが
null になり、再び非
null になるのを観察します。
display-context オプションでの変更をモニタリングするコードは、この可能性を考慮に入れ、この状況における望ましくない動作の実行を回避しなくてはなりません。
(アクセサ)
アクセサ public MultiUIControlFrame.focus-object:
Visual
(非ローカル オプション)
(アクセサ)
アクセサ public MultiUIControlFrame.options-present-here:{
Iterator-of OptionItem}
このオブジェクトに存在する全てのオプションのイテレータを返します。オプションは、ローカルで設定されていても、スタイル シートで設定されていても、LookAndFeel で設定されていても、適切であれば全て含まれます。
オーバーライド
option-lookup-here メソッドをオーバーライドする場合は、このメソッドもオーバーライドしなければなりません。通常、option-lookup-here はバインディングオプションに追加されたオプションを(テーブルセルの行列のバインドのように)検索し、このメソッドのオーバーライドは、バインディングオプションを Iterator で返します。
導入:
バージョン 6.0
(アクセサ)
アクセサ public MultiUIControlFrame.ui-object:
ControlUI セッター public MultiUIControlFrame.ui-object:
ControlUI このコントロールが使用する UI のゲッター。
説明
独自の既定 UI オブジェクトを指定するサブクラスは、create-default-ui-object をオーバーライドする必要があります。
(メソッド)
protected abstract | {MultiUIControlFrame.create-default-ui-object }:ControlUI |
このオブジェクトに適切な UI オブジェクトを作成します。
説明
このメソッドは、現在の
LookAndFeel がこのコントロールの UI オブジェクトを指定しない場合にのみ使用されます。
(メソッド)
protected | {MultiUIControlFrame.generate-ui-object}:void |
このコントロールの UI オブジェクトを生成します。
説明
このメソッドは、このコントロールに関連付けられた UI オブジェクトを強制的に生成 (または再生成) させます。
オーバーライド
通常はオーバーライドされません。
(メソッド)
protected | {MultiUIControlFrame.handle-look-and-feel-change}:void |
look-and-feel が変更されたときに必要な調整を行います。
説明
このメソッドは外観が変わるたびに呼び出されます。これは、look-and-feel オプションが変更されたか、現在有効な外観が変更されたことに起因します。この実装では、新旧の LookAndFeel で有効なオプションを調べ、必要に応じて変更を伝播していきます。
(メソッド)
protected | {MultiUIControlFrame.handle-observer-message}:void |
監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。
sender: 変更があった Observable オブジェクトです。
message: これは、Observer からの変更に関する詳細情報が含まれています。詳細情報がない場合は NULL になります。
(メソッド)
public | {MultiUIControlFrame.on-focus-in e:FocusIn}:void |
FocusIn イベントのスタティック イベント ハンドラ。
説明
既定の実装では、
request-key-focus を呼び出すことによって
focus-object にキー フォーカスを渡します。
(メソッド)
public | {MultiUIControlFrame.option-changed key:String, value:any}:void |
このオブジェクトにオプションの値が変更したことを通知します。
key: 値が変更されたオプションの名前を指定する
String。
プログラミング注意事項
オプションが (a) ローカル オプションの場合、あるいは (b) 非ローカル オプションで、このオプションに対してオブジェクトが option-change ハンドラ プロシージャを宣言している場合、オプションの値がバインド、変更、またはバインド解除されるたびにオプション パッケージはこのメソッドを一度呼び出します。
オーバーライド
(メソッド)
public | {MultiUIControlFrame.option-lookup-here}:(item:#OptionItem, local-key?:bool) |
オプション検索ステップを実行します。
local?:
bool で、このオブジェクトがオプション検索の開始場所である場合は true、オプション検索がこのオブジェクトの子孫から開始した場合は false です。
戻り値
返される
OptionItem には、該当する
key のバインドが含まれます (このオブジェクトで存在する場合)。返される
bool は、
key がローカル オプション キーの場合は true です。この場合、このオブジェクト以降のオプション検索は行なわれません。
プログラミング注意事項
主に内部使用を目的としています。
オーバーライド
クラスが
OptionKey とバインディング オプションのマッピングに非標準のアルゴリズムを実装する場合は、オーバーライドされます。
(メソッド)
public | {MultiUIControlFrame.option-propagate-notify}:void |
バインディング オプションに、このオブジェクトがオプションの親から継承した変更が存在する場合に呼び出されます。
item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。
プログラミング注意事項
これは、オブジェクトのオプション親から継承したオプションが変更されたことをオブジェクトに通知する場合に、
OptionListInterface のサブクラスが呼び出すメソッドです。このメソッドは、オブジェクトおよび関連オブジェクトへの通知が適切であるかどうかを判定してから (つまり、オプションが非ローカル オプションであり、このバインディング オプションをシャドウするようなバインディング オプションがオブジェクトに存在しないことを確認し)、
OptionListInterface.propagate-option-change を呼び出して、このオブジェクトおよび該当する場合はその子へのオプション変更通知メソッドを呼び出します。
オーバーライド
通常はオーバーライドされません。
(メソッド)
protected | {MultiUIControlFrame.react-to-state-change}:void |
コントロールの状態が変更された場合に、コントロールの外観を変更します。
説明
オーバーライド
通常はオーバーライドされません。
(メソッド)
protected | {MultiUIControlFrame.react-to-visual-change}:void |
コントロールのラベルまたはスタイルが変更されたときに、コントロールを再レンダリングします。
説明
オーバーライド
通常はオーバーライドされません。
(メソッド)
public | {MultiUIControlFrame.request-key-focus}:void |
このオブジェクトに対してキーボード フォーカスを要求します。
説明
このオブジェクトは、アクティブになったときにキー フォーカスを自動的に要求します。キー フォーカスを直接要求するのではなく、代わりに、アプリケーションが通常
become-active を呼び出します。
(メソッド)
public | {MultiUIControlFrame.set-layout l:#Layout}:void |
Graphic のレイアウト オブジェクトを設定します。
l: 設置するレイアウト オブジェクト。
プログラミング注意事項
このメソッドは、このオブジェクトをグラフィカルな親に接続する過程で呼び出されます。グラフィック階層のオブジェクトの接続/切断に使われるプロトコルを理解せずにこのメソッドを使用するのは危険です。
注意事項
オーバーライド
通常はオーバーライドされません。