BaseFrame (クラス)
public BaseFrame {inherits BasicBox}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
直接継承しているサブクラス: BaseToggleButtonGraphic, ControlFrame, SkinnableTabContainerControlFrame, TriangleControlPart, Frame, MenuSeparator, MessageDisplay, TreeItem, RecordGridCell

BaseFrame は、グラフィカルな子を 1 つ格納するコンテナの基本クラスです。

説明

BaseFrame は、基本クラスとして使用されるものなので、子を追加するためのパブリックメソッドはありません。これは、派生クラスをどのように使用できるかについて、より完全な制御を提供します。

BaseFrame は、Frame の基本クラスです。Frame とは異なり、BaseFrame には配列および伸長のプロパティはありません。

BaseFrame は、子が 1 つの特殊なコンテナの場合に便利です。

次の例は、BaseFrame を使用して、クリックされたときに内容を変えるグラフィカルな子オブジェクトを定義する方法を示しています。BaseFrame.add-internal で BaseFrame にコンテンツを追加します。


{define-class package final NumberFrame {inherits BaseFrame}
  field counter:int=0

  {constructor {default}
    {construct-super.BaseFrame
        text-selectable?=false,
        {on e:PointerPress do
            {output "hello"}
            {self.add-internal {self.counter-string}, replace?=true}
            set self.counter = self.counter + 1
            {e.consume}
        }
    }
    {self.add-internal {self.counter-string}}
    set self.counter = self.counter + 1
  }
  {method {counter-string}:Graphic
    {return {format "Pressed %d times", self.counter}}}
}
{NumberFrame}

コンストラクタ
clone-appearance-from:このタイプの新しいオブジェクトを作成するために Visual.clone-appearance が使用するコンストラクタ。
コンストラクタ protected {BaseFrame.clone-appearance-from
other:BaseFrame,
fixup:#{proc-type {Visual, Visual}:Visual}
}
default:タイプが BaseFrame か、または BaseFrame のサブクラス (例:Frame) である新規オブジェクトを作成します。
コンストラクタ public {BaseFrame.default ...}

プロパティ
child:この BaseFrame のグラフィカルな子に対応する FrameLayout をポイントします。
フィールド public-get protected-set BaseFrame.child:#FrameLayout
clonable-class?:当該クラスがクローン化可能である場合は、true を返します。その他の場合は false を返します。
アクセサ protected BaseFrame.clonable-class?:bool
completely-clonable-children?:Visual のすべての子を完全にクローン化できる場合は、true を返します。
アクセサ protected BaseFrame.completely-clonable-children?:bool
graphical-children:BaseFrame の単一の子の繰返子を返します。
アクセサ public BaseFrame.graphical-children:{Iterator-of Graphic}
halign-spec:レイアウトで使用される halign 値を提供します。
アクセサ protected BaseFrame.halign-spec:any
hstretch?-spec:レイアウトで使用される hstretch? 値 (BaseFrame の場合は true) を提供します。
アクセサ protected BaseFrame.hstretch?-spec:bool
ordered-children:子を順番に返す、この Box のグラフィカルな子の反復子。
アクセサ public BaseFrame.ordered-children:{Iterator-of Graphic}
reverse-ordered-children:この Box のグラフィカルな子の反復子で、子を逆の順序で返します。これは、Box.ordered-children を反転するものです。
アクセサ public BaseFrame.reverse-ordered-children:{Iterator-of Graphic}
valign-spec:レイアウト処理で使用される valign 値を提供します。
アクセサ protected BaseFrame.valign-spec:any
vstretch?-spec:レイアウト処理で使用される vstretch? 値 (BaseFrame の場合は true) を提供します。
アクセサ protected BaseFrame.vstretch?-spec:bool
width-first?:このオブジェクトの現在のレイアウト ネゴシエーションで先に処理をするのは幅と高さのどちらかを指定します。
フィールド protected BaseFrame.width-first?:bool
プロパティ 継承 GetBoundsBox: layout-locally-valid?, layout-valid?
プロパティ 継承 Box: clip-child-shadows?
プロパティ 継承 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, 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
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 OptionListInterface: option-register-proc, options-present-here, registered-option-keys

