(クラス)
Shape の階層を表示します。
説明
ShapeBox の既定の動作は、コンテンツに応じてサイズの設定を決定することです。この動作は、サブクラスの要件ではありません。ただし、たとえば、
Canvas はそのサイズを独自に判別します。
注意事項
このオブジェクトは、"ShapeBox"のスタイル ルールを記述することによってスタイル化することが出来ます。
コンストラクタ protected | {ShapeBox.clone-appearance-from} |
コンストラクタ public | {ShapeBox.default ...} |
アクセサ public ShapeBox.as-Box:
Box
アクセサ protected ShapeBox.clonable-class?:
bool
アクセサ public ShapeBox.style-element:
String プロパティ 継承 Visual:
_style-element, cursor, data-source, dragee, font-size, 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?, enabled?, 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, visible?, visual-parent, vorigin, width
clear: | ボックスのグラフィカルな子を削除します。 |
public | {ShapeBox.clear}:void |
protected | {ShapeBox.clone-appearance-helper}:Visual |
draw: | このオブジェクトの可視表現を描画します。 |
public | {ShapeBox.get-gui-path-to-child}:{Array-of int} |
protected | {ShapeBox.handle-crossing}:void |
public | {ShapeBox.invalidate-shape-layout}:void |
public | {ShapeBox.note-attached}:void |
public | {ShapeBox.note-detaching}:void |
public | {ShapeBox.notify-option-children}:void |
public | {ShapeBox.request-draw}:void |
public | {ShapeBox.request-draw-rect}:void |
public | {ShapeBox.request-pointer-trace}:void |
メソッド 継承 SequenceBox:
add-at-index, add-at-index-with-layout, attempt-revalidate-layout, compare-children, end-pagination, find, graphical-child-visible-at, internal-remove-child, propagate-request-layout, swap-children, validate-layout-sequence-numbers メソッド 継承 ShapeContainerBase:
clone-children, constrain-shape-layout-bounds, draw-shape-child, draw-shape-children, get-all-children-at-point, get-child-at-point, get-leaf-at-point, get-shape-bounds, get-shape-bounds-in-shape-root, get-shape-layout-bounds, get-shape-root, remove, set-shape-index, set-shape-index-after, set-shape-index-before, shape-container-fire-inferior-crossing-event, shape-container-handle-crossing, shape-container-pointer-enter-occurred, shape-container-pointer-leave-occurred メソッド 継承 Visual:
add-from-init-args, animate, change-cursor, clonable-appearance?, clone-appearance, get-focus-manager, get-layout-context, get-test-parent, get-test-property, get-text, 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, request-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 メソッド 継承 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-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 メソッド 継承 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-inspection, option-changed, paginate, paint-with-decorations, replace-with, search-next, search-prev, set-layout, 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-lookup-here, option-propagate-notify, 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
(コンストラクタ)
protected | {ShapeBox.clone-appearance-from} |
新規オブジェクトを生成するためのコンストラクタ。
fixup:
このプロシージャは二つの引数と共に呼び出されます。元のオブジェクトと clone-appearance のメカニズムによって生成されたコピーオブジェクトです。このプロシージャによって返された値はクローンとして使用されます。このプロシージャはコピーするオブジェクトに修正を加えて返すことができます。このプロシージャが null を返すことはできません。
説明
クローン化をサポートする
ShapeBox のサブクラスはこのコンストラクタを呼び出すコンストラクタを持たなければなりません。クローンされた子に追加しなければならない情報があるかどうか分からない場合、このコンストラクタはサブクラスの子のクローンを作成しません。このクラスのサブクラスは子のクローンを作成しそれらを追加する必要があります。追加の情報が必要でない場合、単に
ShapeBox.clone-children を呼び出すだけです。そうでない場合は、
ShapeBox.clone-children をオーバーライドしそれを呼び出さなければなりません。通常、clone-apperance-from コンストラクタから呼び出される
ShapeBox.clone-children は以下のようになります。
{if {type-of self} == {compile-time-type-of self} then
{self.clone-children other, fixup}
}
(コンストラクタ)
public | {ShapeBox.default ...} |
新しい ShapeBox を作成します。
...: 残余引数を
Shape にして、
ShapeBox、イベント ハンドラ、またはグラフィック オプションの初期化に追加することができます。
(アクセサ)
アクセサ public ShapeBox.as-Box:
Box Box にキャストされたこの ShapeRoot です。
(アクセサ)
アクセサ protected ShapeBox.clonable-class?:
bool 当該クラスがクローン化可能である場合は、true を返します。その他の場合は false を返します。
オーバーライド
既定の実装は
false を返します。クローン化機能を提供するクラスは、
{type-of self} == {compile-time-type-of self} を返すためには、このゲッターをオーバーライドする必要があります。クローン化可能な
Visual が必ずしもクローン化可能であるとは限らないので、単に
true を返すだけでは正しくありません。
(非ローカル オプション)
このオブジェクトに関連付けられている 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 ShapeBox.style-element:
String スタイリングの目的のための、この Visual の "要素" や "型" です。
説明
オーバーライド
Visual のサブクラスのスタイルが他のオブジェクトと異なる場合、このゲッターは適切な文字列を返すようにオーバーライドされる必要があります。 慣例では,この文字列はクラス名または、オブジェクトを生成するマークアップの名前です。
オーバーライドでは、空の文字列でないかぎり、self._style-elementを返さなければなりません。
導入:
バージョン 6.0
(メソッド)
Shape を、この ShapeBox に追加します。
obj: 追加するアイテムです。
obj が
Shape の場合、アイテムはこのオブジェクトの形状の子として追加されます。それ以外の場合、
obj は
Shape に強制変換され、その結果が追加されます。
戻り値
追加された実際の値。追加された
Shape のサブタイプになります。
説明
(メソッド)
shape に含まれる Graphic をこの ShapeRoot のグラフィカル階層に追加します。
説明
このメソッドは
GraphicShape の実装から排他的に呼び出されることを想定しています。このメソッドを呼び出す必要はありません。
(メソッド)
(メソッド)
(メソッド)
Graphic が移動またはサイズ変更されることを、Graphic に対して通知します。
layout-context: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する
LayoutContext オブジェクト。
プログラミング注意事項
このメソッドは、レイアウト ネゴシエーションまたはその他の操作で可視オブジェクトを移動またはサイズ変更するときに必ず呼び出します。このメソッドは、オブジェクトが見えない場合でも呼び出すことができます。また、このメソッドを呼び出したとしても、その後オブジェクトを移動またはサイズ変更しなくてもかまいません。
オーバーライド
(メソッド)
public | {ShapeBox.clear}:void |
(メソッド)
protected | {ShapeBox.clone-appearance-helper}:Visual |
クローンを作成し、クローン自体を返します。
オーバーライド
既定の実装はエラーをスローします。クローン化機能を提供するクラスは、
{{compile-time-type-of self}.clone-appearance-from self, fixup}
を返すためには、このゲッターをオーバーライドする必要があります。
(メソッド)
指定した高さの制約を受けた場合にこの Graphic の幅設定を返します。
ascent, descent: 高さの制約。この
Graphic の起点からの相対的な上昇および下降の距離で表されます。
戻り値
オーバーライド
既定のメソッド
Graphic.constrain-height は、単に
Graphic.get-width-preference を呼び出します。このメソッドは、オブジェクトが幅設定を計算する際に高さの制約を考慮しなくてもいい場合はオーバーライドする必要がありません。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な水平軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
重要:このメソッドのオーバーライド実装には、レイアウト ネゴシエーションが確実にグラフィック階層全体に適用されるように、スーパークラス実装の呼び出しを含める必要があります。
(メソッド)
指定した高さの制約を受けた場合にこの Graphic の高さ設定を返します。
lextent, rextent: 幅の制約。起点からの左と右の相対距離で表されます。
戻り値
オーバーライド
既定のメソッド
Graphic.constrain-width は、単に
Graphic.get-height-preference を呼び出します。このメソッドは、オブジェクトが高さ設定を計算する際に幅制約を考慮しなくてもいい場合はオーバーライドする必要がありません。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な垂直軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
重要:このメソッドのオーバーライド実装には、レイアウト ネゴシエーションが確実にグラフィック階層全体に適用されるように、スーパークラス実装の呼び出しを含める必要があります。
(メソッド)
このオブジェクトの可視表現を描画します。
オーバーライド
(メソッド)
最後に実行された描画中にレンダラーに適用された変換を取得します。
説明
この値は、一般的にはビルボードなどの操作に使用されます。ビルボードの説明については、
GraphicShape を参照してください。
(メソッド)
public | {ShapeBox.get-gui-path-to-child}:{Array-of int} |
指定されたBoxから、指定されたこのオブジェクトの子に向かうGUIパスを計算します。
child: パスが計算される
Visual。
childは、
selfの直接の子であることが必要です。
root: childへ向かうパスのスタート地点
プログラミング注意事項
注意事項
コンテナオブジェクトは、子オブジェクト左から右に並べる為に、合理的なスキーマを使用するかもしれません。その為GUIパスの数値の詳細は、あるCurlセッションと他のセッションで同じであることは保証されません。
オーバーライド
Boxでのこのメソッドの既定の実装は、
selfの
ordered-children内の
childのインデックスを計算し、
rootから
selfへのパスにインデックスを追加します。これは、多くの種類の
Boxにおいて正しい計算になりますが、例えば、
TextFlowBoxは、より複雑な内部構造を持っており、有益なGUIパスを生成する為にこのメソッドをオーバーライドしています。
導入:
バージョン 7.0
(メソッド)
この Graphic の高さ設定を返します。
戻り値
オーバーライド
このメソッドは、
Graphic のサブクラス内で定義する必要があります。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な垂直軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
(メソッド)
この Graphic の幅設定を返します。
戻り値
オーバーライド
このメソッドは、
Graphic のサブクラスで定義する必要があります。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な水平軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
(メソッド)
protected | {ShapeBox.handle-crossing}:void |
ポインタ イベントe についての通知に応じて、必要な場合に PointerCrossing イベントを発生させます。
c: (
e.x,
e.y) が位置する、子のレイアウト オブジェクト。そのような子が存在しない場合、
c は NULL になります。
e: ポインタ座標
e.x および
e.y を含むイベント。
entered?: ポインタがこのオブジェクトに入っている場合は true になります。
left?: ポインタがこのオブジェクトから出ると true になります。
説明
プログラミング注意事項
(メソッド)
public | {ShapeBox.invalidate-shape-layout}:void |
子 Shape のレイアウトに関するキャッシュされた情報を無効にします。
説明
このメソッドは、Shape がこの ShapeRoot の階層に対して追加または削除されるたびに呼び出されます。また、Shape の変換が変更される場合にも呼び出されます。
(メソッド)
public | {ShapeBox.note-attached}:void |
(メソッド)
public | {ShapeBox.note-detaching}:void |
(メソッド)
public | {ShapeBox.notify-option-children}:void |
このオブジェクトのオプションの子にオプションが変更されたことを通知します。
item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。
オーバーライド
(メソッド)
(メソッド)
(メソッド)
(メソッド)
指定された点 (x, y) を覆う BasicBox の子をピックアップします。
x, y: ポイントの座標です。
戻り値
この点を覆う子。該当する子がない場合は NULL を返します。
プログラミング注意事項
注意事項
このメソッドの実装では、x と y の最新の値を、これらの値について返された答えと合わせてキャッシュすることが推奨されます。このメソッドはたいてい同じ入力で連続して複数回呼び出されるからです。
オーバーライド
このメソッドは、適切な戻り値を計算するコードを持つ、
BasicBox の具象サブクラスでオーバーライドする必要があります。
(メソッド)
このオブジェクトがバインドのモニタリングを必要とする非ローカル オプション キーを登録します。
プログラミング注意事項
このメソッドは、オブジェクトがモニタしているオプション キーを確認する必要がある場合に任意のコード内で呼び出されます。このメソッドは、プロシージャ
p をまったく呼び出さないかまたは何回か呼び出し、呼び出すたびに引数として
OptionKey を渡す必要があります。このオブジェクトによりモニタリングされるオプション キーのセットは、
p のすべての呼び出しで指定されたオプション キー セットの連結であると見なされます。
p を複数回呼び出せるという能力を利用して、オプション親はモニタの対象となるオプション キーのリストを指定して
p を一度呼び出し、次に、同じ引数
p を与えてオプションの子それぞれの
register-options メソッドを呼び出し、このメソッドの目的を果たすことができます。この方法はシンプルですが、ほとんどの場合は、オプション親がその子における
register-options 呼び出しの結果をキャッシュして、親の
register-options メソッドが呼び出されたときにそのリストを提供する方がより効率的です。ローカル バインディング オプションへの変更通知は、それらのキーが登録されていない場合でも行われます。
オーバーライド
OptionListInterface.register-options の既定の実装は、このオブジェクトの変更ハンドラを持つ各非ローカル オプションで
p を呼び出します。サブクラスは、
{super.register-options p} を呼び出し、登録される必要がある追加のオプション キー上全てで、
p を呼び出すように、このメソッドをオーバーライドする必要する必要があります。一般的に、これらの追加のオプション キーは、子供または子孫のオブジェクトが監視する必要がある非ローカル オプションに対応します。それは、このオブジェクトの子オブジェクト上で、
register-options を呼び出すことによって決定されます。
注意 一般的に、このメソッドをオーバーライドする必要があるオブジェクトだけが、オプションの子を持つオブジェクトです。
(メソッド)
public | {ShapeBox.request-draw}:void |
描画する Graphic に属するピクセルを確認します。
注意事項
プログラミング注意事項
このオブジェクトのピクセルの再ペイントが必要になる何らかの理由があったとき、このメソッドが呼び出されます。このような状況が発生するのは、オブジェクトが初めて表示されるとき、ビューから削除されるとき、移動やサイズ変更が行なわれるとき (この場合、移動やサイズ変更の前と後でこのメソッドを呼び出す必要があります) などがあります。
オーバーライド
(メソッド)
public | {ShapeBox.request-draw-rect}:void |
指定した GRect を再描画するためにピクセルを要求します。
rect: 再描画する領域を記述する
GRect。
プログラミング注意事項
注意事項
オーバーライド
通常はオーバーライドされません。
(メソッド)
public | {ShapeBox.request-pointer-trace}:void |
表示されたオブジェクトの幾何形状が変更されていることを宣言し、必要な PointerCrossing イベントの発生を要求します。
説明
オーバーライド
ポイント (x,y) を含む子オブジェクトの識別に (x,y) の位置をマップする、キャッシュされた状態を格納する
SequenceBox のようなサブクラスによってオーバーライドできます。こうした状態はリセットして、グラフィック階層のオブジェクトの幾何形状が変更されても新しい
PointerEnvelopeEvent が適切に送信されるようにします。このメソッドをオーバーライドする場合、オーバーライド メソッドには以下の呼び出しを含めます。
{super.request-pointer-trace}
(メソッド)
このオブジェクトにレイアウト幅と高さを代入します。
説明
このオブジェクトで set-size を呼び出すと、オブジェクトのレイアウト サイズを代入し、オブジェクトのレイアウト ネゴシエーションを完了します。グラフィック階層のすべてのオブジェクトにレイアウト サイズが代入された後で階層のレイアウト ネゴシエーションが完了します。
bounds: このオブジェクトの境界ボックスの左右および上下の範囲をオブジェクトの起点から相対的に示す
GRect。
プログラミング注意事項
このメソッドは、オブジェクトのグラフィカルな親によって呼び出されます。
オーバーライド
(メソッド)
指定された点 (x, y) を覆う ShapeContainerBase の子を選択します。
x, y: 点の座標。
戻り値
この点を覆う子。該当する子がない場合は NULL を返します。
プログラミング注意事項
注意事項
このメソッドの実装では、x と y の最新の値を、これらの値について返された答えと合わせてキャッシュすることが推奨されます。このメソッドはたいてい同じ入力で連続して複数回呼び出されるからです。