Visual (クラス)
public abstract shared Visual {inherits GraphicOptions, GuiEventTarget}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
直接継承しているサブクラス: ActiveTraversor, RecordSetDisplay, Menu, TextVisual, Graphic, AntialiasMixin, ShapeContainerBase

オプション リストを持つことができ、Event を受け取ることのできる抽象クラスです。

プログラミング注意事項

Curl® 言語で作成されたプログラムに明示的に Visual を含む主な理由は、 Graphic またはテキストのいずれかである変数のタイプを宣言するためです。

ビジュアル テスト

以下のビジュアル テスト アクションはすべての Visual オブジェクトで使用可能です。これらのアクションの多くは Visual.test-run によって提供されますが、それ以外のものはビジュアル テスト インフラストラクチャに組み込まれています。追加のテスト アクションを持つクラスのリストについては、test-type-name を参照してください。
名前 引数 説明
CallMethod method:String
[,arg1:any .... [,arg8:any]]
最大 8 つの引数を持つ method メソッドを呼び出します。このアクションは、オブジェクトそのものではなく、ビジュアル テスト インフラストラクチャによって実装されます。QuickTest Property™ のビジュアル テスト環境では任意の実行時メソッドを直接呼び出せないため、代わりにこれを使用してください。
RawClick x:int, y:int
[,button:String [,modifiers:String]]
このアクションは、オブジェクトの左上隅を基準としたピクセル位置 (x, y) にあって後に PointerRelease が続く PointerPress をキューに入れます。
イベントの button フィールドは、オプションの button 引数が "LEFT"、"MIDDLE"、または "RIGHT" (既定値は "LEFT" で、left-button に対応します) のいずれであるかに基づいて設定されます。
イベントの state-mask フィールドは、オプションの modifiers 引数の値に基づいて設定されます。この引数は、'+' で区切られる "Shift"、"Ctrl"、"Alt"、および "Menu" となります。既定値では、修飾子は設定されません。
イベントの送信は通常のディスパッチ メカニズムによって行われます。このため、たとえば別のオブジェクトがポインタをグラブした場合は、このオブジェクトではなくイベントが表示されます。
イベントはキューに入れられるため、test-run が終了するまでイベントは送信されません。
RawDoubleClick x:int, y:int
[,button:String [,modifiers:String]]
このアクションは、イベント順序が PointerPressPointerReleasePointerPressPointerRelease の順であること以外は、RawClick と同じです。
MouseDrag x1:int, y1:int, x2:int, y2:int
[,button:String [,modifiers: String]]
このアクションは、イベント順序が PointerPress、2 つの PointerMotionPointerRelease の順であること以外は、RawClick と同じです。ここで、(x1, y1) は PointerPress のピクセル位置、(x2, y2) はその他のイベントのピクセル位置です。これらの位置はオブジェクトの境界内になくてもかまいません。これらの位置はオブジェクトの左上隅を基準として計算されるだけです。
PressKey key:String
[,modifiers:String]
このアクションは KeyPress イベントを発生させます。イベントの value フィールドは、KeyPressValue.char-for-name を呼び出すことによって、key 引数で決定されます。
イベントの state-mask フィールドは、オプションの modifiers 引数で決定されます。この引数は、'+' で区切られる "Shift"、"Ctrl"、"Alt"、および "Menu" となります。イベントの shifty? フィールドは、"Shift" が修飾子の 1 つである場合に true となります。イベントの normal? フィールドは、名前がキーの文字コードおよび空白文字と同じであるすべてのキーで true となります。これを指定しないと、既定では修飾子は設定されません。
Type str:Stringこのアクションは、オブジェクトで一連の KeyPress イベントを発生させ、KeyPress.value が文字列内の各文字に設定されます。これは、挿入可能な文字で使用するためです。特に、制御文字は変換されず、たとえば '\n' は、ENTER キーを表しません。
以下のビジュアル テスト プロパティはすべての Visual オブジェクトで使用可能です。これらのプロパティの多くは Visual.get-test-property によって提供されますが、それ以外のものはビジュアル テスト インフラストラクチャに組み込まれています。追加のテスト プロパティを持つクラスのリストについては、test-type-name を参照してください。
名前とタイプ 説明
abs_x:int, abs_y:int画面を基準とした絶対位置 (ピクセル単位)。
attached text:String Visual.test-description の値。
curl object class:String {type-of obj} の値。name.
displayed:bool オブジェクトとそのすべての祖先の Graphic.visible? プロパティが true で、オブジェクトの可視境界 (Graphic.get-visible-bounds-into を参照) が空でない場合に true となります。
enabled:bool enabled? の値。
focused:bool オブジェクト (またはそのフォーカス デリゲート) にキーボード フォーカスがある場合に true となります。
height:int, width:int オブジェクトの境界 (ピクセル単位)。
path:String オブジェクトのテスト名とルート以下のその祖先のすべてを含む文字列。名前は ';' で区切ります。
rel_x:int, rel_y:int テストの親を基準としたオブジェクトの位置 (ピクセル単位)。
test-name:String Visual.test-name の値。この値が null の場合、名前が合成されます。

コンストラクタ
clone-appearance-from:このタイプの新しいオブジェクトを作成するために Visual.clone-appearance が使用するコンストラクタ。
コンストラクタ protected {Visual.clone-appearance-from other:Visual}
default:このタイプの新しいオブジェクトを作成します。
コンストラクタ public {Visual.default ...}
from-any:any から Visual を作成します。
ファクトリ public implicit {Visual.from-any obj:any}:Visual
from-Dynamic:Dynamic から Visual を作成します。
ファクトリ public implicit {Visual.from-Dynamic obj:Dynamic}:Visual
from-Path:Path から Visual を作成します。
ファクトリ public implicit {Visual.from-Path path:Path}:Visual
from-Region:Region から Visual を作成します。
ファクトリ public implicit {Visual.from-Region region:Region}:Visual
from-string:String から Visual を作成します。
ファクトリ public implicit {Visual.from-string obj:String}:Visual

プロパティ
_style-element:スタイリングの目的のために、この Visual の "要素" や "型" をオーバーライドします。
ローカル オプション protected Visual._style-element:String
clonable-class?:当該クラスがクローン化可能である場合は、true を返します。その他の場合は false を返します。
アクセサ protected Visual.clonable-class?:bool
completely-clonable-children?:Visual のすべての子を完全にクローン化できる場合は、true を返します。
アクセサ protected Visual.completely-clonable-children?:bool
cursor:このオブジェクトに対するカーソルを指定します。
ローカル オプション public Visual.cursor:#Cursor =null
data-source:ドラッグ / ドロップ操作中に使用されるデータ ソースに Type を提供するのに使用します。
ローカル オプション public Visual.data-source:#Type =null
display-context:このオブジェクトに関連付けられている DisplayContext
非ローカル オプション public Visual.display-context:#DisplayContext
dragee:ドラッグ / ドロップ操作で Visual がドラッグできることを指定します。
ローカル オプション public Visual.dragee:#Dragee =null
font-size:オブジェクト内のテキストの既定サイズを指定します。
非ローカル オプション public Visual.font-size:any
graphical-parent:Boxであるもっとも近い祖先を返します。
アクセサ public Visual.graphical-parent:#Box
has-key-focus?:このオブジェクトがキーボード フォーカスを持つかどうかを示します。
アクセサ public Visual.has-key-focus?:bool
input-method-enabled?:入力メソッドが有効であるかどうかを示します。
非ローカル オプション public Visual.input-method-enabled?:bool
input-method-keyboard-mode:入力メソッドがキーストロークをどのように解釈するかを示します。
非ローカル オプション public Visual.input-method-keyboard-mode:InputMethodKeyboardMode
name:この Visual に対するユーザー定義可能な名前です。
ローカル オプション public Visual.name:#String =null
options:このオブジェクトのオプション リストが存在する場合はそれを参照します。
アクセサ protected Visual.options:#OptionItem
セッター protected Visual.options:#OptionItem
possibly-displayed?:このオブジェクトが表示されているかどうかを伝えます。
アクセサ public Visual.possibly-displayed?:bool
style-class:この Visual が のメンバーであるスタイル クラスです。(空白で区切られています。)
ローカル オプション public Visual.style-class:String
style-element:スタイリングの目的のための、この Visual の "要素" や "型" です。
アクセサ public Visual.style-element:String
style-manager:このオブジェクトに関連付けられている StyleManager
非ローカル オプション public Visual.style-manager:#StyleManager
style-options:スタイル の機能を通してこのオブジェクトに指定されたオプションです。
アクセサ protected Visual.style-options:#OptionItem
セッター protected Visual.style-options:#OptionItem
test-child?:このVisualが、ビジュアル テスト システムに存在するかどうかを示します。
アクセサ public final Visual.test-child?:bool
test-description:ビジュアル テスト インフラストラクチャがこのオブジェクトの説明に使用する名前。エンド ユーザーはこの名前で視覚的にオブジェクトを探すことができます。
アクセサ public Visual.test-description:#String
test-name:ビジュアル テスト インフラストラクチャがこのオブジェクトをプログラムで探すために使用する名前。
ローカル オプション public Visual.test-name:#String
test-parent?:このオブジェクトでテスト名の新しい名前空間を使用するかどうかを示します。
ローカル オプション public Visual.test-parent?:bool =false
test-type-name:このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。
アクセサ public Visual.test-type-name:#String
test-visible?:このオブジェクトとその子孫をビジュアル テスト インフラストラクチャで使用できるようにするかどうかを示します。
ローカル オプション public Visual.test-visible?:bool =true
tooltip:チップヘルプをこの Visual と関連付けます。
ローカル オプション public Visual.tooltip:#Tooltip =null
user-data:任意のユーザー定義値の格納先です。
ローカル オプション public Visual.user-data:any
visual-parent:このオブジェクトの直接の親であるVisualを取得します。
アクセサ public Visual.visual-parent:#Visual
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 OptionListInterface: option-parent, option-register-proc, options-present-here, registered-option-keys