メソッド
add-internal:このルーチンは、派生クラスが子グラフィックの追加または置換に使用できるプロテクトされたメソッドを提供します。例については、BaseFrame を参照してください。
protected {BaseFrame.add-internal
g:#Graphic,
replace?:bool = false
}:#Graphic
after-reposition:Graphic が移動またはサイズ変更されたことを、Graphic に通知します。
public {BaseFrame.after-reposition layout-context:LayoutContext}:void
allocate-layout-object:この BaseFrame 内に含まれる GraphicFrameLayout オブジェクトを作成します。
protected {BaseFrame.allocate-layout-object}:FrameLayout
attempt-revalidate-layout:最後のレイアウト ネゴシエーションが完了してから、Graphic のレイアウト設定が変更されたかどうかを判定します。
public {BaseFrame.attempt-revalidate-layout lc:LayoutContext}:bool
before-reposition:Graphic が移動またはサイズ変更されることを、Graphic に対して通知します。
public {BaseFrame.before-reposition layout-context:LayoutContext}:void
clone-appearance-helper:クローンを作成し、クローン自体を返します。
protected {BaseFrame.clone-appearance-helper
fixup:#{proc-type {Visual, Visual}:Visual}
}:Visual
compute-child-bounds:この BaseFrame の子の境界セットを計算し、組み込みます。
protected {BaseFrame.compute-child-bounds
lc:LayoutContext,
before:Distance,
after:Distance,
horizontal?:bool = {value {mandatory-keyword-arg-missing} false},
set?:bool = {value {mandatory-keyword-arg-missing} false}
}:void
compute-parent-elastic:子オブジェクトに指定された整列オプションに従って、そのオブジェクトのサイズ設定を調整します。
protected {BaseFrame.compute-parent-elastic
source:Dimension,
horizontal?:bool = {value {mandatory-keyword-arg-missing} false}
}:Dimension
constrain-height:指定した高さの制約を受けた場合にこの Graphic の幅設定を返します。
public {BaseFrame.constrain-height
lc:LayoutContext,
ascent:Distance,
descent:Distance
}:Dimension
constrain-width:指定した高さの制約を受けた場合にこの Graphic の高さ設定を返します。
public {BaseFrame.constrain-width
lc:LayoutContext,
lextent:Distance,
rextent:Distance
}:Dimension
draw:このオブジェクトの可視表現を描画します。
public {BaseFrame.draw renderer2d:Renderer2d}:void
end-pagination:この Graphic に対するパジネーション プロセスを終了し、PaginationState を記録するためのデータ構造を割り当て解除します。
public {BaseFrame.end-pagination}:void
get-height-preference:この Graphic の高さ設定を返します。
public {BaseFrame.get-height-preference lc:LayoutContext}:Dimension
get-text:可視オブジェクトの内容を表す文字列を取得します。
public {BaseFrame.get-text}:String
get-width-preference:この Graphic の幅設定を返します。
public {BaseFrame.get-width-preference lc:LayoutContext}:Dimension
install-child-bounds:この BaseFrame の子に、計算済みの境界セットを組み込みます。
protected {BaseFrame.install-child-bounds
lc:LayoutContext,
origin:Distance,
before:Distance,
after:Distance,
horizontal?:bool = {value {mandatory-keyword-arg-missing} false},
set?:bool = {value {mandatory-keyword-arg-missing} false}
}:void
internal-remove-child:BaseFrame の子を削除します。
protected {BaseFrame.internal-remove-child}:void
note-attached:ルートが RootFrame であるグラフィック階層にこの Visual が追加されたとき、そのグラフィック階層内でこれより下にあるすべての Visual に対して AttachEvent を起動します。
public {BaseFrame.note-attached}:void
note-detaching:ルートが RootFrame であるグラフィック階層からこの Visual が削除されたとき、そのグラフィック階層内でこれより下にあるすべての Visual に対して DetachEvent を起動します。
public {BaseFrame.note-detaching}:void
notify-option-children:このオブジェクトのオプションの子にオプションが変更されたことを通知します。
public {BaseFrame.notify-option-children
item:OptionItem,
removed?:bool
}:void
paginate:グラフィックにパジネーションを適用します。
public {BaseFrame.paginate
page-height:Distance,
next-page-height:Distance,
query-only?:bool
}:(PaginationState, PaginationQuality)
pick-child:指定された点 (x, y) を覆う BasicBox の子をピックアップします。
public {BaseFrame.pick-child x:Distance, y:Distance}:#EventForwarder
propagate-request-layout:Box からそのグラフィカルな親 (存在する場合) に新しいレイアウト ネゴシエーションの要求を伝播します。
public {BaseFrame.propagate-request-layout epoch:int}:void
register-options:このオブジェクトがバインドのモニタリングを必要とする非ローカル オプション キーを登録します。
public {BaseFrame.register-options p:{proc-type {OptionKey}:void}}:void
set-size:このオブジェクトにレイアウト幅と高さを代入します。
public {BaseFrame.set-size lc:LayoutContext, bounds:GRect}:void
メソッド 継承 BasicBox: contains-point?, find-graphic-at, handle-crossing, on-pointer-envelope-event, pointer-enter-occurred, pointer-leave-occurred
メソッド 継承 GetBoundsBox: get-bounds, get-elastic-bounds-into, get-nonparent-bounds-into, request-layout, validate-layout
メソッド 継承 Box: clear, compare-children, find-test-children, get-delimited-child-text-selection, get-gui-path-to-child, get-range-as-selected-text, get-visible-rect-in-root-into, graphical-child-visible-at, make-gui-mark, search-next-here, search-prev-here
メソッド 継承 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, option-changed, paint-with-decorations, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, set-layout, start-pagination, xy-offset-to
メソッド 継承 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, 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
メソッド 継承 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-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, 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
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
clone-appearance-from (コンストラクタ)
protected {BaseFrame.clone-appearance-from
other:BaseFrame,
fixup:#{proc-type {Visual, Visual}:Visual}
}

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

other: クローンする BaseFrame
fixup: other に子が 1 つある場合は、その子のクローンを作成するとき、fixupVisual.clone-appearance に渡されます。

注意事項

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


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

タイプが BaseFrame か、または BaseFrame のサブクラス (例:Frame) である新規オブジェクトを作成します。

注意事項

