(クラス)
public abstract Box
{inherits
Graphic}
グラフィカルな子を持つことができるすべての Curl グラフィック オブジェクトの (抽象) 基本クラス。
プログラミング注意事項
このクラスは、Curl グラフィック コンテナとのインターフェイスを定義します。したがって、任意のグラフィック コンテナである値を取る可能性がある変数は、Box タイプとして宣言する必要があります。
コンストラクタ protected | {Box.clone-appearance-from other:Box} |
コンストラクタ public | {Box.default ...} |
アクセサ public Box.clip-child-shadows?:
bool
アクセサ protected Box.completely-clonable-children?:
bool
アクセサ public abstract Box.graphical-children:{
Iterator-of Graphic}
アクセサ public Box.reverse-ordered-children:{
Iterator-of Graphic}
プロパティ 継承 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?, option-parent, outside-margin, pagination-state, parent, possibly-displayed?, selection-context, shadow-color, shadow-spec, visible?, visual-parent, vorigin, width プロパティ 継承 Visual:
_style-element, clonable-class?, cursor, data-source, dragee, font-size, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-element, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data
clear: | ボックスのグラフィカルな子を削除します。 |
public | {Box.find-test-children}:void |
protected | {Box.get-delimited-child-text-selection}:void |
public | {Box.get-gui-path-to-child}:{Array-of int} |
public | {Box.get-range-as-selected-text}:void |
public | {Box.note-attached}:void |
public | {Box.note-detaching}:void |
public | {Box.propagate-request-layout epoch:int}:void |
public | {Box.request-layout}:void |
public | {Box.search-next-here}:(pattern-start:#GuiMark,pattern-end:#GuiMark) |
public | {Box.search-prev-here}:(#GuiMark, #GuiMark) |
public abstract | {Box.validate-layout}:void |
メソッド 継承 Graphic:
after-reposition, attempt-revalidate-layout, before-reposition, constrain-height, constrain-width, contains-point?, create-pagination-state, detach, draw, draw-range-as-selected, draw-shadow, end-pagination, find-ancestor, find-graphic-at, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, get-height-preference, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-top-left-in-ancestor, get-visible-bounds-into, get-width-preference, on-drag-enter, on-inspection, on-pointer-enter, option-changed, paginate, paint-with-decorations, pointer-enter-occurred, pointer-leave-occurred, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, set-layout, set-size, start-pagination, xy-offset-to メソッド 継承 Visual:
add, add-from-init-args, animate, change-cursor, clonable-appearance?, clone-appearance, clone-appearance-helper, 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-envelope-event, 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 メソッド 継承 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-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
(コンストラクタ)
protected | {Box.clone-appearance-from other:Box} |
このタイプの新しいオブジェクトを作成するために Visual.clone-appearance が使用するコンストラクタ。
注意事項
クローン化をサポートする
Box のサブクラスには、このコンストラクタを呼び出すコンストラクタが必要です。ただし、これらのコンストラクタがそれぞれ自身のオプションをクローン化する場合は、その限りではありません。
(コンストラクタ)
このタイプの新しいオブジェクトを作成します。
注意事項
このメソッドは 3 種類の引数を受け取ります。
- それぞれのキーワード引数は、"name=value" というフォームで、新しく作成されるオブジェクトのオプション name に value を設定するように指定します。
- EventHandler タイプ (通常は on を使用して作成) の各ダイナミック イベント ハンドラ指定では、新しく作成されるオブジェクトに追加されるダイナミック イベント ハンドラを指定します。
- それ以外の引数は、Graphic にキャストされ、新しく作成されるオブジェクトのグラフィカルな子として追加されます。
(アクセサ)
アクセサ public Box.clip-child-shadows?:
bool この box の子の影がこの box の目に見える境界の外に描画されるかどうかを規定します。
オーバーライド
既定では、
false を返します。そのため、
Box の子の影は Box の外側に描画されます。子の影が
Box の目に見える境界の外に描画されない場合、
true を返します。
導入:
バージョン 6.0
(アクセサ)
アクセサ protected Box.completely-clonable-children?:
bool Visual のすべての子を完全にクローン化できる場合は、true を返します。
オーバーライド
既定の実装は
true を返します。子がある
Box のようなサブクラスは、そのすべての子について、
complete-clone-required? が
true として渡された
Visual.clonable-appearance? が
true を返す場合は、このゲッターをオーバーライドし、
true を返す必要があります。その他の場合は
false を返すはずです。
(アクセサ)
アクセサ public abstract Box.graphical-children:{
Iterator-of Graphic}
ボックスのグラフィカルな子の反復子を返します。
オーバーライド
Box の具象サブクラスは、このメソッドをオーバーライドして、そのクラス用の子の反復子を作成して返す必要があります。
(アクセサ)
子を順番に返す、この Box のグラフィカルな子の反復子。
説明
選択や検索、および制御のタブ順に使用されます。このメソッドの既定の実装は、
Box.graphical-children と同じです。Box のサブクラスで、グラフィカルな子の順序が
graphical-children の順序と異なる場合は、このメソッドをオーバーライドする必要があります。
(アクセサ)
アクセサ public Box.reverse-ordered-children:{
Iterator-of Graphic}
この Box のグラフィカルな子の反復子で、子を逆の順序で返します。これは、Box.ordered-children を反転するものです。
注意事項
既定の実装では、それぞれの子のポインタにメモリが割り当てられます。
オーバーライド
このメソッドはオーバーライドが必要とは限りません。メソッドの既定の実装では、
Box.ordered-children を反転します。ただし、既定の実装は少し効率が悪いので、このアクセッサをより効率的に実装できるサブクラスは適宜実装してください。
(メソッド)
(メソッド)
このボックスの 2 つの子のグラフィカルな順序を検証します。
戻り値
b と関連する
a の位置に対応する
GraphicalOrder。
a か
b のどちらかが
self のグラフィックの子で無い場合、
GraphicalOrder.equal が返されます。後者の場合、
a が
b と同じでない時は、少なくとも
a か
b のうち一つはこのボックスの子ではありません。
オーバーライド
このメソッドはオーバーライドが必要とは限りません。既定の実装では、
Box.ordered-children で指定された順序に従って、子の順序を比較します。ただし、既定の実装は (子の総数に比例するので) 効率が悪い場合があります。サブクラスが多数の子を持つことが予想され、このメソッドのより効率的な実装ができる場合は、適宜実装してください。
(メソッド)
public | {Box.find-test-children}:void |
フィルタに基づいてテストの子を蓄積します。
children: 配列。フィルタを渡すテストの子はこの配列に追加されます。
filter: 引数としてテストの子を受け取り、子が許可されるかどうかを示す論理値を返すプロシージャ。
注意事項
(メソッド)
protected | {Box.get-delimited-child-text-selection}:void |
子グラフィックから与えられた選択範囲のテキストを取得して、その後ろに適切な区切り文字を挿入します。
delimiter:
into 内で、選択したテキストの後ろに置く
StringInterface。選択したテキストに新しい行が含まれている場合、この区切り文字の代わりに改行文字が使われることに注意してください。
start-bound:
child 内で選択が開始する論理的位置を表す
GuiMark。
null の場合、
child の先端を使います。
end-bound:
child 内で選択が終了する論理的位置を表す
GuiMark。
null の場合、
child の後端を使います。
プログラミング注意事項
オーバーライド
(メソッド)
public | {Box.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
(メソッド)
public | {Box.get-range-as-selected-text}:void |
start-bound と end-bound 間の、このグラフィック内に含まれる選択したテキストを取得します。
start-bound: グラフィック内の開始ポイントを区切る
GuiMark。null の場合、開始ポイントはグラフィックの先頭の端と見なされます。
end-bound: グラフィック内の終了ポイントを区切る
GuiMark。null の場合、終了ポイントは、グラフィックの最後の端と見なされます。
オーバーライド
通常コンテナは再帰的に呼び出しを実行して、適切な区切り文字を挿入します。その他のサブクラスは、直接テキストを提供します。
(メソッド)
この Box ボックスを含むウィンドウに表示されている四角形の一部を決定します。
rect: この
Box の
内部起点を基準として対象の四角形を示す
GRect。
rect には、このメソッドの呼び出しによる副作用があります。呼び出し後の
rect は、ウィンドウ内で実際に見えている元の四角形の一部を、そのウィンドウのトップレベルの
View の
内部起点を基準として示します 。
戻り値
ルート
View を基準としたこの
Box の位置。
必要な場合は、これらのオフセットを使用して、
rect をこの
Box の座標フレームに変換して戻すことができます。例外:
rect が空の四角形になる場合、つまり、元の四角形がまったく見えない場合の戻り値は任意です。
注意事項
このメソッドは、rect の境界を、その一部をクリッピングする任意の祖先の Box の指示どおりに減らします。しかし、この Box の祖先ではないオブジェクトが上に重なってその四角形の一部を隠している可能性がある遮蔽関係については考慮されません。したがって、このメソッドを呼び出した結果得られた rect 値は、可視領域の上境界を提供しますが、この領域全体が実際に見えていることを保証するわけではありません。
プログラミング注意事項
オーバーライド
通常はオーバーライドされません。
(メソッド)
位置 x、y にある目に見えるグラフィカルな子を規定します。
説明
このメソッドは、(x, y) に描画された順番で最上位のグラフィカルな子を返します。
x, y: self の座標フレームを基準にしたポイントの座標。
戻り値
子のオブジェクトが見つかればそれを返します。そうでなければ、null を返します。
プログラミング注意事項
注意事項
既定の実装では、
null を返します。子を持つことができる
Graphic のサブクラスは、
(x, y) に描画された順番で最上位のグラフィカルな子を返すためにオーバーライドします。
導入:
バージョン 6.0
(メソッド)
この Graphic を参照する GuiMark を作成する標準的な方法。
戻り値
初期化されてグラフィックの先頭の端に新しく割り当てられた GuiMark。
オーバーライド
GuiMark のカスタム サブクラスが Graphic のコンテンツを参照する必要がある場合、Graphic のサブクラスでこのメソッドをオーバーライドします。
(メソッド)
public | {Box.note-attached}:void |
(メソッド)
public | {Box.note-detaching}:void |
(メソッド)
public | {Box.propagate-request-layout epoch:int}:void |
Box からそのグラフィカルな親 (存在する場合) に新しいレイアウト ネゴシエーションの要求を伝播します。
epoch: この
レイアウト無効化に関連付けられている Layout Epoch。これは、通常、
get-layout-epoch を使用して得られる現在の Layout Epoch です。
プログラミング注意事項
一般的に、このメソッドは、
Box.request-layout から
Box の親にレイアウトの要求を伝えるために呼び出されるか、
Layout.request-layout から呼び出されます。
Box でこのメソッドを呼び出すことは、
Box のグラフィカルな子孫のいずれかが新しいレイアウト ネゴシエーションを要求していることを示します。この状況は、
Box での
Box.request-layout の呼び出しとは対照的です。この場合は、
Box 自体が新しいレイアウト ネゴシエーションを要求していることを意味します。これらの 2 つの別個のメソッドが提供されるのは、その後のレイアウト ネゴシエーションの初めに
Graphic.attempt-revalidate-layout が呼び出されるときに、異なるアクションを保証するためです。
Box.propagate-request-layout の呼び出しによって、この
Box にレイアウト要求が通知された場合は、
Box 自体では何も変更されていないので、
Box の子で
Graphic.attempt-revalidate-layout メソッドが呼び出されたときにすべての子の答えが true であれば、
Box の
Graphic.attempt-revalidate-layout に対する答えは常に true になります。しかし、
Box.request-layout が呼び出された場合は、
Box は、そのすべての子のレイアウトについて有効性を再検証できたとしても、それ自体のレイアウトが有効とは認められない場合があります。これは、グラフィカルな子の追加や削除、またはそれらの子の空白や配列での変更など、
Box 自体の構造で変更が加えられている可能性があるからです。
オーバーライド
このメソッドは、情報を保持してレイアウト無効化を追跡する
Box サブクラスでオーバーライドできます。このようなオーバーライド メソッドにはすべて
super.propagate-request-layout の呼び出しが必要です。このメソッドは、グラフィック階層のルートになるように設計されている
View などのクラスでもオーバーライドされます。この場合、レイアウト要求を記録し、新しいレイアウト ネゴシエーションに合わせて整列させるコードによってメソッドがオーバーライドされます。
(メソッド)
public | {Box.request-layout}:void |
Graphic のレイアウト設定が変更されたため、新しいレイアウト ネゴシエーションを行う必要があることを通知します。
オーバーライド
request-layout 操作の実行時に更新される記録情報を持つ
Graphic のサブクラスによって、このメソッドをオーバーライドできます。このようなオーバーライド メソッドは、必ず
{super.request-layout} を呼び出します。オーバーライド メソッドの例として、
BasicBox.request-layout があります。
(メソッド)
public | {Box.search-next-here}:(pattern-start:#GuiMark,pattern-end:#GuiMark) |
この Graphic 内か、その子の 1 つに現れるパターンの境界を返します。通常このメソッドは、アプリケーション コードから直接呼び出しません。代わりに Graphic.search-next を呼び出します。
gm: 検索を開始する
GuiMark。指定しない場合は
Graphic の先端から検索を開始します。
gm を指定する場合、
gm.graphic がこのメソッドを呼び出す
Graphic に
等しくなければならない点に注意してください。
戻り値
パターンの開始を定める GuiMark と、終了を定める GuiMark。
説明
searchable? が true であるグラフィカルな子は、この Graphic の内容とともに再帰的に検索されます。
オーバーライド
このメソッドの基本実装は常に null, null を返します。SearchPattern を実際に識別して探し出せる Graphic のサブクラスでは、それを実行するためにこのメソッドをオーバーライドする必要があります。
(メソッド)
public | {Box.search-prev-here}:(#GuiMark, #GuiMark) |
この Graphic 内か、その子の 1 つに現れるパターンの境界を返します。通常このメソッドは、アプリケーション コードから直接呼び出しません。代わりに Graphic.search-prev を呼び出します。
gm: 検索を開始する
GuiMark。指定しない場合は
Graphic の左端から検索を開始します。
gm を指定する場合、
gm.graphic がこのメソッドを呼び出す
Graphic に
等しくなければならない点に注意してください。
戻り値
パターンの開始を定める GuiMark と、終了を定める GuiMark。
説明
searchable? が true であるグラフィカルな子は、この Graphic の内容とともに再帰的に検索されます。
オーバーライド
このメソッドの基本実装は常に null, null を返します。SearchPattern を実際に識別して探し出せる Graphic のサブクラスでは、それを実行するためにこのメソッドをオーバーライドする必要があります。
(メソッド)
public abstract | {Box.validate-layout}:void |
Box のレイアウトを有効にします。
プログラミング注意事項
このメソッドは、境界および原点の位置についての情報のクエリができるように Box のレイアウトを有効にする必要があるときに呼び出されます。このメソッドは、一般に、レイアウト システムの一部をなすコードによってのみ呼び出されます。
オーバーライド
この抽象メソッドは、Box の 具象サブクラスによって、必要なアクションを実際に実行するコードでオーバーライドされなければなりません。