(クラス)
直接継承しているサブクラス:
SkinnableTabContainerUI, SkinnableCalendarControlUI, SkinnableTabAccordionUI, SkinnableProgressBarUI, SkinnableTreeControlUI, SkinnableBaseTextControlUI-of, SkinnableBaseDropdownUI, SkinnableMenuButtonUI, SkinnableDateFieldUI, SkinnableMenuPaneUI, SkinnableScrollbarUI, SkinnableGroupBoxUI, SkinnableMenuBarUI, SkinnableRecordGridUI, SkinnableTextDisplayUI, SkinnableListBoxUI, SkinnableSpinControlUI, SkinnableMultiTabAccordionUI, SkinnableSliderUI スキンが適用されたControlUI オブジェクトにおける共通の基本クラスです。
説明
GUI Toolkitにおいて、
Controlは、高次元で、データをカプセル化するオブジェクトです。それらは、ルック アンド フィールを
ControlUIにデリゲートします。
SkinnableControlUIは、このプロセスの延長と捉えることが出来ます。ジェスチャー解釈と外観を切り離し、それぞれを再デリゲートします。
これらのデリゲート連携の為に、
SkinnableControlUIは、コンテンツタグとビジュアルタグを利用します。両方とも、
String識別子("tag")を使用して、重要なビジュアル要素を識別する方法です。コンテンツタグは、特定の広く役に立つ機能を単純化する為にUIによって提供される標準のサブ
Graphicを参照します。例えば、ボタンのラベルやテキストコントロール内の編集可能なテキストボックスは、コンテンツグラフィックとしてタグ付けされます。ビジュアルタグは、多くのシステムが視覚的に反映する標準の状態を参照します。例えば、コントロールがキーボードフォーカスを持っているかどうか、コントロールが無効になっているかどうか等です。タグ付けされたコンテンツグラフィックとタグ付けされた視覚状態のリストは、
SkinnableControlUIのサブクラスによって異なります。
オーバーライド
導入:
バージョン 6.0
コンストラクタ public | {SkinnableControlUI.default} |
アクセサ public SkinnableControlUI.control-feel:
ControlFeel セッター public SkinnableControlUI.control-feel:
ControlFeel
アクセサ public SkinnableControlUI.control-skin:
ControlSkin セッター public SkinnableControlUI.control-skin:
ControlSkin
アクセサ public SkinnableControlUI.control-valid?:
bool
非ローカル オプション public SkinnableControlUI.look-and-feel:
LookAndFeel
アクセサ public SkinnableControlUI.visual-state:
String セッター public SkinnableControlUI.visual-state:
String
protected abstract | {SkinnableControlUI.create-default-control-feel }:ControlFeel |
protected abstract | {SkinnableControlUI.create-default-control-skin }:ControlSkin |
public | {SkinnableControlUI.get-tagged-content}:#Graphic |
public | {SkinnableControlUI.get-tagged-visual-state}:#String |
protected | {SkinnableControlUI.handle-observer-message}:void |
protected | {SkinnableControlUI.note-control-changed}:void |
protected | {SkinnableControlUI.note-control-feel-changed}:void |
protected | {SkinnableControlUI.note-control-skin-changed}:void |
protected | {SkinnableControlUI.note-graphic-state-change}:void |
protected | {SkinnableControlUI.note-tagged-content-changed}:void |
protected | {SkinnableControlUI.note-visual-state-changed}:void |
public | {SkinnableControlUI.on-gui-event gui-event:GuiEvent}:void |
protected | {SkinnableControlUI.option-change-notify}:void |
protected | {SkinnableControlUI.overdraw-skin renderer2d:Renderer2d}:void |
protected | {SkinnableControlUI.set-child-graphic g:#Graphic}:void |
public | {SkinnableControlUI.set-control-feel-from-registration}:void |
public | {SkinnableControlUI.set-control-skin-from-registration}:void |
public | {SkinnableControlUI.set-tagged-content}:void |
public | {SkinnableControlUI.set-tagged-visual-state}:void |
メソッド 継承 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-enter, on-drag-leave, 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-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-input-method-event, on-inspection, on-key-event, on-key-press, on-pointer-button, on-pointer-crossing, on-pointer-enter, on-pointer-envelope-event, on-pointer-event, on-pointer-leave, 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 メソッド 継承 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, notify-option-children, option-changed, option-lookup, option-lookup-here, option-propagate-notify, option-set?, propagate-option-change, register-options, 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 | {SkinnableControlUI.default} |
このタイプの新しいオブジェクトを作成します。
説明
nullの場合、
control-skinと
control-feelは、必要な時に
LookAndFeelの登録からセットされます。
導入:
バージョン 6.0
(アクセサ)
アクセサ public SkinnableControlUI.control-feel:
ControlFeel セッター public SkinnableControlUI.control-feel:
ControlFeel
(アクセサ)
アクセサ public SkinnableControlUI.control-skin:
ControlSkin セッター public SkinnableControlUI.control-skin:
ControlSkin
(アクセサ)
アクセサ public SkinnableControlUI.control-valid?:
bool この UI に Control が設定されているかどうかを返します。
説明
このUIが
Controlにアタッチされている間に、
controlプロパティにアクセスしようとするとエラーが発生します。このプロパティは、この操作が安全であるかどうかを記録します。
導入:
バージョン 6.0
(非ローカル オプション)
このオブジェクトに関連付けられている 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 SkinnableControlUI.visual-state:
String セッター public SkinnableControlUI.visual-state:
String 現在の、このオブジェクトの主な外観の状態です。
説明
既定の実装では、このアクセサを呼び出すことは get-tagged-visual-state メソッドを呼び出し、 visual-tag の "" パラメータで set-tagged-visual-state を呼び出すことと同じです。
導入:
バージョン 6.0
(メソッド)
protected abstract | {SkinnableControlUI.create-default-control-feel }:ControlFeel |
(メソッド)
protected abstract | {SkinnableControlUI.create-default-control-skin }:ControlSkin |
(メソッド)
このオブジェクトのコントロール スキンを描画します。
説明
プログラミング注意事項
一般的にこのメソッドは、
Graphicも継承しているサブクラスの中から呼び出されます。標準の
drawメソッドの直前に呼び出されます。
導入:
バージョン 6.0
(メソッド)
public | {SkinnableControlUI.get-tagged-content}:#Graphic |
設定されたタグの UI のグラフィカルコンテンツを取得します。
content-tag: 対象の
Graphic を表す
String です。 "" が指定された場合は、 UI 自身になります。
戻り値
導入:
バージョン 6.0
(メソッド)
public | {SkinnableControlUI.get-tagged-visual-state}:#String |
設定された外観のタグの String を返します。
visual-tag: 対象の外観のタグを表す
String です。 "" が指定された場合は、最初の外観の状態が返されます。
戻り値
設定されたタグの現在の外観の状態を示す
String です。タグに対する値が見つからない場合は、
null になります。
説明
外観のタグは、一般に視覚的フィードバックをもたらすコントロールの状態に関連した情報のマーカーです。例えばコントロールがキーボード フォーカスを持っているのか、無効になっているのかどうか等です。
複合的で、独立した外観の状態を持つコントロールでは、 このメソッドは、タグによってある状態にアクセスするのに使用されます。
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.handle-observer-message}:void |
監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。
sender: 変更があった Observable オブジェクトです。
message: これは、Observer からの変更に関する詳細情報が含まれています。詳細情報がない場合は NULL になります。
(メソッド)
protected | {SkinnableControlUI.note-control-changed}:void |
UI の control プロパティが設定された時に呼び出されます。
説明
このメソッドが呼ばれる場合、このオブジェクトが適切な
Control にアタッチされ、
control-valid? プロパティが true に設定されます。基本的な実装によって、
ControlSkin のアタッチや
ControlFeel の変更が
note-control-changed を通じて通知されます。
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.note-control-feel-changed}:void |
このオブジェクトにアタッチされた ControlFeel が変更された時に呼び出されます。
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.note-control-skin-changed}:void |
このオブジェクトにアタッチされた ControlSkin が変更された時に呼び出されます。
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.note-graphic-state-change}:void |
このオブジェクトのスクリーン境界は、関連したControlSkinから潜在的な影響を受けて変更されているかも知れないことに注意してください。
説明
プログラミング注意事項
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.note-tagged-content-changed}:void |
このオブジェクトのタグが付けられたコンテンツ Graphic の一つが設定、または置き換えられた時に呼び出されます。
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.note-visual-state-changed}:void |
このオブジェクトの外観の状態の一つが変更された時に呼び出されます。
visual-tag: 変更された外観の状態に関するタグです。 "" は、主な外観の状態です。
old-state: タグ付きの外観の状態に関する以前の値です。タグが存在していなかった場合は、
null になります。
new-state: タグが付けられた外観の状態の新しい値です。
導入:
バージョン 6.0
(メソッド)
public | {SkinnableControlUI.on-gui-event gui-event:GuiEvent}:void |
GuiEvent のスタティック イベント ハンドラ。
説明
オーバーライド
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.option-change-notify}:void |
このオブジェクトで値が変更されたオプションについて、オプションの変更ハンドラを呼び出します。
item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。
説明
オーバーライド
通常はオーバーライドされません。
(メソッド)
protected | {SkinnableControlUI.overdraw-skin renderer2d:Renderer2d}:void |
このオブジェクトのコントロール スキンを描画します。
説明
プログラミング注意事項
一般的にこのメソッドは、
Graphicも継承しているサブクラスの中から呼び出されます。標準の
drawメソッドの直後に呼び出されます。
導入:
バージョン 6.0
(メソッド)
protected | {SkinnableControlUI.set-child-graphic g:#Graphic}:void |
アタッチされた ControlSkin から、この UI のグラフィッカルな子を設定します。
説明
このメソッドは、このクラスが
Frameに組み込まれている場合のみ機能します。全てのデフォルト、
ControlUI の具象クラスでは機能します。
導入:
バージョン 6.0
(メソッド)
public | {SkinnableControlUI.set-control-feel-from-registration}:void |
登録からcontrol-feelプロパティを設定します。
説明
直接設定するのとは異なり、登録が変更された時に、登録から設定されたフィールは、自動的に置き換えられます。
導入:
バージョン 7.0
(メソッド)
public | {SkinnableControlUI.set-control-skin-from-registration}:void |
登録からcontrol-skinプロパティを設定します。
説明
直接設定するのとは異なり、登録が変更された時に、登録から設定されたスキンは、自動的に置き換えられます。
導入:
バージョン 7.0
(メソッド)
public | {SkinnableControlUI.set-tagged-content}:void |
設定されたタグで UI のグラフィカルコンテンツを設定します。
content-tag: 対象のコンテンツを表す
String です。 "" が指定された場合は、 UI 自身になります。
content: タグ付きのコンテンツ になる
Graphic です。そうでない時はnullです。
説明
"" はセット出来ません。それは常にUI自身を参照するからです。 ""をセットしようとするとエラーがスローされます。
導入:
バージョン 6.0
(メソッド)
public | {SkinnableControlUI.set-tagged-visual-state}:void |
設定されたタグの外観の状態を設定します。
visual-tag: 対象の外観のタグを表す
String です。 "" が指定された場合は、最初の外観の状態になります。
state: 設定されたタグの新しい外観の状態を示す
String です。
説明
外観のタグは、一般に視覚的フィードバックをもたらすコントロールの状態に関連した情報のマーカーです。例えばコントロールがキーボード フォーカスを持っているのか、無効になっているのかどうか等です。
複合的で、独立した外観の状態を持つコントロールでは、 このメソッドは、tagによってある状態を設定するのに使用されます。
visual-tagが存在していない場合には、作成され、指定された状態を割り当てます。
導入:
バージョン 6.0