このメソッドは 2 種類の引数を受け取ります。なお、コンストラクタで BaseFrame に子オブジェクトを直接追加することはできません。BaseFrame.add-internal を呼び出して子を追加する手段を提供するには、BaseFrame をオーバーライドする必要があります。



プロパティ詳細
child (フィールド)
public-get protected-set BaseFrame.child:#FrameLayout

この BaseFrame のグラフィカルな子に対応する FrameLayout をポイントします。

注意事項

BaseFrame に子がない場合、このフィールドには null が含まれます。


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

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

オーバーライド

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


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

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

オーバーライド

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


graphical-children (アクセサ)
アクセサ public BaseFrame.graphical-children:{Iterator-of Graphic}

BaseFrame の単一の子の繰返子を返します。



halign-spec (アクセサ)
アクセサ protected BaseFrame.halign-spec:any

レイアウトで使用される halign 値を提供します。

説明

null の場合は原点に合わせて整列されます。それ以外の場合、この値は 0 (左揃え) ~ 1 (右揃え) の数になります。

オーバーライド

既定の実装は、原点に合わせた整列を指定する null を返します。異なる値を指定 (または計算) するように、派生クラスでオーバーライドできます。


hstretch?-spec (アクセサ)
アクセサ protected BaseFrame.hstretch?-spec:bool

レイアウトで使用される hstretch? 値 (BaseFrame の場合は true) を提供します。

オーバーライド

異なる値を指定 (または計算) するように、派生クラスでオーバーライドできます。


ordered-children (アクセサ)
アクセサ public BaseFrame.ordered-children:{Iterator-of Graphic}

子を順番に返す、この Box のグラフィカルな子の反復子。

説明

選択や検索、および制御のタブ順に使用されます。このメソッドの既定の実装は、Box.graphical-children と同じです。Box のサブクラスで、グラフィカルな子の順序が graphical-children の順序と異なる場合は、このメソッドをオーバーライドする必要があります。


reverse-ordered-children (アクセサ)
アクセサ public BaseFrame.reverse-ordered-children:{Iterator-of Graphic}

この Box のグラフィカルな子の反復子で、子を逆の順序で返します。これは、Box.ordered-children を反転するものです。

注意事項

既定の実装では、それぞれの子のポインタにメモリが割り当てられます。

オーバーライド

このメソッドはオーバーライドが必要とは限りません。メソッドの既定の実装では、Box.ordered-children を反転します。ただし、既定の実装は少し効率が悪いので、このアクセッサをより効率的に実装できるサブクラスは適宜実装してください。


valign-spec (アクセサ)
アクセサ protected BaseFrame.valign-spec:any

レイアウト処理で使用される valign 値を提供します。

説明

null の場合は原点に合わせて整列されます。それ以外の場合、この値は 0 (上揃え) ~ 1 (下揃え) の数になります。

オーバーライド

既定の実装は、原点に合わせた整列を指定する null を返します。異なる値を指定 (または計算) するように、派生クラスでオーバーライドできます。


vstretch?-spec (アクセサ)
アクセサ protected BaseFrame.vstretch?-spec:bool

レイアウト処理で使用される vstretch? 値 (BaseFrame の場合は true) を提供します。

オーバーライド

異なる値を指定 (または計算) するように、派生クラスでオーバーライドできます。


width-first? (フィールド)
protected BaseFrame.width-first?:bool

このオブジェクトの現在のレイアウト ネゴシエーションで先に処理をするのは幅と高さのどちらかを指定します。

プログラミング注意事項

これは、BaseFrame.constrain-width では true に設定され、BaseFrame.constrain-height では false に設定されて、BaseFrame.set-size で、その子の境界の計算方法を決定するために使用されます。





メソッド詳細
add-internal (メソッド)
protected {BaseFrame.add-internal
g:#Graphic,
replace?:bool = false
}:#Graphic

このルーチンは、派生クラスが子グラフィックの追加または置換に使用できるプロテクトされたメソッドを提供します。例については、BaseFrame を参照してください。

g: フレームに追加する Graphic
replace?: 既存の子を置換するかどうかを指定します。false の場合、すでに子を持っている BaseFrame で add-internal を呼び出すとエラーが発生します。

戻り値

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


after-reposition (メソッド)
public {BaseFrame.after-reposition layout-context:LayoutContext}:void

Graphic が移動またはサイズ変更されたことを、Graphic に通知します。

layout-context: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。

プログラミング注意事項

この Graphic を移動またはサイズ変更した操作の前に、Graphic.before-reposition を呼び出した場合、このメソッドはこの操作後に呼び出されます。この操作の前にオブジェクトが見えなかったとしても、操作前に Graphic.before-reposition を呼び出さなかった場合は、この操作後に、Graphic.after-reposition でなく Graphic.request-draw が呼び出されます。

Graphic に対して g.after-reposition g が呼び出されるのは、この操作の前に g.before-reposition を呼び出した場合のみです。ただし、この操作の前に g.before-reposition を呼び出しても、この操作の後に g.after-reposition が呼び出されない場合もあります。このような事態が発生するのは、オブジェクトを移動やサイズ変更がなかったと (g の親などが) 判断した場合、あるいは他のオブジェクトが、操作前と操作後の両方で、g の位置の可視境界全体に対する LayoutContext.request-draw-rect-in-root 操作を 1 回以上呼び出した場合です。