メソッド
add:子アイテムを Visual に追加します。
public {Visual.add g:any, ...}:#Visual
add-from-init-args:この Visual のコンストラクタに渡されるオブジェクトを Visual の内容に追加します。
protected {Visual.add-from-init-args a:any}:void
animate:Visual をアニメーションにする便利な方法を提供します。

このメソッドは Timer を作成し、このタイマーに対してイベント ハンドラ on-timer-event を追加します。

アニメーションは、この VisualRootFrame にアタッチされたグラフィカル階層に追加された場合にのみ開始し、削除されると停止します。

また、この RootFrameView で、この View が最小化された場合にもアニメーションは停止します。
public {Visual.animate
repeat:int = -1,
interval:Time = -1s,
frequency:Frequency = -1fps,
when:#DateTime = null,
delay:Time = -1s,
on-timer-event:EventHandler
}:Timer
change-cursor:
protected {Visual.change-cursor c:#Cursor}:void
clear:Visual の子を削除します。
public {Visual.clear}:void
clonable-appearance?:Visual.clone-appearance が有効なクローン (たとえば、非 NULLl 値) を返すかどうかを示します。
public {Visual.clonable-appearance?
complete-clone-required?:bool = false
}:bool
clone-appearance:グラフィック上の外観が、このオブジェクトで始まるグラフィック階層の外観に似ているグラフィック階層を作成します (ただし、同じダイナミック イベント ハンドラを持たない場合があります)。
public {Visual.clone-appearance
fixup:#{proc-type {Visual, Visual}:Visual} = null,
complete-clone-required?:bool = false
}:#Visual
clone-appearance-helper:クローンを作成し、クローン自体を返します。
protected {Visual.clone-appearance-helper
fixup:#{proc-type {Visual, Visual}:Visual}
}:Visual
find-graphical-ancestor:与えられた述語に適合する最も近いグラフィックの祖先を返します。
public abstract {Visual.find-graphical-ancestor
p:{proc-type {Graphic}:bool}
}:#Graphic
find-test-children:フィルタに基づいてテストの子を蓄積します。
public {Visual.find-test-children
children:{Array-of Visual},
filter:{proc-type {Visual}:bool}
}:void
get-focus-manager:オブジェクトの現在のフォーカス マネージャを取得します。
public {Visual.get-focus-manager}:#FocusManager
get-graphical-root:Visual のグラフィック階層のルートで、オブジェクトを取得します。
public abstract {Visual.get-graphical-root}:#Graphic
get-gui-path:ソート目的で位置の配列を提供します。
public {Visual.get-gui-path root:Box}:{Array-of int}
get-gui-path-to-child:指定されたBoxから、指定されたこのオブジェクトの子に向かうGUIパスを計算します。
public {Visual.get-gui-path-to-child
child:Visual,
root:Box
}:{Array-of int}
get-layout-context:このオブジェクトの現在の LayoutContext を返します。
public {Visual.get-layout-context}:LayoutContext
get-origin-in-graphical-ancestor:グラフィック階層内における指定された祖先に対する Visual の相対的位置を見つけます。
public abstract {Visual.get-origin-in-graphical-ancestor
ancestor:Graphic
}:(x:Distance, y:Distance, found?:bool)
get-origin-in-root:グラフィック階層のルートにあるオブジェクトを基準とし、Visual の位置を取得します。
public abstract {Visual.get-origin-in-root
}:(x:Distance, y:Distance, root:Graphic)
get-test-parent:テストの親でもあるビジュアルな祖先を返します。
public {Visual.get-test-parent}:#Visual
get-test-property:このオブジェクトのテスト プロパティ値を返します。
public {Visual.get-test-property name:String}:any
get-text:可視オブジェクトの内容を表す文字列を取得します。
public {Visual.get-text}:String
get-top-left-in-ancestor:グラフィック階層に含まれる指定上位オブジェクトの座標フレームでこのオブジェクトの左上隅のロケーションを見つけます。
public abstract {Visual.get-top-left-in-ancestor
ancestor:Graphic
}:(x:Distance, y:Distance, found?:bool)
get-view:内部にこの Visual を持つ View を取得します。
public {Visual.get-view}:#View
maybe-fire-attach-event:この Visual に対して AttachEvent を起動するヘルパー関数。
protected final {Visual.maybe-fire-attach-event}:void
maybe-fire-detach-event:この Visual に対して DetachEvent を起動するヘルパー関数。
protected final {Visual.maybe-fire-detach-event}:void
non-keyword-init-arg: InitRestArgParser.process-rest-args で非キーワード引数が検出されると、呼び出されます。
public {Visual.non-keyword-init-arg a:any}:void
note-attached:ルートが RootFrame であるグラフィック階層にこの Visual が追加されたとき、そのグラフィック階層内でこれより下にあるすべての Visual に対して AttachEvent を起動します。
public {Visual.note-attached}:void
note-caret-position:キャレットの現在の位置を示します。
public final {Visual.note-caret-position
left:Distance,
top:Distance,
width:Distance,
height:Distance
}:void
note-detaching:ルートが RootFrame であるグラフィック階層からこの Visual が削除されたとき、そのグラフィック階層内でこれより下にあるすべての Visual に対して DetachEvent を起動します。
public {Visual.note-detaching}:void
on-drag-enter:DragEnter イベントのスタティック イベント ハンドラ
public {Visual.on-drag-enter e:DragEnter}:void
on-drag-leave:DragLeave イベントのスタティック イベント ハンドラ
public {Visual.on-drag-leave e:DragLeave}:void
on-pointer-enter:PointerEnter イベントのスタティック イベント ハンドラ
public {Visual.on-pointer-enter e:PointerEnter}:void
on-pointer-envelope-event:PointerEnvelopeEventスタティック イベント ハンドラ
public {Visual.on-pointer-envelope-event e:PointerEnvelopeEvent}:void
on-pointer-leave:PointerLeave イベントのスタティック イベント ハンドラ
public {Visual.on-pointer-leave e:PointerLeave}:void
pop-cursor:
protected {Visual.pop-cursor e:GuiWindowEvent}:void
prepare-test-object:このオブジェクトをビジュアル テスト用に準備します。
public {Visual.prepare-test-object}:bool
prepare-test-parent:このオブジェクトをテストの親として準備します。
public {Visual.prepare-test-parent}:bool
push-cursor:
protected {Visual.push-cursor c:#Cursor, e:GuiWindowEvent}:void
quantize-width:幅 (境界幅など) をピクセル サイズの倍数になるように数量化します。
public {Visual.quantize-width
what:any,
display-context:#DisplayContext = null
}:Distance
refresh-style-options:このオブジェクトに現在のスタイルルールを適用します。
public {Visual.refresh-style-options}:void
release-key-focus:キーボード フォーカスがこのオブジェクトから取り去られるよう要求します。
public {Visual.release-key-focus}:void
request-draw:描画する Visual に属するピクセルを確認します。
public abstract {Visual.request-draw
layout-context:LayoutContext = {self.get-layout-context}
}:void
request-key-focus:このオブジェクトに対してキーボード フォーカスを要求します。
public {Visual.request-key-focus}:void
scroll-to-include:すべての ScrollerInterface のスクロール位置を、現在のオブジェクトの指定ポイントが可視状態になるように設定します。
public {Visual.scroll-to-include
x:Distance = 0pt,
y:Distance = 0pt,
min-window:double = 0.0,
max-window:double = 1.0
}:void
test-record:オブジェクトのテスト アクションを記録します。
public {Visual.test-record action:String, ...}:void
test-run:オブジェクトに対してビジュアル テスト アクションを実行します。
public {Visual.test-run action:String, args:FastArray}:any
transform-from-display-coordinates:このオブジェクトの Display の座標系からこのオブジェクトの座標系に座標を変換します。
public {Visual.transform-from-display-coordinates}:(new-x:Distance, new-y:Distance)
transform-from-graphical-root-coordinates:このオブジェクトのグラフィック階層のルートにあるオブジェクトの座標系からこのオブジェクトの座標系に座標を変換します。
public {Visual.transform-from-graphical-root-coordinates}:(new-x:Distance, new-y:Distance, root:Graphic)
transform-to-display-coordinates:このオブジェクトの座標系から Display の座標系に座標を変換します。
public {Visual.transform-to-display-coordinates}:(new-x:Distance, new-y:Distance)
transform-to-graphical-root-coordinates:このオブジェクトの座標系からこのオブジェクトのグラフィック階層のルートにあるオブジェクトの座標系に座標を変換します。
public {Visual.transform-to-graphical-root-coordinates}:(new-x:Distance, new-y:Distance, root:Graphic)
xy-offset-to:2 つのグラフィカル オブジェクトの起点の間の (x,y) オフセットを算出します。
public {Visual.xy-offset-to}:(x:Distance, y:Distance, valid?:bool)
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 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-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-gui-event, on-input-method-event, on-inspection, on-key-event, on-key-press, 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
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 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-change-notify, 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
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
clone-appearance-from (コンストラクタ)
protected {Visual.clone-appearance-from other:Visual}

このタイプの新しいオブジェクトを作成するために Visual.clone-appearance が使用するコンストラクタ。

other: クローンする Visual

説明

このタイプの新しいオブジェクトを作成します。その後、OptionListInterface.clone-options を呼び出して、other から新しく作成したオブジェクトにオプションをコピーします。

注意事項

クローン化をサポートする Visual のサブクラスには、このコンストラクタを呼び出すコンストラクタが必要です。ただし、これらのコンストラクタがそれぞれ自身のオプションをクローン化する場合は、その限りではありません。


default (コンストラクタ)
public {Visual.default ...}

このタイプの新しいオブジェクトを作成します。

注意事項

このメソッドは 2 種類の引数を受け取ります。

オーバーライド

このメソッドは、すべてのサブクラスでオーバーライドされなくてはなりません。メソッドをオーバーライドする場合、通常は引数署名に "..." を含め、

{construct-super ...}

を呼び出すことにより、上記で説明された引数の処理を呼び出す必要があります。その引数処理は、InitRestArgParser.non-keyword-init-arg および InitRestArgParser.keyword-init-arg をオーバーライドすることにより修正できます。


from-any (ファクトリ)
public implicit {Visual.from-any obj:any}:Visual

any から Visual を作成します。

説明

このファクトリーは、 他の Visual ファクトリーと一致しない型を持つ値を処理するために存在します。そのような型を処理するためには記述されておらず、動作も他のファクトリーと異ります。


from-Dynamic (ファクトリ)
public implicit {Visual.from-Dynamic obj:Dynamic}:Visual

Dynamic から Visual を作成します。



from-Path (ファクトリ)
public implicit {Visual.from-Path path:Path}:Visual

Path から Visual を作成します。



from-Region (ファクトリ)
public implicit {Visual.from-Region region:Region}:Visual

Region から Visual を作成します。



from-string (ファクトリ)
public implicit {Visual.from-string obj:String}:Visual

String から Visual を作成します。




プロパティ詳細
_style-element (ローカル オプション)
protected Visual._style-element:String

スタイリングの目的のために、この Visual の "要素" や "型" をオーバーライドします。

説明

このオプションの値は、空文字でなければ Visual.style-element ゲッターによって返されます。
使う場合は、このオプションの値はオブジェクトが始めてインスタンス化される際に設定し、その後は変更してはいけません。
導入: バージョン 6.0


clonable-class? (アクセサ)
アクセサ protected Visual.clonable-class?:bool

当該クラスがクローン化可能である場合は、true を返します。その他の場合は false を返します。

オーバーライド

既定の実装は false を返します。クローン化機能を提供するクラスは、{type-of self} == {compile-time-type-of self} を返すためには、このゲッターをオーバーライドする必要があります。クローン化可能な Visual が必ずしもクローン化可能であるとは限らないので、単に true を返すだけでは正しくありません。
このメソッドをオーバーライドする場合は、Visual.clone-appearance-helper もオーバーライドする必要があります。


completely-clonable-children? (アクセサ)
アクセサ protected Visual.completely-clonable-children?:bool

Visual のすべての子を完全にクローン化できる場合は、true を返します。

オーバーライド

既定の実装は true を返します。子がある Box のようなサブクラスは、そのすべての子について、complete-clone-required?true として渡された Visual.clonable-appearance?true を返す場合は、このゲッターをオーバーライドし、true を返す必要があります。その他の場合は false を返すはずです。


cursor (ローカル オプション)
public Visual.cursor:#Cursor =null

このオブジェクトに対するカーソルを指定します。

説明

ポインタがこの Visual の上に置かれると表示されるカーソルを指定するには、その cursor オプションを、表示するカーソルを表す Cursor オブジェクトである値に設定します。cursor オプションが null に設定されている場合、あるいはまったく設定されていない場合、この Visual 上に表示されるカーソルはこれが含まれる Visual 上に表示されるカーソルと同一のものになります。

次の例は、RectangleGraphic とテキスト要素を示します。いずれにも、カスタム カーソルが指定されています。


{HBox spacing=12pt, valign="center",
      {RectangleGraphic width=1in, height=0.5in, cursor=cursor-crosshair},
      {text cursor=cursor-hand, Can I help you?}}

注意事項

ポインタがオブジェクトの上に配置されている間に、オブジェクトの cursor オプションが未設定から設定へと変更される場合、表示されるカーソルは変更されません。cursor オプションでの変更が表示されるカーソルに影響を与えるためには、ポインタが一度オブジェクトを離れ、再びオブジェクトの上に配置されなくてはなりません。cursor オプションにおける変更が、ポインタがオブジェクト上に配置されている間に、直ちに表示カーソルに影響を与えるようにするには、オブジェクトの cursor オプションは、ポインタがオブジェクトに配置されたときに設定されなくてはなりません。

オブジェクトのカーソルを指定カーソルと、これに含まれる Visual のカーソルの切り替え変更を行うには、オブジェクトの cursor オプションを指定カーソルと null を交互に設定します。cursor オプションを設定解除するのではなく、 null に設定すると、表示カーソルは cursor 設定が変更されると直ちに変更されます。


data-source (ローカル オプション)
public Visual.data-source:#Type =null

ドラッグ / ドロップ操作中に使用されるデータ ソースに Type を提供するのに使用します。

プログラミング注意事項

DataTransferSource から継承し、1 つの引数を受け取るコンストラクタを持つ Type を提供する必要があります。

注意事項

このオプションを提供しない場合、データがオブジェクトそのもので、データ型がオブジェクトの型である場合、既定の DataTransferSource クラスが使用されます。


display-context (非ローカル オプション)
public Visual.display-context:#DisplayContext

このオブジェクトに関連付けられている 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 オプションでの変更をモニタリングするコードは、この可能性を考慮に入れ、この状況における望ましくない動作の実行を回避しなくてはなりません。


dragee (ローカル オプション)
public Visual.dragee:#Dragee =null

ドラッグ / ドロップ操作で Visual がドラッグできることを指定します。

説明

このオプションの値は、Dragee サブクラスでなければなりません。

詳細情報および例については、「ドラッグ アンド ドロップ」を参照してください。


font-size (非ローカル オプション)
public Visual.font-size:any

オブジェクト内のテキストの既定サイズを指定します。

説明

この値の妥当なタイプは DistancePixelDistanceEmDistance を含んでいます。許可されたタイプを判断するための詳細な情報については verify-any-is-distance-type を御覧下さい。
値は正の値でなければなりません。負の値や、0 はオプションをに設定することはできますが、実行する際にランタイムエラーが発生します。

font-size オプションを使用したテキスト サイズの指定方法の例をいくつか示します。"Medium" という語を持つテキスト オブジェクトが、それを含むテキスト オブジェクトから、どのようにフォント サイズを取得するかに注意してください。


{text font-size=12pt,
    {text font-size=8pt, Little}
    {text font-size=1cm, Pretty big}
    {text Medium}
    {text font-size=1in, Huge!}
}
{text And this is the default}

参照:

文字書式: tiny, small, big, huge


graphical-parent (アクセサ)
アクセサ public Visual.graphical-parent:#Box

Boxであるもっとも近い祖先を返します。

導入: バージョン 7.0


has-key-focus? (アクセサ)
アクセサ public Visual.has-key-focus?:bool

このオブジェクトがキーボード フォーカスを持つかどうかを示します。

説明

この VisualFocusManager がキーボードフォーカスを持ち、そのフォーカスのターゲットが Visual の時、このプロパティは true になります。

注意事項

このプロパティのセッターは、非推奨です。このセッターを持つクラスで、セッターを呼び出しても効果がありません。また将来のリリースで削除される予定です。
導入: バージョン 7.0


input-method-enabled? (非ローカル オプション)
public Visual.input-method-enabled?:bool

入力メソッドが有効であるかどうかを示します。

説明

入力メソッドは InputMethodClient および Visual から継承するオブジェクトがキー フォーカスを持ち、このオプションが true に設定されている場合にのみ有効です。

これは、入力メソッド サポートは、この値を false に設定することにより、グラフィカル階層の部分で無効にできることを意味しています。

このオプションの値は、キー フォーカスを持つオブジェクトが InputMethodClient でない場合は無関係です。


input-method-keyboard-mode (非ローカル オプション)
public Visual.input-method-keyboard-mode:InputMethodKeyboardMode

入力メソッドがキーストロークをどのように解釈するかを示します。

説明

いくつかの階層からなる解釈を実行する入力メソッドもあります。たとえば、最初の階層は一般的にキーストロークの簡単な変換で、他の階層には文字シーケンスから他の文字への変換を含める場合などです。
多くの場合、最初の変換階層はモーダルです。Visual がフォーカスを得たときに、このオプションは入力メソッドに対して適切なモードを指示します。
このオプションの値を使い、入力メソッドにキーボード モードを変更するよう要求します。この要求は、オプションが変更されたとき、Visual が最初にキーボード フォーカスを得たときの 2 つの状況で発生します。このオプションは要求に使われる値を表すもので、入力メソッドのキーボード モードに起こる他の変更を反映するためにこの値が更新されることはありません。
default 値は、入力メソッドが現在のキーボード モードを保持することを意味します。

注意事項

入力メソッドは、さまざまな方法でキーボード モードの変更要求に応答します。たとえば、入力メソッドにはこのような要求をまったくサポートしないもの、特定の要求のみサポートするものがあります。入力メソッドは単一言語のみサポートするのが一般的で、異なる言語のキーボード モードで要求が行われた場合、予期せぬ動作を引き起こす可能性があります。
このオプションは現在、Mac OS X または、Linux 上では効果がありません。


name (ローカル オプション)
public Visual.name:#String =null

この Visual に対するユーザー定義可能な名前です。

説明

名前はどのような目的にも使用できます。その値、または使用については特別な意味、あるいは制限はありません。たとえば、ビジュアルへの名付けは、必須ではありません。また、指定のスコープ内で名前を固有にする必要もありません。


options (アクセサ)
アクセサ protected Visual.options:#OptionItem
セッター protected Visual.options:#OptionItem

このオブジェクトのオプション リストが存在する場合はそれを参照します。

説明

オプション リストは OptionItem へリンクしたリストとして表現されます。
(スタイル シートを通しているか直接設定されているかにかかわらず) Visual に設定されたオプションの全てを リストしたい場合は Visual.options-present-here ゲッターを使用してください。


possibly-displayed? (アクセサ)
アクセサ public Visual.possibly-displayed?:bool

このオブジェクトが表示されているかどうかを伝えます。

説明

このオブジェクトがスクリーン上に表示されているかもしれない時、true を返します。オブジェクトが明らかに表示されていない時は、false を返します。解はあくまで"ベストエフォート" を基本にしており、オブジェクトが表示されていない時でも true を返す可能性があります。
導入: バージョン 7.0


style-class (ローカル オプション)
public Visual.style-class:String

この Visual が のメンバーであるスタイル クラスです。(空白で区切られています。)

導入: バージョン 6.0


style-element (アクセサ)
アクセサ public Visual.style-element:String

スタイリングの目的のための、この Visual の "要素" や "型" です。

説明

この実装によって Visual._style-elementの値が返されますが、通常は定数を返すためにオーバーライドされます。

オーバーライド

Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入: バージョン 6.0


style-manager (非ローカル オプション)
public Visual.style-manager:#StyleManager

このオブジェクトに関連付けられている StyleManager

導入: バージョン 6.0


style-options (アクセサ)
アクセサ protected Visual.style-options:#OptionItem
セッター protected Visual.style-options:#OptionItem

スタイル の機能を通してこのオブジェクトに指定されたオプションです。

説明

オプション リストは OptionItem へリンクしたリストとして表現されます。
(スタイル シートを通しているか直接設定されているかにかかわらず) Visual に設定されたオプションの全てを リストしたい場合は Visual.options-present-here ゲッターを使用してください。
導入: バージョン 6.0


test-child? (アクセサ)
アクセサ public final Visual.test-child?:bool

このVisualが、ビジュアル テスト システムに存在するかどうかを示します。

説明

テスト オブジェクト は、ビジュアル テスト メソッドで呼び出す事が出来るVisualです。これは テスト可能と知られている(test-type-nameが、null以外を返す)Visualであるか、テスト可能とマークされた(test-nameオプションが設定された)、Visualのいずれかになります。
このゲッターは、全てのテスト オブジェクトに対して true を返します。それに加え、全てのテストの親test-parent?オプションがtrueに設定されているオブジェクト)にtrueを返します。
導入: バージョン 7.0


test-description (アクセサ)
アクセサ public Visual.test-description:#String

ビジュアル テスト インフラストラクチャがこのオブジェクトの説明に使用する名前。エンド ユーザーはこの名前で視覚的にオブジェクトを探すことができます。

説明

これは、ビジュアル テスト インフラストラクチャを実行するテスト ツールのユーザー インターフェイスに表示される値です。
既定では、この値はこのオブジェクトを参照する Label (ある場合) を探して取得されます。独自の説明が設定されているオブジェクトは、このメソッドをオーバーライドする必要があります。たとえば、CommandButton には内部の Label が含まれているため、その Lavel の値を返します。
test-name も参照してください。


test-name (ローカル オプション)
public Visual.test-name:#String

ビジュアル テスト インフラストラクチャがこのオブジェクトをプログラムで探すために使用する名前。

説明

テスト名は、特定のテスト ペアレント内でユニークでなければなりません。詳細は、test-parent?をご覧ください。 この値がnullの時、Visual.nameオプションの値が、代わりに使用されます。 この値もまた、テスト ペアレント内でユニークでなければなりません。 test-namenameのいずれもがnullの時、ユニークな名前が生成されます。しかしながらグラフィカル階層の変更は、生成された名前の変更を引き起こします。ですから各テスト オブジェクトにユニークなテスト名を定義することが望ましいです。 test-descriptionもご覧ください。


test-parent? (ローカル オプション)
public Visual.test-parent?:bool =false

このオブジェクトでテスト名の新しい名前空間を使用するかどうかを示します。

説明

ビジュアル テスト インフラストラクチャは、特定のテストの親の中で test-name を照合してテスト オブジェクトを探します。

注意事項

テスト オブジェクトに対してテストが実行される前に、その親に通知する必要がある場合は、親は prepare-test-parent をオーバーライドする必要があります。


test-type-name (アクセサ)
アクセサ public Visual.test-type-name:#String

このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。

説明

ビジュアル テストを正しく実行するには、テストは次のいずれかのタイプでなければなりません。特定のテスト タイプの詳細については、リストされている実装例の test-run および get-test-property メソッドの説明を参照してください。
オブジェクトのセマンティクスに近い、いずれかの定義済みテスト タイプの使用を検討してください。ただし、テスト タイプを変更せずにオブジェクトにテストのアクションとプロパティを追加する方が簡単な場合もあります。


test-visible? (ローカル オプション)
public Visual.test-visible?:bool =true

このオブジェクトとその子孫をビジュアル テスト インフラストラクチャで使用できるようにするかどうかを示します。

説明

この値を false に設定すると、このオブジェクトとその子孫はテストの子として表示されなくなります。
たとえば、RichTextArea はその中のコントロールに対して test-visible? を false に設定します。これは、独自の高レベルのイベントを使用してコントロールのアクションを記録するためです。

注意事項

Graphic.visible? が false の場合、ビジュアル テスト インフラストラクチャはこの値も false と見なして機能します。


tooltip (ローカル オプション)
public Visual.tooltip:#Tooltip =null

チップヘルプをこの Visual と関連付けます。

プログラミング注意事項

このオプションの値は、Tooltip でなくてはなりません。


{CommandButton
    control-appearance-changeable?=true,
    label="Hi there!",
    control-color="yellow",
    color="red",
    tooltip={Tooltip "Tickle me if you dare!"}
}


user-data (ローカル オプション)
public Visual.user-data:any

任意のユーザー定義値の格納先です。

説明

このオプション名は、ユーザー プログラムが指定のグラフィカル オブジェクトに関連付る必要のある、1 つの任意情報ピースを格納する、ユーザー コードに使用されるため予約されています。これは,デバッグ情報やタグ情報を格納する、便利な場所です。


visual-parent (アクセサ)
アクセサ public Visual.visual-parent:#Visual

このオブジェクトの直接の親であるVisualを取得します。

戻り値

このオブジェクトの直近の親であるVisual。このオブジェクトが親を持たない場合、 nullが返されます。
導入: バージョン 7.0





メソッド詳細
add (メソッド)
public {Visual.add g:any, ...}:#Visual

子アイテムを Visual に追加します。

g: 追加されるアイテムです。g がこのオブジェクトへの追加に適したタイプではない場合、gVisual のサブタイプをタイプとする適切な値に強制変換され、その結果が追加されます。

戻り値

追加された実際の値。追加された Visual のサブタイプになります。

オーバーライド

オブジェクトの追加方法を指定する必要のあるクラスによりオーバーライドされます。 Visual.add の既定実装は、子オブジェクトをオブジェクトに追加できない旨を知らせる error を呼び出します。

このメソッドをオーバーライドするクラスは、Visual.clear もオーバーライドする必要があります。


add-from-init-args (メソッド)
protected {Visual.add-from-init-args a:any}:void

この Visual のコンストラクタに渡されるオブジェクトを Visual の内容に追加します。

プログラミング注意事項

このメソッドは Visual.non-keyword-init-arg で呼び出され、通常サブクラスでは直接呼び出しません。

オーバーライド

このメソッドの既定の実装では、Visual.add が呼び出されるだけです。サブクラスではこのメソッドをオーバーライドし、コンストラクタを使ってこの Visual に内容を追加する際の特別な処理を指定してください。


animate (メソッド)
public {Visual.animate
repeat:int = -1,
interval:Time = -1s,
frequency:Frequency = -1fps,
when:#DateTime = null,
delay:Time = -1s,
on-timer-event:EventHandler
}:Timer

Visual をアニメーションにする便利な方法を提供します。

このメソッドは Timer を作成し、このタイマーに対してイベント ハンドラ on-timer-event を追加します。

アニメーションは、この VisualRootFrame にアタッチされたグラフィカル階層に追加された場合にのみ開始し、削除されると停止します。

また、この RootFrameView で、この View が最小化された場合にもアニメーションは停止します。

repeat: on-timer-event イベント ハンドラが呼び出される回数です。負の数字は、制限なく繰り返すことを意味します。

詳細については、Timer.repeat を参照してください。
interval: on-timer-event イベント ハンドラが呼び出される間隔です。

詳細については、Timer.interval を参照してください。
frequency: on-timer-event イベント ハンドラが呼び出される頻度です。

詳細については、Timer.frequency を参照してください。
when: on-timer-event イベント ハンドラへの最初の呼び出しがいつ行われるかを決定します。

詳細については、Timer を参照してください。
delay: 値が負ではなく、whennull の場合は、Timer の作成時から最初の TimerEvent が発生するまでの待ち時間の長さを指定します (Timer がアクティブであることを前提とする)。

これを 0s に設定すると、on-timer-event イベント ハンドラが直ちに呼び出されます。

詳細については、Timer を参照してください。
on-timer-event: TimerEvent のイベント ハンドラです。

on-timer-event イベント ハンドラは、TimerEventTimer で発生した場合にのみ呼び出されます。

戻り値

このアニメーションに対して作成および使用される Timer です。

これを使用すると、アニメーションを制御できます。

注意事項

この VisualAttachEvent が発生すると、このメソッドに対する他のパラメータに基づいて、アニメーションが開始する場合があります。このアニメーションをいつでも停止するには、Timer.repeat0 に設定することができます。Timer は、別の AttachEvent が発生した瞬間、再び有効になるため、Timer.enabled? を false に設定するだけでは不十分です。

when および delay パラメータは、この Visual がグラフィカル階層に最初にアタッチされたときに限り使用されます。

詳細については、Timer を参照してください。


change-cursor (メソッド)
protected {Visual.change-cursor c:#Cursor}:void
この項目はサポートされていません。内部使用限定となっています。


clear (メソッド)
public {Visual.clear}:void

Visual の子を削除します。

オーバーライド

子を許可する任意のクラスによりオーバーライドされます。Visual.clear の既定実装は、オブジェクトが子を持てないことを示す error を呼び出します。

このメソッドをオーバーライドするクラスは、 Visual.add もオーバーライドする必要があります。


clonable-appearance? (メソッド)
public {Visual.clonable-appearance?
complete-clone-required?:bool = false
}:bool

Visual.clone-appearance が有効なクローン (たとえば、非 NULLl 値) を返すかどうかを示します。

complete-clone-required?: 部分クローンが受け入れ可能であるかどうかを説明します。詳細については Visual.clone-appearance を参照してください。

戻り値

Visual.clone-appearance が非 NULL 値を必ず返す場合は true です。この戻り値が false の場合でも、Visual.clone-appearance は非 null 値を返す場合があります。ただし、必ずそうであるとは限りません。

プログラミング注意事項

このメソッドの目的は、時間と労力を費やしてオブジェクトのクローンを作成する前に比較的簡単なチェックを行って、オブジェクトがクローン可能であるかどうかを確認することです。

オーバーライド

通常はオーバーライドされません。
既定の実装では、Visual.clonable-class?true を返した場合は true が返され、complete-clone-required?true の場合は、Visual.completely-clonable-children?true を返します。


clone-appearance (メソッド)
public {Visual.clone-appearance
fixup:#{proc-type {Visual, Visual}:Visual} = null,
complete-clone-required?:bool = false
}:#Visual

グラフィック上の外観が、このオブジェクトで始まるグラフィック階層の外観に似ているグラフィック階層を作成します (ただし、同じダイナミック イベント ハンドラを持たない場合があります)。

fixup: 次の 2 つの引数で呼び出されるプロシージャ (提供される場合) です。元のオブジェクト、ならびにコア 外観クローン作成のメカニズムにより生成されたコピーです。Visual.clone-appearance により返された最終値は、このプロシージャにより返される値になります (提供される場合)。これらのプロシージャは null を返すことはできません。
complete-clone-required?: true の場合、グラフィック階層が完全にコピーされることを指定します。それ以外の場合は null が返されます。complete-clone-required? が false の場合、元の階層におけるいくつかの部分が欠落しているコピー、「ベスト・エフォート」クローンが返される場合があります。

戻り値

結果のグラフィック階層、あるいはクローンが作成されない場合は null です。

説明

このメソッドはまず Visual.clonable-appearance? を呼び出して、Visual をクローン化できるかどうかを調べます。できない場合は、単に null を返します。できる場合は、Visual.clone-appearance-helper を呼び出してクローンを作成し、fixup が非 null であれば、これをそのクローンに適用します。その後、新しく作成したクローンを返します。

オーバーライド

通常はオーバーライドされません。
クローン化機能を提供するクラスは、Visual.clone-appearance-helperVisual.clonable-class? をオーバーライドする必要があります。


clone-appearance-helper (メソッド)
protected {Visual.clone-appearance-helper
fixup:#{proc-type {Visual, Visual}:Visual}
}:Visual

クローンを作成し、クローン自体を返します。

オーバーライド

既定の実装はエラーをスローします。クローン化機能を提供するクラスは、
{{compile-time-type-of self}.clone-appearance-from self, fixup}
を返すためには、このゲッターをオーバーライドする必要があります。


find-graphical-ancestor (メソッド)
public abstract {Visual.find-graphical-ancestor
p:{proc-type {Graphic}:bool}
}:#Graphic

与えられた述語に適合する最も近いグラフィックの祖先を返します。

p: 述語を指定するプロシージャ。

戻り値

{p a} が true を返す最も近い祖先 a{p self} が true を返す場合、self が返されます。p に適合する祖先が見つからない場合、戻り値は null になります。


find-test-children (メソッド)
public {Visual.find-test-children
children:{Array-of Visual},
filter:{proc-type {Visual}:bool}
}:void

フィルタに基づいてテストの子を蓄積します。

children: 配列。フィルタを渡すテストの子はこの配列に追加されます。
filter: 引数としてテストの子を受け取り、子が許可されるかどうかを示す論理値を返すプロシージャ。

注意事項

テスト オブジェクト (test-name または test-type-name が null 以外) またはテストの親 (test-parent? が true) を持つ場合は、オブジェクトはテストの子です。
また、テストの子は表示可能でなければなりません。実装では、Visual.test-visible? または Graphic.visible? が false のオブジェクトを検索しないでください。


get-focus-manager (メソッド)
public {Visual.get-focus-manager}:#FocusManager

オブジェクトの現在のフォーカス マネージャを取得します。

戻り値

オブジェクトの現在の FocusManager オブジェクトです。

注意事項

フォーカス マネージャは、現在のオブジェクトの focus-manager オプションにおける値です。

オーバーライド

通常はオーバーライドされません。


get-graphical-root (メソッド)
public abstract {Visual.get-graphical-root}:#Graphic

Visual のグラフィック階層のルートで、オブジェクトを取得します。

戻り値

ルート Graphic オブジェクトです。

オーバーライド

サブクラスは、この値を取得するために Visual.get-origin-in-root を呼び出す。そのメソッドはまずレイアウトを検証します。一方、このメソッドは、たとえレイアウト検証が不可能な場合でも値を返すことができます。


get-gui-path (メソッド)
public {Visual.get-gui-path root:Box}:{Array-of int}

ソート目的で位置の配列を提供します。

root: パスに関係するBox

戻り値

このメソッドは、root配下のグラフィック階層内のVisualの位置を、親の中でのそれぞれの親オブジェクトを表す整数の配列として返します。その配列は、グラフィックオブジェクトの合理的な順序を取得する為に比較されます。

例外のスロー

ChildNotInRootErrorselfrootの子孫でない場合

注意事項

コンテナオブジェクトは、子オブジェクト左から右に並べる為に、合理的なスキーマを使用するかもしれません。その為GUIパスの数値の詳細は、あるCurlセッションと他のセッションで同じであることは保証されません。

オーバーライド

Visual上の子のメソッドの基本定義は、エラーをスローするだけです。Visualの直接のサブクラスの多く、例えばGraphicは、このメソッドに適した定義を提供しています。したがって、Visualから間接的に継承されたユーザー定義のクラスは、一般的にこのメソッドをオーバーライドする必要はありません。
導入: バージョン 7.0


get-gui-path-to-child (メソッド)
public {Visual.get-gui-path-to-child
child:Visual,
root:Box
}:{Array-of int}

指定されたBoxから、指定されたこのオブジェクトの子に向かうGUIパスを計算します。

child: パスが計算されるVisualchildは、selfの直接の子であることが必要です。
root: childへ向かうパスのスタート地点

プログラミング注意事項

このメソッドは、Visual.get-gui-path をオーバーライドする Visual のサブクラスの実装から呼び出されます。

例外のスロー

ChildNotInRootErrorselfrootの子孫でない場合

注意事項

コンテナオブジェクトは、子オブジェクト左から右に並べる為に、合理的なスキーマを使用するかもしれません。その為GUIパスの数値の詳細は、あるCurlセッションと他のセッションで同じであることは保証されません。

オーバーライド

Visual 上のこのメソッドの基本定義は、エラーをスローするだけです。
BoxShape のような多くのコンテナは、このメソッドに適した定義を提供しています。ですから、これらから継承したユーザー定義のクラスは、一般的にこのメソッドをオーバーライドする必要はありません。
Box.get-gui-path-to-childShape.get-gui-path-to-child も参照してください。
導入: バージョン 7.0


get-layout-context (メソッド)
public {Visual.get-layout-context}:LayoutContext

このオブジェクトの現在の LayoutContext を返します。

戻り値

layout-context オプションの値です (そのオプションが境界の場合)。それ以外の場合、RootFrame にルートされないグラフィック階層に含まれる、レイアウトに使用可能な、新しく作成された 代役のLayoutContext を返します。

オーバーライド

ローカルにキャッシュされた、適切な LayoutContext へのポインタを保持するオブジェクトは、このメソッドをオーバーライドしてそのポインタを返すことができます。

説明

LayoutContext がダミー LayoutContext かどうかを調べるには、LayoutContext.dummy? を使います。


get-origin-in-graphical-ancestor (メソッド)
public abstract {Visual.get-origin-in-graphical-ancestor
ancestor:Graphic
}:(x:Distance, y:Distance, found?:bool)

グラフィック階層内における指定された祖先に対する Visual の相対的位置を見つけます。

ancestor: 対象の上位オブジェクトです。

戻り値

対象の座標、ならびに ancestorself の上位オブジェクトである場合は true に、それ以外の場合は false に指定された bool です。この bool が false の場合、返される座標には意味はありません。

オーバーライド

これは Visual のサブクラスに定義されなくてはならない抽象メソッドです。

注意事項

このメソッドは有効なレイアウトを持つオブジェクトで呼び出されなければなりません。そうでなければ、このメソッドの戻り値は有用ではありません。


get-origin-in-root (メソッド)
public abstract {Visual.get-origin-in-root
}:(x:Distance, y:Distance, root:Graphic)

グラフィック階層のルートにあるオブジェクトを基準とし、Visual の位置を取得します。

戻り値

ロケーションとルート オブジェクトでは次のようになります。
  1. ルートの内側起点を基準とした、Visual内側起点の x 座標。
  2. ルートの内側起点を基準とした、Visual の内側起点の y 座標。
  3. ルート オブジェクトそのもの ( Graphic)。

注意事項

このメソッドは、起点座標を正しく変換するために、レイアウト検証を実行する必要があります。ここで必要とされるのがグラフィカル ルートのみである場合、代わりに Visual.get-graphical-root を呼び出します。


get-test-parent (メソッド)
public {Visual.get-test-parent}:#Visual

テストの親でもあるビジュアルな祖先を返します。

注意事項

test-parent? が true の場合、オブジェクトはテストの親です。

オーバーライド

通常はオーバーライドされません。


get-test-property (メソッド)
public {Visual.get-test-property name:String}:any

このオブジェクトのテスト プロパティ値を返します。

説明

既定の実装では、リフレクションを使用してオブジェクトの実行時プロパティの値を取得します。プロパティを実行時のインターフェイスではなくテスト環境に追加する場合は、サブクラスでこのメソッドをオーバーライドする必要があります。

注意事項

参照:canonical-test-value


get-text (メソッド)
public {Visual.get-text}:String

可視オブジェクトの内容を表す文字列を取得します。

戻り値

テキスト文字列です。

オーバーライド

Visual のこのメソッドの既定定義は、単純に空文字列を返します。この要求への応答において役立つテキスト文字列を提供できる Visual のサブクラスは、このメソッドをそのような文字列を返すメソッドでオーバーライドするようにします。

注意事項

このメソッドにより返される文字列は、記述的な性質を持ち、目次またはその他の要約リストへ含まれるのに適切なものでなくてはなりません。この文字列は、Curl オブジェクトを作成するために評価されることを予測されていません。


get-top-left-in-ancestor (メソッド)
public abstract {Visual.get-top-left-in-ancestor
ancestor:Graphic
}:(x:Distance, y:Distance, found?:bool)

グラフィック階層に含まれる指定上位オブジェクトの座標フレームでこのオブジェクトの左上隅のロケーションを見つけます。

ancestor: 対象の上位オブジェクトです。

戻り値

対象の座標、ならびに ancestorself の上位オブジェクトである場合は true に、それ以外の場合は false に指定された bool です。この bool が false の場合、返される座標には意味はありません。

オーバーライド

これは Visual のサブクラスに定義されなくてはならない抽象メソッドです。

注意事項

レイアウトが現在有効ではないオブジェクトでの、このメソッドの呼び出しについては、Layout.get-bounds に含まれる注意を参照してください。


get-view (メソッド)
public {Visual.get-view}:#View

内部にこの Visual を持つ View を取得します。

注意事項

Visual.get-graphical-root も参照してください。


maybe-fire-attach-event (メソッド)
protected final {Visual.maybe-fire-attach-event}:void

この Visual に対して AttachEvent を起動するヘルパー関数。

注意事項

AttachEvent がこの Visual に対して起動されるのは、このイベントを処理する動的 AttachEvent ハンドラがこの Visual にあって、ルートが RootFrame であるグラフィック階層に Visual が接続されている場合だけです。


maybe-fire-detach-event (メソッド)
protected final {Visual.maybe-fire-detach-event}:void

この Visual に対して DetachEvent を起動するヘルパー関数。

注意事項

DetachEvent がこの Visual に対して起動されるのは、このイベントを処理する動的 DetachEvent ハンドラがこの Visual にあって、ルートが RootFrame であるグラフィック階層に Visual が接続されている場合だけです。


non-keyword-init-arg (メソッド)
public {Visual.non-keyword-init-arg a:any}:void

InitRestArgParser.process-rest-args で非キーワード引数が検出されると、呼び出されます。

説明

Visual によるこのメソッドの実装では、最初にこのメソッドへの入力値をオブジェクトに関連するメタデータとして解釈を試みます。たとえば、オブジェクトに関連する EventHandlerDataBinding を認識してから、これらをアタッチするための適切な手順を実行することになります。
メタデータとして認識不可能な入力値は、Visual に追加される内容であると解釈され、Visual.add-from-init-args に渡されます。

オーバーライド

オブジェクトに関連付けられた追加のメタデータも受け入れるようにするには、このメソッドをオーバーライドします。実装では通常、解釈に失敗した入力値でスーパー実装が呼び出されるようにします。


note-attached (メソッド)
public {Visual.note-attached}:void

ルートが RootFrame であるグラフィック階層にこの Visual が追加されたとき、そのグラフィック階層内でこれより下にあるすべての Visual に対して AttachEvent を起動します。

説明

このメソッドは、ルートが RootFrame であるグラフィック階層に Visual が追加された直後で、オプションが反映される前に呼び出されます。

オーバーライド

Visual のサブクラスによってこれをオーバーライドし、AttachEvent をそのサブクラスおよび子グラフィック (存在する場合) に送信する必要があります。
AttachEvent は、その子グラフィックに対して起動する前に、この Visual に対して起動する必要があります。
Visual.maybe-fire-attach-event を呼び出して、Visual に対して AttachEvent を起動します。


note-caret-position (メソッド)
public final {Visual.note-caret-position
left:Distance,
top:Distance,
width:Distance,
height:Distance
}:void

キャレットの現在の位置を示します。

top, left, width, height: Visual の基点と相対的な、キャレットの位置およびサイズ。

注意事項

一部のプラットフォームは、キャレットの位置を識別する、ユーザー インターフェイス サポートを提供します。キーボード インプットを受け入れる Visual は、キャレットの位置が設定または変更される場合に、このメソッドを呼び出す必要があります。


note-detaching (メソッド)
public {Visual.note-detaching}:void

ルートが RootFrame であるグラフィック階層からこの Visual が削除されたとき、そのグラフィック階層内でこれより下にあるすべての Visual に対して DetachEvent を起動します。

説明

このメソッドは、ルートが RootFrame であるグラフィック階層から Visual が削除される直前に呼び出されます。

オーバーライド

Visual のサブクラスによってこれをオーバーライドし、DetachEvent をそのサブクラスおよび子グラフィック (存在する場合) に送信する必要があります。
DetachEvent は、その子グラフィックに対して起動した後に、この Visual に対して起動する必要があります。
Visual.maybe-fire-detach-event を呼び出して、Visual に対して DetachEvent を起動します。


on-drag-enter (メソッド)
public {Visual.on-drag-enter e:DragEnter}:void

DragEnter イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-drag-leave (メソッド)
public {Visual.on-drag-leave e:DragLeave}:void

DragLeave イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-enter (メソッド)
public {Visual.on-pointer-enter e:PointerEnter}:void

PointerEnter イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-envelope-event (メソッド)
public {Visual.on-pointer-envelope-event e:PointerEnvelopeEvent}:void

PointerEnvelopeEventスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


on-pointer-leave (メソッド)
public {Visual.on-pointer-leave e:PointerLeave}:void

PointerLeave イベントのスタティック イベント ハンドラ

説明

スタティック イベント ハンドラの一般的な情報については、GuiEventTarget.on-pointer-event を参照してください。


pop-cursor (メソッド)
protected {Visual.pop-cursor e:GuiWindowEvent}:void
この項目はサポートされていません。内部使用限定となっています。


prepare-test-object (メソッド)
public {Visual.prepare-test-object}:bool

このオブジェクトをビジュアル テスト用に準備します。

戻り値

オブジェクトがテスト可能かどうかを示す bool 値。

説明

このメソッドは、テスト オブジェクトが見つかってから test-run が呼び出される直前にビジュアル テスト インフラストラクチャによって呼び出されます。
このメソッドを呼び出す前に、ビジュアル テスト インフラストラクチャはテスト オブジェクトの各テストの祖先に対して prepare-test-parent を呼び出します。
ビジュアル テスト インフラストラクチャは、戻り値が true になるかタイムアウトが発生するまで、テスト オブジェクトを繰り返しポーリングします。

オーバーライド

既定の実装では、単に enabled? の値を返します。一般的には、サブクラスが super.prepare-test-obj を呼び出してその戻り値をチェックします。


prepare-test-parent (メソッド)
public {Visual.prepare-test-parent}:bool

このオブジェクトをテストの親として準備します。

説明

ビジュアル テスト インフラストラクチャがテスト オブジェクトに対して prepare-test-object を呼び出す前に、test-parent? が true に設定されている各祖先に対して prepare-test-parent が呼び出されます。

オーバーライド

オーバーライド メソッドでは、実装の先頭部分で {super.prepare-test-parent} を呼び出す必要があります。


push-cursor (メソッド)
protected {Visual.push-cursor c:#Cursor, e:GuiWindowEvent}:void
この項目はサポートされていません。内部使用限定となっています。


quantize-width (メソッド)
public {Visual.quantize-width
what:any,
display-context:#DisplayContext = null
}:Distance

幅 (境界幅など) をピクセル サイズの倍数になるように数量化します。

what: Distance または Quantity として初めに指定された幅です。
display-context: 適用される表示コンテキスト、またはVisual.get-display-context を使用することによりフェッチされた現在の表示コンテキストを示す null のいずれかが使用されます。

戻り値

display-context で指定されたピクセルの倍数である値 (ポイント単位) です。この値は、what が 0 以下の場合、または 0 に等しい場合は 0 です。what が 0 ピクセル以上、1.5 ピクセル以下の場合、サイズは 1 ピクセルです。それ以外の場合、what に近いピクセル サイズの倍数です。

プログラミング注意事項

オプションが境界の幅またはアイテム間のスペースを指定する様々な場所で、実際に使用される幅がピクセル サイズの倍数であることを確認するために使用されます。

オーバーライド

通常はオーバーライドされません。


refresh-style-options (メソッド)
public {Visual.refresh-style-options}:void

このオブジェクトに現在のスタイルルールを適用します。

説明

再適用されるルールを必要とする方法でスタイルルールや StyleManager が変更される時に使用するためにこのメソッドは提供されています。style-manager オプションが変更された時や、Visual.style-class が変更された時に自動的に呼び出されます。
導入: バージョン 7.0


release-key-focus (メソッド)
public {Visual.release-key-focus}:void

キーボード フォーカスがこのオブジェクトから取り去られるよう要求します。

注意事項

このメソッドは、このオブジェクトのフォーカス マネージャの FocusManager.manager-release-key-focus メソッドを呼び出します。 このオブジェクトで FocusOut が発生しない限り、このオブジェクトは、実際にキーボード フォーカスを失いません。

このオブジェクトが元々キー フォーカスを持たなかった場合、キーボード フォーカスは変更されません。

オーバーライド

通常はオーバーライドされません。


request-draw (メソッド)
public abstract {Visual.request-draw
layout-context:LayoutContext = {self.get-layout-context}
}:void

描画する Visual に属するピクセルを確認します。

layout-context: このオブジェクトを含むグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。このキーワード引数が提供されない場合、Visual.get-layout-context を呼び出して、適切な値を取得します。

注意事項

このメソッドは、View.request-draw-rect-in-root の呼び出しを必要な回数だけ発行し (通常はビジュアルの境界で Graphic.request-draw-rect への呼び出しを実行することにより)、再ペイントが必要なすべてのピクセルをカバーする責任があります。

プログラミング注意事項

このオブジェクトのピクセルの再ペイントが必要になる何らかの理由があったとき、このメソッドが呼び出されます。このような状況が発生するのは、オブジェクトが初めて表示されるとき、ビューから削除されるとき、移動やサイズ変更が行なわれるとき (この場合、移動やサイズ変更の前と後でこのメソッドを呼び出す必要があります) などがあります。


request-key-focus (メソッド)
public {Visual.request-key-focus}:void

このオブジェクトに対してキーボード フォーカスを要求します。

説明

キーボード イベントを処理する多くのオブジェクトは、ActiveTraversor でもあります。このようなオブジェクトの場合、通常は、代わりに、アプリケーションが ActiveTraversor.become-active を呼び出す必要があります。

注意事項

キーボード フォーカスは、このオブジェクトのフォーカス マネージャの FocusManager.manager-request-key-focus メソッドを呼び出すことにより要求されます。このオブジェクトで FocusIn が発生しない限り、キーボード フォーカスはこのオブジェクトにより実際に取得されません。

オーバーライド

通常はオーバーライドされません。


scroll-to-include (メソッド)
public {Visual.scroll-to-include
x:Distance = 0pt,
y:Distance = 0pt,
min-window:double = 0.0,
max-window:double = 1.0
}:void

すべての ScrollerInterface のスクロール位置を、現在のオブジェクトの指定ポイントが可視状態になるように設定します。

x, y: 現在のオブジェクトの起点を基準とし、指定ポイントの座標を指定するキーワード引数です。いずれかの引数が提供されていない場合、スクロールはその方向に実行されません。
min-window: このオブジェクトの直属のグラフィック祖先である ScrollerInterface のビューポート領域の上および左側の境界を指定するキーワード 引数です。指定ポイントはスクロールするとこの領域内に表示されます。min-window は、0 から 1 の間の数字で、指定位置の上 (および左側) にあるビューポートの範囲の割合を指定します。既定値は 0 です。
max-window: このオブジェクトの直属のグラフィック祖先である ScrollerInterface のビューポート領域の下および右側の境界を指定するキーワード 引数です。 指定ポイントはスクロールするとこの領域内に表示されます。min-window と同様、max-window は 0 から 1 の間で、既定値は 1 です。

注意事項

レイアウトが現在有効ではないオブジェクトでの、このメソッドの呼び出しについては、Layout.get-bounds に含まれる注意を参照してください。


test-record (メソッド)
public {Visual.test-record action:String, ...}:void

オブジェクトのテスト アクションを記録します。

action: 記録するアクションの名前。アクションは、次のいずれかである必要があります。
...: アクションの引数。引数は、テスト環境に必要な型に一致していなければなりません。ただし、必要に応じて String に自動的に変換される型と値もあります。TestRecorder.record-values-by-index? も参照してください。

説明

このメソッドは、ユーザー インターフェイス操作に応じて、オブジェクトがその操作に反応する前に呼び出す必要があります。システムはオブジェクトの代わりに多くのイベントをまとめて記録します。このような包括的な記録が行われないようにするには、ユーザー インターフェイス操作に関連付けられているイベントの GuiInputEvent.test-recorded? フラグを、記録前に true に設定します。
通常のプログラムの API からの呼び出しにより変更が生じる場合は、このメソッドを呼び出さないでください。ユーザー インターフェイス操作が行われなくてもその呼び出しが発生する可能性があるからです。
これらのルールに従わない場合、エラーが発生するか、再生時にアクションが重複する可能性があります。
記録を準備するには (記録をコミットする必要があるかどうかが事前にわからない場合)、代わりに TestRecorder.prepare-recording を使用します。

注意事項

テスト オブジェクトとするには、null 以外の test-name または test-type-name が必要です。ビジュアル テスト インフラストラクチャは、テスト オブジェクト以外は見つけられません。記録されたアクションが正しく再生されないため、オブジェクトがテスト オブジェクトでない場合、このメソッドはエラーをスローします。

オーバーライド

通常はオーバーライドされません。呼び出し側は test-visible? のチェック後に TestRecorder.record を直接呼び出すことができます。そのため、このメソッドをオーバーライドしてもこのオブジェクトに対するすべての記録呼び出しをインターセプトできません。


test-run (メソッド)
public {Visual.test-run action:String, args:FastArray}:any

オブジェクトに対してビジュアル テスト アクションを実行します。

action: 実行するアクションの名前。
args: ビジュアル テスト アクションの引数。ビジュアル テスト インフラストラクチャは、引数の数と型をチェックしますが、値はチェックしません。実装では、すべての有効な値を処理し、不正な値に対しては例外またはエラーをスローするようにしてください。

説明

そのクラスによってサポートされたテスト動作のリストについてクラスのドキュメントを御読み下さい。
既定の実装では、RawClick などの一般的な操作を処理し、action が既知のアクションに一致しない場合にはリフレクションを使用してメソッドを呼び出します。

注意事項

QuickTest Property™ のビジュアル テスト環境では、任意の実行時メソッドを直接呼び出せません。代わりに CallMethod アクションを使用して、最初の引数としてメソッド名を渡してください。ビジュアル テスト インフラストラクチャは、CallMethod アクションを実際のアクションに変換してから test-run を呼び出します。

注意事項

参照:canonical-test-value

オーバーライド

新しいテスト アクションを追加するには、action と新しいアクションの名前を照合します。一致する場合は、引数を処理してアクションを実行し、適切なタイプの値 (戻り値がない場合は null) を返します。action が新しいテスト アクションに一致しない場合は、super.test-run を呼び出します。


transform-from-display-coordinates (メソッド)
public {Visual.transform-from-display-coordinates}:(new-x:Distance, new-y:Distance)

このオブジェクトの Display の座標系からこのオブジェクトの座標系に座標を変換します。

x, y: Display の座標系の座標。

戻り値

このオブジェクトの座標系の座標。

注意事項

このメソッドが成功するためには、このオブジェクトの座標が Display を基準にしている必要があり、View をルートとするグラフィック階層内になければなりません。変換の操作に失敗した場合は、TransformationExceptionがスローされます。


transform-from-graphical-root-coordinates (メソッド)
public {Visual.transform-from-graphical-root-coordinates}:(new-x:Distance, new-y:Distance, root:Graphic)

このオブジェクトのグラフィック階層のルートにあるオブジェクトの座標系からこのオブジェクトの座標系に座標を変換します。

x, y: グラフィカル ルートの座標系の座標。

戻り値

  1. このオブジェクトの起点を基準とする x 座標。
  2. このオブジェクトの起点を基準とする y 座標。
  3. グラフィカル ルート自体。

注意事項

このメソッドは、起点座標を正しく変換するために、レイアウト検証を実行する必要があります。ここで必要とされるのがグラフィカル ルートのみである場合、代わりに Visual.get-graphical-root を呼び出します。


transform-to-display-coordinates (メソッド)
public {Visual.transform-to-display-coordinates}:(new-x:Distance, new-y:Distance)

このオブジェクトの座標系から Display の座標系に座標を変換します。

x, y: このオブジェクトの座標系の座標。

戻り値

表示の座標系の起点を基準とする座標です。

注意事項

このメソッドが成功するためには、このオブジェクトの座標が Display を基準にしている必要があり、View をルートとするグラフィック階層内になければなりません。変換の操作に失敗した場合は、TransformationExceptionがスローされます。


transform-to-graphical-root-coordinates (メソッド)
public {Visual.transform-to-graphical-root-coordinates}:(new-x:Distance, new-y:Distance, root:Graphic)

このオブジェクトの座標系からこのオブジェクトのグラフィック階層のルートにあるオブジェクトの座標系に座標を変換します。

x, y: このオブジェクトの座標系の座標。

戻り値

  1. オブジェクトのグラフィカル ルートの起点を基準とする x 座標。
  2. オブジェクトのグラフィカル ルートの起点を基準とする y 座標。
  3. グラフィカル ルート自体。

注意事項

このメソッドは、起点座標を正しく変換するために、レイアウト検証を実行する必要があります。ここで必要とされるのがグラフィカル ルートのみである場合、代わりに Visual.get-graphical-root を呼び出します。


xy-offset-to (メソッド)
public {Visual.xy-offset-to}:(x:Distance, y:Distance, valid?:bool)

2 つのグラフィカル オブジェクトの起点の間の (x,y) オフセットを算出します。

g: オフセットを算出する対象のグラフィック。

戻り値

返される 2 つのポイントは、現在のオブジェクトから g までの (x,y) オフセット (ポイント単位) です。返された bool 値は、このオフセットが有効かどうかを示します。bool が false の場合、返されるオフセットは有効ではありません。これは、2 つのオブジェクトが同じ画面上に現在表示されていない場合に発生する可能性があります。

オーバーライド

既定実装 Visual.xy-offset-to がエラーを通知します。この操作を実装できるクラスは、このメソッドをオーバーライドする必要があります。特に、 Graphic は、この機能がすべての Graphic のクラスで使用可能になるように、このメソッドをオーバーライドします。