Graphic.before-repositionGraphic.after-reposition はともに、オブジェクトの位置が有効な場合にしか呼び出されません。

オーバーライド

既定の定義 Graphic.after-reposition は、単に Graphic.request-draw を呼び出すだけです。Graphic.request-draw は、Graphic.before-repositionの既定の実装でも使用されていることを前提とした適切な処理方法です。ただし、Graphic.before-reposition をオーバーライドする場合は、Graphic.after-reposition もオーバーライドする必要があります。


allocate-layout-object (メソッド)
protected {BaseFrame.allocate-layout-object}:FrameLayout

この BaseFrame 内に含まれる GraphicFrameLayout オブジェクトを作成します。

戻り値

新しい FrameLayout

オーバーライド

これをオーバーライドしてサブクラスの Layout を変更します。


attempt-revalidate-layout (メソッド)
public {BaseFrame.attempt-revalidate-layout lc:LayoutContext}:bool

最後のレイアウト ネゴシエーションが完了してから、Graphic のレイアウト設定が変更されたかどうかを判定します。

lc: このレイアウト ネゴシエーションに対して有効な LayoutContext

戻り値

bool。このオブジェクトのレイアウト設定が変更されていない場合は true。値が false の場合、変更の有無にかからわずレイアウト ネゴシエーションの確認が行なわれます。

注意事項

このメソッドは、完全なレイアウト ネゴシエーション、つまり、Graphic.set-size を呼び出してネゴシエーションを行ったオブジェクトに対してのみ呼び出すことを推奨します。このメソッドが true を返すと、直前の完全なレイアウト ネゴシエーション中に行われた同じ高さおよび幅設定の確認が繰り返された場合に、オブジェクトが、以前返された答えと全く同じ答え (OriginElastic.equal? によって計算された答え) を返すことになります。

このメソッドからオブジェクトがすぐに true を返す最も一般的なケースは、直前のレイアウト ネゴシエーションの結果を無効にするようなことがオブジェクトで発生しなかった場合です。また、このメソッドが true を返すこれ以外のケースは、Box であるオブジェクトの場合で、Box の子すべてに対して Graphic.attempt-revalidate-layout を呼び出し、これらの呼び出しすべてで true が返されたときに true を返します(Box の設定が Box の子の設定と変更されたかどうかが不明なその他のパラメータにのみ依存する場合、この処理が有効です)。

このメソッドが true を返し、このオブジェクトの親にその境界を変更する理由がない場合、親がこのオブジェクトに対してさらにレイアウト ネゴシエーションを呼び出す可能性はありません。したがって、このオブジェクトがそのレイアウトの有効性の判定を記録している場合、このメソッドから true を返す前にオブジェクトはそれ自体を layout-valid 状態に設定する必要があります。

プログラミング注意事項

このメソッドは通常このオブジェクトの親 BoxBox.attempt-revalidate-layout メソッドによって呼び出されます。この目的は、非効率な計算をトリガしないで、このオブジェクトから得た前回のレイアウト設定がまだ有効であるかどうかを確認するクイック ファスト チェックを行なうことです。

オーバーライド

既定のメソッド Graphic.attempt-revalidate-layout は、単に false を返します。false は常に安全な応答です。レイアウト設定が実際には変更されなかったできる限り多くの状況で true を返すメソッドで、このメソッドをオーバーライドするには、より正確な応答を提供できる Graphic のサブクラスを使用することをお勧めします。


before-reposition (メソッド)
public {BaseFrame.before-reposition layout-context:LayoutContext}:void

Graphic が移動またはサイズ変更されることを、Graphic に対して通知します。

layout-context: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。

プログラミング注意事項

このメソッドは、レイアウト ネゴシエーションまたはその他の操作で可視オブジェクトを移動またはサイズ変更するときに必ず呼び出します。このメソッドは、オブジェクトが見えない場合でも呼び出すことができます。また、このメソッドを呼び出したとしても、その後オブジェクトを移動またはサイズ変更しなくてもかまいません。

オーバーライド

既定の定義 Graphic.before-reposition は、 単にGraphic.request-draw を呼び出します。これは常に正しい処理です。ただし、高度なオブジェクトでは、このメソッドを次のいずれかのコードでオーバーライドできます。


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

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

オーバーライド

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


compute-child-bounds (メソッド)
protected {BaseFrame.compute-child-bounds
lc:LayoutContext,
before:Distance,
after:Distance,
horizontal?:bool = {value {mandatory-keyword-arg-missing} false},
set?:bool = {value {mandatory-keyword-arg-missing} false}
}:void

この BaseFrame の子の境界セットを計算し、組み込みます。

lc: 現在のレイアウト ネゴシエーションに適用する LayoutContext
before: 子オブジェクトの起点位置の前に割り当てられる空白の量。horizontal? が true の場合、これは子オブジェクトの左エクステントです。それ以外の場合は、子の上になります。
after: 子オブジェクトの起点位置の後ろに割り当てられる空白の量。horizontal? が true の場合、これは子オブジェクトの右エクステントです。それ以外の場合は、子の下になります。
horizontal?: before および after が横幅に関するものである場合は、true になります。これらが高さに関するものである場合は、false になります。
set?: これが現在のレイアウト ネゴシエーションで計算された 2 つ目の境界セットである場合 (たとえば、そのネゴシエーションは幅を先に処理するものであり、これらが高さの境界である場合)、true になります。これが組み込まれる 1 つ目の境界セットである場合 (たとえば、ネゴシエーションが幅を先に処理するもので、これらが幅の境界である場合) は false です。

説明

このメソッドは、self.halign-specself.hstretch?-spec (horizontal? が true の場合) または self.valign-specself.vstretch?-spec (horizontal? が false の場合) の指定に合わせて、与えられた before および after 境界を調整します。結果の origin、before、および after の値は、BaseFrame.install-child-bounds に渡されて組み込まれます。

オーバーライド

before および after から、install-child-bounds メソッドに引数として提供する値に送る際に異なる計算セットを有効にする必要があるサブクラス内で、このメソッドをオーバーライドできます。


compute-parent-elastic (メソッド)
protected {BaseFrame.compute-parent-elastic
source:Dimension,
horizontal?:bool = {value {mandatory-keyword-arg-missing} false}
}:Dimension

子オブジェクトに指定された整列オプションに従って、そのオブジェクトのサイズ設定を調整します。

source: この BaseFrame の子オブジェクトの幅または高さのサイズ設定を示す Dimension
horizontal?: 現在の対象が幅である場合は true、高さの場合は false です。

戻り値

指定されている整列オプションによって要求される場合は、再配列された起点を持つ source と等しい Dimension

説明

使用される整列オプションは、self.halign-spec (horizontal? が true の場合) または self.valign-spec (horizontal? が false の場合) を呼び出して決定されます。

オーバーライド

BaseFrame.install-child-bounds で説明しているように、このメソッドは、返されるサイズ設定を調整する BaseFrame のサブクラスでオーバーライドできます。このメソッドがオーバーライドされる場合、オーバーライドするメソッドは、まず super.compute-parent-elastic を呼び出し、その呼び出しによって返される Dimension に対して処理を行う必要があります。


constrain-height (メソッド)
public {BaseFrame.constrain-height
lc:LayoutContext,
ascent:Distance,
descent:Distance
}:Dimension

指定した高さの制約を受けた場合にこの Graphic の幅設定を返します。

lc: このレイアウト ネゴシエーションに対して有効な LayoutContext
ascent, descent: 高さの制約。この Graphic の起点からの相対的な上昇および下降の距離で表されます。

戻り値

オブジェクトの幅設定を表す Dimension。この Dimension は、後続のレイアウト処理中に OriginElastic に変換されます。

オーバーライド

既定のメソッド Graphic.constrain-height は、単に Graphic.get-width-preference を呼び出します。このメソッドは、オブジェクトが幅設定を計算する際に高さの制約を考慮しなくてもいい場合はオーバーライドする必要がありません。

このメソッドをオーバライドするクラスでは必ず Dimension を返すようにして、これで必要な水平軸に沿ったスペースをそのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な OriginElastic または Dimension を返すことを意味します。Dimension の場合は、「次元から OriginElastics への変換」で説明する変換規則に従って、適切な OriginElastic に変換されます。

重要:このメソッドのオーバーライド実装には、レイアウト ネゴシエーションが確実にグラフィック階層全体に適用されるように、スーパークラス実装の呼び出しを含める必要があります。


constrain-width (メソッド)
public {BaseFrame.constrain-width
lc:LayoutContext,
lextent:Distance,
rextent:Distance
}:Dimension

指定した高さの制約を受けた場合にこの Graphic の高さ設定を返します。

lc: このレイアウト ネゴシエーションに対して有効な LayoutContext
lextent, rextent: 幅の制約。起点からの左と右の相対距離で表されます。

戻り値

オブジェクトの高さ設定を表す Dimension。この Dimension は、後続のレイアウト処理中に OriginElastic に変換されます。

オーバーライド

既定のメソッド Graphic.constrain-width は、単に Graphic.get-height-preference を呼び出します。このメソッドは、オブジェクトが高さ設定を計算する際に幅制約を考慮しなくてもいい場合はオーバーライドする必要がありません。

このメソッドをオーバライドするクラスでは必ず Dimension を返すようにして、これで必要な垂直軸に沿ったスペースをそのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な OriginElastic または Dimension を返すことを意味します。Dimension の場合は、「次元から OriginElastics への変換」で説明する変換規則に従って、適切な OriginElastic に変換されます。

重要:このメソッドのオーバーライド実装には、レイアウト ネゴシエーションが確実にグラフィック階層全体に適用されるように、スーパークラス実装の呼び出しを含める必要があります。


draw (メソッド)
public {BaseFrame.draw renderer2d:Renderer2d}:void

このオブジェクトの可視表現を描画します。

renderer2d: このオブジェクトを使用してそれ自身を描画する Renderer2d

オーバーライド

既定のメソッド Graphic.draw は何もしません。Graphic のサブクラスは、必要とされる描画の操作を実行するコードでこのメソッドをオーバーライドしなければなりません。
このメソッドをオーバーライドする場合は、再描画が必要となる時はいつでも、描画する Graphic の範囲が有効でない事を確認しなければなりません。たとえば、データの値を更新するために描画をする時は、データの値が変わる時にアプレットは必ず Graphic.request-drawGraphic.request-draw-rectを呼び出さなければなりません。


end-pagination (メソッド)
public {BaseFrame.end-pagination}:void

この Graphic に対するパジネーション プロセスを終了し、PaginationState を記録するためのデータ構造を割り当て解除します。

プログラミング注意事項

Graphic.start-pagination が呼び出されたすべての Graphic のついて、このメソッドを呼び出す必要があります。

注意事項

これは、Layout.end-pagination を呼び出したときに呼び出されます。


get-height-preference (メソッド)
public {BaseFrame.get-height-preference lc:LayoutContext}:Dimension

この Graphic の高さ設定を返します。

lc: このレイアウト ネゴシエーションに対して有効な LayoutContext

戻り値

オブジェクトの高さ設定を表す Dimension。この Dimension は、後続のレイアウト処理中に OriginElastic に変換されます。

オーバーライド

このメソッドは、Graphic のサブクラス内で定義する必要があります。

このメソッドをオーバライドするクラスでは必ず Dimension を返すようにして、これで必要な垂直軸に沿ったスペースをそのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な OriginElastic または Dimension を返すことを意味します。Dimension の場合は、「次元から OriginElastics への変換」で説明する変換規則に従って、適切な OriginElastic に変換されます。


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

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

戻り値

テキスト文字列です。

オーバーライド

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

注意事項

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


get-width-preference (メソッド)
public {BaseFrame.get-width-preference lc:LayoutContext}:Dimension

この Graphic の幅設定を返します。

lc: このレイアウト ネゴシエーションに対して有効な LayoutContext

戻り値

このオブジェクトの幅設定を表す Dimension。この Dimension は、後続のレイアウト処理中に OriginElastic に変換されます。

オーバーライド

このメソッドは、Graphic のサブクラスで定義する必要があります。

このメソッドをオーバライドするクラスでは必ず Dimension を返すようにして、これで必要な水平軸に沿ったスペースをそのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な OriginElastic または Dimension を返すことを意味します。Dimension の場合は、「次元から OriginElastics への変換」で説明する変換規則に従って、適切な OriginElastic に変換されます。


install-child-bounds (メソッド)
protected {BaseFrame.install-child-bounds
lc:LayoutContext,
origin:Distance,
before:Distance,
after:Distance,
horizontal?:bool = {value {mandatory-keyword-arg-missing} false},
set?:bool = {value {mandatory-keyword-arg-missing} false}
}:void

この BaseFrame の子に、計算済みの境界セットを組み込みます。

lc: 現在のレイアウト ネゴシエーションに適用する LayoutContext
origin: BaseFrame の内部起点に対応する位置。ここに子の外側起点が配置されます。これが原点の水平位置か垂直位置かは、以下に説明する horizontal? 引数によって決まります。
before: 子オブジェクトの起点位置の前に割り当てられる空白の量。horizontal? が true の場合、これは子オブジェクトの左エクステントです。それ以外の場合は、子の上になります。
after: 子オブジェクトの起点位置の後ろに割り当てられる空白の量。horizontal? が true の場合、これは子オブジェクトの右エクステントです。それ以外の場合は、子の下になります。
horizontal?: originbefore、および after が横幅に関するものである場合は、true になります。これらが高さに関するものである場合は、false になります。
set?: これが現在のレイアウト ネゴシエーションで組み込まれた 2 つ目の境界セットである場合 (たとえば、そのネゴシエーションは幅を先に処理するものであり、これらが高さの境界である場合)、true になります。これが組み込まれる 1 つ目の境界セットである場合 (たとえば、ネゴシエーションが幅を先に処理するもので、これらが幅の境界である場合) は false です。

説明

このメソッドは、提供された境界を記録し、レイアウト ネゴシエーションの次の手順に進みます。set? が true の場合、この次の手順では、計算済みのすべての境界についての情報を持つ子オブジェクトで Graphic.set-size メソッドが呼び出されます。set? が false の場合、この次の手順では、Graphic.constrain-width (幅を先に処理するレイアウト ネゴシエーションの場合) または Graphic.constrain-height (高さを先に処理するレイアウト ネゴシエーションの場合) が呼び出されます。

オーバーライド

このメソッドを BaseFrame のサブクラスでオーバーライドして、originbeforeafter のいずれかまたはすべてを調整した後、super.install-child-bounds を呼び出してそれらを記録するようにできます。たとえば、子オブジェクトの周りに独自の装飾を表示するサブクラスは、このメソッドをオーバーライドして、装飾用に残すスペースとして必要な分だけ、before および after の値を減らすことができます。一般に、このような方法で値を調整するサブクラスは、compute-parent-elastic メソッドもオーバーライドして、compute-parent-elastic によって返されるサイズ設定に必要な量を追加することによって装飾用のスペースを要求します。


internal-remove-child (メソッド)
protected {BaseFrame.internal-remove-child}:void

BaseFrame の子を削除します。

プログラミング注意事項

通常は、BaseFrame の子 GraphicGraphic.detach を呼び出した結果として、FrameLayout.detach によって呼び出されます。

このメソッドは、BaseFrame または FrameLayout の実装に関係のないコードから直接呼び出すためのものではないことに注意してください

オーバーライド

BaseFrame サブクラスで、子が BaseFrame から切り離されたときに追加の簿記処理を行うか、またはこのメソッドを最初に呼び出す場合に、そのサブクラスでオーバーライドできます。


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

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

説明

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

オーバーライド

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


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

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

説明

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

オーバーライド

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


notify-option-children (メソッド)
public {BaseFrame.notify-option-children
item:OptionItem,
removed?:bool
}:void

このオブジェクトのオプションの子にオプションが変更されたことを通知します。

item: 追加または削除されたバインディング オプション。
removed?: item が削除された場合は true、それ以外の場合は false。

オーバーライド

既定の実装 OptionListInterface.notify-option-children では、何も行われません。サブクラスではこのメソッドをオーバーライドして、このオブジェクトの各オプションの子 c に対して {c.option-propagate-notify item removed? } を呼び出すようにする必要があります。


paginate (メソッド)
public {BaseFrame.paginate
page-height:Distance,
next-page-height:Distance,
query-only?:bool
}:(PaginationState, PaginationQuality)

グラフィックにパジネーションを適用します。

page-height: グラフィックをページにレンダリングするのに有効な高さ。これには、ボーダーとマージンが占めるスペースは含まれません。
next-page-height: このグラフィックが次のページに移動される場合に、このグラフィックをパジネートするのに有効な高さ。
query-only?: true の場合は、この Graphic に対する PaginationState の状態は変わりません。詳細については、Graphic.get-pagination-state および注を参照してください。

戻り値

返される PaginationState は、このメソッドが呼び出された後の Graphic のパジネーション状態です。
返される PaginationQuality 値は、与えられた page-height を使用して達成されるページ分割の品質を示します。

プログラミング注意事項

Graphic にパジネーションを適用する前に、true に設定された query-only? でこの関数を呼び出すことができます。このように、呼び出し元は、与えられた page-height でどんな PaginationQuality を達成できるかを決定することができます。呼び出し元は、PaginationQuality に応じて、現行ページにあるオブジェクトの一部にパジネーションを適用するか、オブジェクト全体を次のページに押し込むことができます。これを行うには、このオブジェクトの先頭を指すように、Graphic に関連付けられた PaginationStatePaginationState.end-offset を設定します。

オーバーライド

Graphic 自身が何らかの具体的な方法でページ間でパジネーションを実行するようにしたい場合は、このメソッドをオーバーライドします。
このメソッドをオーバーライドするときは、以下の規則に従う必要があります。
query-only?Graphic.get-pagination-state を呼び出して、この Graphic の現在のパジネーションの状態を取得します。query-only?true であると、メソッドはこの GraphicPaginationState のクローンに作用します。
このメソッドが前に PaginationQuality.complete を返した Graphic で呼び出される場合は、PaginationState.start-offsetPaginationState.end-offset に設定されていて、返されたパジネーションの質が PaginationQuality.complete であることを確認してください。
page-height が負または無視できるほどである場合は、返されたパジネーション状態がオブジェクトの現在のパジネーション状態であり、返されたパジネーションの質が PaginationQuality.clipped-outside でなければなりません。
そうでない場合は、page-height が使用可能であれば、新しいページの PaginationState.start-offsetPaginationState.end-offset、および PaginationState.min-end-offset を計算して設定し、このパジネーション シーケンスにふさわしい PaginationQuality を返してください。
Box などのコンテナ (パジネーションによってその子をページ間で分割しないようにする場合)。このようなコンテナは、現行ページに子を収容できない場合は、次の 2 つのステップに従う必要があります。
1. その子が改ページしないように要求しているかどうかを調べる (Graphic.avoid-page-break? を参照)。要求している場合は、現行ページでこのグラフィックに使用できる高さが next-page-height より小さければ、その子を次のページに押し込みます。子を次のページに押し込むためには、コンテナがその現在の PaginationStatePaginationState.end-offset を、-{child.get-cell-bounds}.ascent である子の先頭に設定する必要があります。
2. 子にパジネーションを依頼し、返された PaginationQualityPaginationQuality.good 以上であれば、現行ページで子のパジネーションを開始する。そうでなければ、コンテナが、true として渡される query-only? と、独自の Graphic.paginate メソッドに渡された next-page-height として渡される page-height および next-page-heightとで Graphic.paginate メソッドを呼び出して子を次のページに押し込んだ場合に子のパジネーションが少なくとも PaginationQuality.good になるかどうかを調べる必要があります。PaginationQuality.good である場合は子を次のページに押し込み、そうでない場合は子が現行ページからパジネーションするようにします。
コンテナは、子グラフィックを直接パジネーションさせるのではなく、子グラフィックの Layout にパジネーションを依頼する必要があるので、注意してください。
以下は、Graphic.paginate がどのようにして実装されるかを示すコードです。
{method public open {paginate
page-height:Distance,
next-page-height:Distance,
query-only?:bool
}:(PaginationState, PaginationQuality)
let pstate:PaginationState = 
{self.get-pagination-state query-only?}
let bounds:GRect = pstate.bounds
let constant epsilon:Distance = epsilon-float * 1m

|| All done.
{if {abs bounds.descent - pstate.end-offset} < epsilon then
set pstate.start-offset = pstate.end-offset
{return pstate, PaginationQuality.complete}
}

|| No space left for the graphic.
{if page-height < epsilon then
{return pstate, PaginationQuality.clipped-outside}
}

let new-start-offset:Distance = pstate.min-end-offset
let new-end-offset:Distance = 
{min new-start-offset + page-height, bounds.descent}

{return
{pstate.advance-pagination
new-start-offset,
new-end-offset,
quality-if-not-complete = PaginationQuality.poor
}
}
}

注意事項

これは、Layout.paginate を呼び出したときに呼び出されます。


pick-child (メソッド)
public {BaseFrame.pick-child x:Distance, y:Distance}:#EventForwarder

指定された点 (x, y) を覆う BasicBox の子をピックアップします。

x, y: ポイントの座標です。

戻り値

この点を覆う子。該当する子がない場合は NULL を返します。

プログラミング注意事項

このメソッドは、PointerEvent を転送する場合やその他の類似の状況で使用されます。

注意事項

このメソッドの実装では、xy の最新の値を、これらの値について返された答えと合わせてキャッシュすることが推奨されます。このメソッドはたいてい同じ入力で連続して複数回呼び出されるからです。

オーバーライド

このメソッドは、適切な戻り値を計算するコードを持つ、BasicBox の具象サブクラスでオーバーライドする必要があります。


propagate-request-layout (メソッド)
public {BaseFrame.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 であれば、BoxGraphic.attempt-revalidate-layout に対する答えは常に true になります。しかし、Box.request-layout が呼び出された場合は、Box は、そのすべての子のレイアウトについて有効性を再検証できたとしても、それ自体のレイアウトが有効とは認められない場合があります。これは、グラフィカルな子の追加や削除、またはそれらの子の空白や配列での変更など、Box 自体の構造で変更が加えられている可能性があるからです。

オーバーライド

このメソッドは、情報を保持してレイアウト無効化を追跡する Box サブクラスでオーバーライドできます。このようなオーバーライド メソッドにはすべて super.propagate-request-layout の呼び出しが必要です。このメソッドは、グラフィック階層のルートになるように設計されている View などのクラスでもオーバーライドされます。この場合、レイアウト要求を記録し、新しいレイアウト ネゴシエーションに合わせて整列させるコードによってメソッドがオーバーライドされます。


register-options (メソッド)
public {BaseFrame.register-options p:{proc-type {OptionKey}:void}}:void

このオブジェクトがバインドのモニタリングを必要とする非ローカル オプション キーを登録します。

p: 引数として OptionKey を使用して呼び出せるプロシージャ。

プログラミング注意事項

このメソッドは、オブジェクトがモニタしているオプション キーを確認する必要がある場合に任意のコード内で呼び出されます。このメソッドは、プロシージャ p をまったく呼び出さないかまたは何回か呼び出し、呼び出すたびに引数として OptionKey を渡す必要があります。このオブジェクトによりモニタリングされるオプション キーのセットは、p のすべての呼び出しで指定されたオプション キー セットの連結であると見なされます。p を複数回呼び出せるという能力を利用して、オプション親はモニタの対象となるオプション キーのリストを指定して p を一度呼び出し、次に、同じ引数 p を与えてオプションの子それぞれの register-options メソッドを呼び出し、このメソッドの目的を果たすことができます。この方法はシンプルですが、ほとんどの場合は、オプション親がその子における register-options 呼び出しの結果をキャッシュして、親の register-options メソッドが呼び出されたときにそのリストを提供する方がより効率的です。ローカル バインディング オプションへの変更通知は、それらのキーが登録されていない場合でも行われます。

オーバーライド

OptionListInterface.register-options の既定の実装は、このオブジェクトの変更ハンドラを持つ各非ローカル オプションで p を呼び出します。サブクラスは、{super.register-options p} を呼び出し、登録される必要がある追加のオプション キー上全てで、p を呼び出すように、このメソッドをオーバーライドする必要する必要があります。一般的に、これらの追加のオプション キーは、子供または子孫のオブジェクトが監視する必要がある非ローカル オプションに対応します。それは、このオブジェクトの子オブジェクト上で、register-options を呼び出すことによって決定されます。
注意 一般的に、このメソッドをオーバーライドする必要があるオブジェクトだけが、オプションの子を持つオブジェクトです。


set-size (メソッド)
public {BaseFrame.set-size lc:LayoutContext, bounds:GRect}:void

このオブジェクトにレイアウト幅と高さを代入します。

説明

このオブジェクトで set-size を呼び出すと、オブジェクトのレイアウト サイズを代入し、オブジェクトのレイアウト ネゴシエーションを完了します。グラフィック階層のすべてのオブジェクトにレイアウト サイズが代入された後で階層のレイアウト ネゴシエーションが完了します。
lc: このレイアウト ネゴシエーションに対して有効な LayoutContext
bounds: このオブジェクトの境界ボックスの左右および上下の範囲をオブジェクトの起点から相対的に示す GRect

プログラミング注意事項

このメソッドは、オブジェクトのグラフィカルな親によって呼び出されます。

オーバーライド

既定のメソッド Graphic.set-size は何も行ないません。Graphicのサブクラスはこのメソッドをオーバーライドして、ここで提供した情報をインターセプトできます。