BasicLayout (クラス)
public abstract BasicLayout {inherits Layout, EventForwarder}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
直接継承しているサブクラス: SequenceLayout, FrameLayout

BasicLayout は、ほとんどすべてのボックス タイプで役立つ基本機能を備えた Layout サブクラスです。

オーバーライド

invalidate および validate-layout メソッドをサブクラスで定義することが要求されます。
導入: バージョン 6.0

コンストラクタ
default:このクラスの新しいオブジェクトを作成します。
コンストラクタ public {BasicLayout.default}

プロパティ
before-reposition-called?:
フィールド protected BasicLayout.before-reposition-called?:bool =false
bounds:Graphic の境界をその座標系で示します。
フィールド public BasicLayout.bounds:GRect ={GRect 0pt, 0pt, 0pt, 0pt}
cell-bounds:この BasicLayout オブジェクトに関連付けられている Graphic のセル境界。境界およびマージンが存在する場合はそれらが占めるスペースも含まれます。BasicLayout.bounds は、子自体の境界四角形を提供します。
アクセサ public BasicLayout.cell-bounds:GRect
cell-height-preference:最後のレイアウト ネゴシエーションから得られたセルの高さ設定。
アクセサ public BasicLayout.cell-height-preference:OriginElastic
cell-width-preference:最後のレイアウト ネゴシエーションから得られたセルの幅設定。
アクセサ public BasicLayout.cell-width-preference:OriginElastic
child-height-preference:最後のレイアウト ネゴシエーションから得られた、子の高さ設定。
アクセサ public BasicLayout.child-height-preference:OriginElastic
child-width-preference:最後のレイアウト ネゴシエーションから得られた、子の幅設定。
アクセサ public BasicLayout.child-width-preference:OriginElastic
graphic:このレイアウト オブジェクトが属する Graphic オブジェクト。
フィールド public BasicLayout.graphic:#Graphic =null
h:横幅のレイアウト属性を保持します。
フィールド public BasicLayout.h:BasicLayoutDimension
invalid-epoch:このオブジェクト、またはそのいずれかの子孫の最も新しいレイアウト無効化 (つまり Graphic.request-layout の呼び出し) のエポック。これが現在のエポック (LayoutContext.epoch によって返される値) と同じかそれより大きい場合、レイアウト無効化が現在のレイアウト ネゴシエーション中に発生しているので、レイアウト ネゴシエーションを再開する必要があります。
フィールド public BasicLayout.invalid-epoch:int =-1
outside-margin-bounds:この BasicLayout オブジェクトに関連する Graphic の外側のマージンの境界です。これには、外側のマージンがあれば、そのスペースもこれに含まれます。BasicLayout.cell-bounds は、ボーダーとマージンで区切られた子の四角形を提供し、BasicLayout.bounds は子自身の区切られた四角形を提供します。
アクセサ public BasicLayout.outside-margin-bounds:GRect
pagination-state:Layout のパジネーション状態を返します。
アクセサ public BasicLayout.pagination-state:#PaginationState
pagination-state-internal:子グラフィックから pagination-state を返します。
アクセサ protected BasicLayout.pagination-state-internal:#PaginationState
shadow-bounds:この BasicLayout オブジェクトに関連する Graphic の影の境界です。
アクセサ public BasicLayout.shadow-bounds:GRect
v:高さのレイアウト属性を保持します。
フィールド public BasicLayout.v:BasicLayoutDimension
プロパティ 継承 Layout: non-null-parent, option-parent, parent

メソッド
after-reposition:Graphic の位置が変わった直後に呼び出されます。
public {BasicLayout.after-reposition lc:LayoutContext}:void
allocate-layout-dimension:BasicLayoutDimension オブジェクトを作成して、返します。
protected {BasicLayout.allocate-layout-dimension
direction:String
}:BasicLayoutDimension
attach-graphic:このオブジェクトを子と親のオブジェクトにアタッチします。
public {BasicLayout.attach-graphic g:Graphic, parent:Box}:void
attempt-revalidate-layout:オブジェクトのレイアウトが実際に変更されていないことを確認します。
public {BasicLayout.attempt-revalidate-layout lc:LayoutContext}:bool
before-reposition:Graphic の位置が変わろうとすると呼び出されます。
public {BasicLayout.before-reposition lc:LayoutContext}:void
bounds-valid?:Graphic の境界が現在有効かどうかを判定します。
public {BasicLayout.bounds-valid?}:bool
contains-point?:
public {BasicLayout.contains-point? x:Distance, y:Distance}:bool
draw:Graphic を、その親に対して適切に配置されるように描画します。
public {BasicLayout.draw renderer2d:Renderer2d}:void
end-pagination:Layout とその関連 Graphic に対するパジネーション プロセスを終了します。
public {BasicLayout.end-pagination}:void
finish-layout:レイアウト ネゴシエーションが、この BasicLayout オブジェクト上で終了したことを宣言します。
public {BasicLayout.finish-layout lc:LayoutContext}:void
fire-crossing-event:他のイベントから PointerCrossing を初期化して、子 Visual をターゲットとして、そのイベントを発生させます。
public {BasicLayout.fire-crossing-event}:void
fire-in-child:イベントの座標を修正して、子 Visual をターゲットとしてそのイベントを発生させ、その後、座標を復元します。
public {BasicLayout.fire-in-child e:PointerEnvelopeEvent}:void
get-bounds:この Layout オブジェクトに関連付けられている子 Graphic子の境界を返します。
public {BasicLayout.get-bounds}:GRect
get-cell-bounds:この Layout オブジェクトに関連付けられている子 Graphicセルの境界を返します。
public {BasicLayout.get-cell-bounds}:GRect
get-height-preference:Graphic の高さのサイズ設定を計算して返します。
public {BasicLayout.get-height-preference
lc:LayoutContext,
constrained?:bool = {value {mandatory-keyword-arg-missing} false}
}:OriginElastic
get-origin-in-parent:関連する Graphic の位置 (グラフィカルな親を基準にした位置) を取得します。
public {BasicLayout.get-origin-in-parent
}:(horigin:Distance, vorigin:Distance)
get-outside-margin-bounds:この Layout オブジェクトに関連付けられている子 Graphic外側マージンの境界を返します。
public {BasicLayout.get-outside-margin-bounds}:GRect
get-shadow-bounds:この Layout オブジェクトに関連付けられている子 Graphic影の境界を返します。
public {BasicLayout.get-shadow-bounds}:GRect
get-visible-bounds-into:この Layout オブジェクトに関連付けられた子 Graphic の実際に表示可能な領域を制限する四角形を計算します。
public {BasicLayout.get-visible-bounds-into grect:GRect}:void
get-visible-rect-in-root-into:このオブジェクトを含むグラフィック階層のルートの View で現在見ることのできる、指定された四角形領域の部分を決定します。
public {BasicLayout.get-visible-rect-in-root-into
rect:GRect
}:(x:Distance, y:Distance)
get-width-preference:Graphic の幅のサイズ設定を計算して返します。
public {BasicLayout.get-width-preference
lc:LayoutContext,
constrained?:bool = {value {mandatory-keyword-arg-missing} false}
}:OriginElastic
invalidate-cell:Graphic のセルのピクセルの再描画を要求します。
public {BasicLayout.invalidate-cell}:void
note-child-option-changed:Layout オブジェクトの子 Graphic でオプションが変更されたことを Layout に通知します。
public {BasicLayout.note-child-option-changed
key:String,
value:any
}:void
paginate:このレイアウト オブジェクトと関連した Graphic にパジネーションを適用します。
public {BasicLayout.paginate
page-height:Distance,
next-page-height:Distance,
query-only?:bool
}:(PaginationState, PaginationQuality)
paint-with-decorations:Graphic の境界、マージンなどの装飾をはじめとする、この Layout オブジェクトに関連付けられた子 Graphic を描画します。
public {BasicLayout.paint-with-decorations renderer2d:Renderer2d}:void
replace-with:この Layout オブジェクトに関連付けられた子 Graphic を置き換えます。
public {BasicLayout.replace-with g:Graphic}:Graphic
request-draw:Graphic の境界ボックス内のピクセルの再描画を要求します。
public {BasicLayout.request-draw lc:LayoutContext}:void
request-draw-child:Graphic の境界ボックス内のピクセルの再描画を要求します。
public {BasicLayout.request-draw-child lc:LayoutContext}:void
request-draw-rect:指定した四角形領域内のピクセルの再描画を要求します。
public {BasicLayout.request-draw-rect}:void
request-layout:最新のレイアウト ネゴシエーションを要求します。
public {BasicLayout.request-layout epoch:int}:void
set-graphic:Graphic が添付されていることを Layout オブジェクトに通知します。
protected {BasicLayout.set-graphic g:Graphic}:void
set-height:Graphic の高さを設定します。
public {BasicLayout.set-height
lc:LayoutContext,
origin:Distance,
ascent:Distance,
descent:Distance
}:void
set-width:Graphic の幅を設定します。
public {BasicLayout.set-width
lc:LayoutContext,
origin:Distance,
lextent:Distance,
rextent:Distance
}:void
shift-x-origin:Graphic の x 原点を調整します。
public {BasicLayout.shift-x-origin
delta-x:Distance,
layout-context:LayoutContext = {self.non-null-parent.get-layout-context}
}:void
shift-y-origin:Graphic の y 原点を調整します。
public {BasicLayout.shift-y-origin
delta-y:Distance,
layout-context:LayoutContext = {self.non-null-parent.get-layout-context}
}:void
start-pagination:このレイアウト オブジェクトと関連した Graphic のパジネーションを開始します。
public {BasicLayout.start-pagination}:PaginationState
valid?:Graphic のレイアウトが現在有効かどうかを判定します。
public {BasicLayout.valid?}:bool
validate-layout:この Layout オブジェクトの子 Graphic のレイアウトを有効にします。
public {BasicLayout.validate-layout}:void
メソッド 継承 Layout: detach, get-origin-in-root, note-graphic-to-be-removed
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {BasicLayout.default}

このクラスの新しいオブジェクトを作成します。




プロパティ詳細
before-reposition-called? (フィールド)
protected BasicLayout.before-reposition-called?:bool =false
この項目はサポートされていません。内部使用限定となっています。


bounds (フィールド)
public BasicLayout.bounds:GRect ={GRect 0pt, 0pt, 0pt, 0pt}

Graphic の境界をその座標系で示します。



cell-bounds (アクセサ)
アクセサ public BasicLayout.cell-bounds:GRect

この BasicLayout オブジェクトに関連付けられている Graphic のセル境界。境界およびマージンが存在する場合はそれらが占めるスペースも含まれます。BasicLayout.bounds は、子自体の境界四角形を提供します。



cell-height-preference (アクセサ)
アクセサ public BasicLayout.cell-height-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られたセルの高さ設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


cell-width-preference (アクセサ)
アクセサ public BasicLayout.cell-width-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られたセルの幅設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


child-height-preference (アクセサ)
アクセサ public BasicLayout.child-height-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られた、子の高さ設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


child-width-preference (アクセサ)
アクセサ public BasicLayout.child-width-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られた、子の幅設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


graphic (フィールド)
public BasicLayout.graphic:#Graphic =null

このレイアウト オブジェクトが属する Graphic オブジェクト。



h (フィールド)
public BasicLayout.h:BasicLayoutDimension

横幅のレイアウト属性を保持します。



invalid-epoch (フィールド)
public BasicLayout.invalid-epoch:int =-1

このオブジェクト、またはそのいずれかの子孫の最も新しいレイアウト無効化 (つまり Graphic.request-layout の呼び出し) のエポック。これが現在のエポック (LayoutContext.epoch によって返される値) と同じかそれより大きい場合、レイアウト無効化が現在のレイアウト ネゴシエーション中に発生しているので、レイアウト ネゴシエーションを再開する必要があります。



outside-margin-bounds (アクセサ)
アクセサ public BasicLayout.outside-margin-bounds:GRect

この BasicLayout オブジェクトに関連する Graphic の外側のマージンの境界です。これには、外側のマージンがあれば、そのスペースもこれに含まれます。BasicLayout.cell-bounds は、ボーダーとマージンで区切られた子の四角形を提供し、BasicLayout.bounds は子自身の区切られた四角形を提供します。

導入: バージョン 6.0


pagination-state (アクセサ)
アクセサ public BasicLayout.pagination-state:#PaginationState

Layout のパジネーション状態を返します。

注意事項

Layout のパジネーション状態は、関連する Graphic にボーダーもマージンもなければ、その関連する Graphic のパジネーション状態と常に同じになります。そうでない場合は、gui-toolkit システムが、Graphic のセル境界用に別の PaginationState を作成します。


pagination-state-internal (アクセサ)
アクセサ protected BasicLayout.pagination-state-internal:#PaginationState

子グラフィックから pagination-state を返します。



shadow-bounds (アクセサ)
アクセサ public BasicLayout.shadow-bounds:GRect

この BasicLayout オブジェクトに関連する Graphic の影の境界です。

説明

影の境界は、このレイアウト オブジェクトに関連する Graphic の起点に関連しています。影の境界は、セルの境界と交わりません。
このゲッターは、影が描画される境界を判定するために、Graphic.draw-shadow から呼び出されます。
導入: バージョン 6.0


v (フィールド)
public BasicLayout.v:BasicLayoutDimension

高さのレイアウト属性を保持します。






メソッド詳細
after-reposition (メソッド)
public {BasicLayout.after-reposition lc:LayoutContext}:void

Graphic の位置が変わった直後に呼び出されます。

説明

このメソッドは、Graphic.after-reposition の呼び出しを保証するものです。

オーバーライド

このメソッドをオーバーライドする場合は、super.after-reposition を呼び出す必要があります。


allocate-layout-dimension (メソッド)
protected {BasicLayout.allocate-layout-dimension
direction:String
}:BasicLayoutDimension

BasicLayoutDimension オブジェクトを作成して、返します。



attach-graphic (メソッド)
public {BasicLayout.attach-graphic g:Graphic, parent:Box}:void

このオブジェクトを子と親のオブジェクトにアタッチします。

g: このBasicLayoutオブジェクトの子として、アタッチされるGraphic
parent: このBasicLayoutオブジェクトの親として、アタッチされるBox

プログラミング注意事項

このメソッドは、graphic(子) と、このBasicLayoutparentフィールドをセットし、新しいレイアウトオブジェクトについて、gに知らせる為にGraphic.set-layoutメソッドを呼び出します。このメソッドは、parentオブジェクト内のいかなるデータ構造も設定しません。それは呼び出し元の責任になります。
通常、このメソッドを呼び出すことは、新しいレイアウトオブジェクトを配置した後の最初のステップになります。

オーバーライド

通常はオーバーライドされません。
導入: バージョン 7.0


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

オブジェクトのレイアウトが実際に変更されていないことを確認します。

lc: 現在のレイアウト ネゴシエーションを調整する LayoutContext

説明

レイアウトがすでに有効である場合は、すぐに true を返します。それ以外の場合は、最も新しい有効なレイアウト ネゴシエーションで Graphic に適用されたのと同じサイズ制約を使用して、このレイアウト オブジェクトに関連付けられている Graphic の新しいレイアウトを再計算しようとします。Graphic のサイズ設定が、最も新しい有効なレイアウト ネゴシエーションから得られたサイズ設定と同一であることがわかった場合は、true を返します。それ以外の場合は、false を返します。


before-reposition (メソッド)
public {BasicLayout.before-reposition lc:LayoutContext}:void

Graphic の位置が変わろうとすると呼び出されます。

説明

このメソッドは、Graphic.before-reposition の呼び出しを保証するものです。

オーバーライド

このメソッドをオーバーライドする場合は、super.before-reposition を呼び出す必要があります。


bounds-valid? (メソッド)
public {BasicLayout.bounds-valid?}:bool

Graphic の境界が現在有効かどうかを判定します。

戻り値

この Layout オブジェクトに関連付けられている子 Graphic の境界が現在有効な場合は true、有効でない場合は false。

説明

このメソッドが true を返す場合、Layout.get-bounds および Layout.get-cell-bounds の呼び出しは、必ず即座に復帰します。このメソッドが true を返さない場合、Layout.get-bounds および Layout.get-cell-bounds の呼び出しは、復帰する前にレイアウト ネゴシエーションをトリガします。Layout.valid? は関連するメソッドです。


contains-point? (メソッド)
public {BasicLayout.contains-point? x:Distance, y:Distance}:bool
この項目はサポートされていません。内部使用限定となっています。


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

Graphic を、その親に対して適切に配置されるように描画します。



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

Layout とその関連 Graphic に対するパジネーション プロセスを終了します。

プログラミング注意事項

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


finish-layout (メソッド)
public {BasicLayout.finish-layout lc:LayoutContext}:void

レイアウト ネゴシエーションが、この BasicLayout オブジェクト上で終了したことを宣言します。

lc: 現在のレイアウト ネゴシエーションを調整する LayoutContext

説明

このメソッドを呼び出すと、オブジェクトのレイアウト ネゴシエーションの終端をマークします。通常、メソッドは親の Box と関連付けられたコードによって呼び出されます。このコードは、メソッドを呼び出す前に、set-widthset-height メソッド (通常 get-width-preferenceget-height-preference) をこの BasicLayout オブジェクト上に呼び出します。

オーバーライド

このメソッドは、レイアウト ネゴシエーションが完了時に発生する追加プロセスを指定するためにオーバーライドされます。これが完了したら、オーバーライド メソッドでは super.finish-layout を呼び出す必要があります。現在のレイアウト ネゴシエーションの開始以降にレイアウトが無効にされているため、現在のレイアウト ネゴシエーションがすでに中止されていることをオーバーライド メソッドが検出した場合、super.finish-layout への呼び出しを省略できます。この状況をどのようにテストするかに関する詳細情報については、BasicLayout.invalid-epoch を参照してください。


fire-crossing-event (メソッド)
public {BasicLayout.fire-crossing-event}:void

他のイベントから PointerCrossing を初期化して、子 Visual をターゲットとして、そのイベントを発生させます。

ce: 初期化して発生させる PointerCrossing
e: ソース イベント。


fire-in-child (メソッド)
public {BasicLayout.fire-in-child e:PointerEnvelopeEvent}:void

イベントの座標を修正して、子 Visual をターゲットとしてそのイベントを発生させ、その後、座標を復元します。

e: 子オブジェクトをターゲットとして発生させるイベント。


get-bounds (メソッド)
public {BasicLayout.get-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphic子の境界を返します。

戻り値

Graphic内側起点を基準に Graphic子の境界を示す GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-bounds を呼び出すと境界を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。 Layout.get-cell-boundsLayout.get-shadow-boundsLayout.get-outside-margin-bounds も参照してください。


get-cell-bounds (メソッド)
public {BasicLayout.get-cell-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphicセルの境界を返します。

戻り値

Graphic内側起点を基準にして Graphic のセルの境界を説明する GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-cell-bounds を呼び出すとセルの境界を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。 Layout.get-boundsLayout.get-shadow-boundsLayout.get-outside-margin-bounds も参照してください。


get-height-preference (メソッド)
public {BasicLayout.get-height-preference
lc:LayoutContext,
constrained?:bool = {value {mandatory-keyword-arg-missing} false}
}:OriginElastic

Graphic の高さのサイズ設定を計算して返します。

lc: 現在のレイアウト ネゴシエーションを調整する LayoutContext

戻り値

適正な高さ設定を示す OriginElastic オブジェクト。
constrained?: レイアウト ネゴシエーションが高さを先に処理する場合は false 、幅を先に処理する場合 (高さ設定を計算するときに BasicLayout.set-width に引数として与えられた計算済みの幅の値を制約として使用する必要があることを意味します) は true です。


get-origin-in-parent (メソッド)
public {BasicLayout.get-origin-in-parent
}:(horigin:Distance, vorigin:Distance)

関連する Graphic の位置 (グラフィカルな親を基準にした位置) を取得します。

戻り値

Graphic内側起点の x 座標と y 座標 (そのグラフィカルな親の内側起点を基準にした座標)。


get-outside-margin-bounds (メソッド)
public {BasicLayout.get-outside-margin-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphic外側マージンの境界を返します。

戻り値

Graphic内側起点を基準にして Graphic外側マージンの境界を説明する GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-outside-margin-bounds を呼び出すと 外側マージンの境界 を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。
導入: バージョン 6.0


get-shadow-bounds (メソッド)
public {BasicLayout.get-shadow-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphic影の境界を返します。

戻り値

Graphic内側起点を基準にして Graphic影の境界を説明する GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-shadow-bounds を呼び出すと 影の境界 を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。 Layout.get-boundsLayout.get-cell-boundsLayout.get-outside-margin-boundsShadowSpec.get-shadow-growth-in-pixels も参照してください。
導入: バージョン 6.0


get-visible-bounds-into (メソッド)
public {BasicLayout.get-visible-bounds-into grect:GRect}:void

この Layout オブジェクトに関連付けられた子 Graphic の実際に表示可能な領域を制限する四角形を計算します。

grect: この四角形の記述を保存する GRect。四角形の値は、子 Graphic内側起点を基準にしています。この Graphic の祖先が View でない場合、grect には空の四角形が設定されます。

プログラミング注意事項

このメソッドは、 Graphic.get-visible-bounds-into から呼び出され、また Curl レイアウト システム内からも呼び出されます。通常ユーザー コードでは、このメソッドではなく Graphic.get-visible-bounds-into を呼び出す必要があります。

注意事項

Layout.valid? が false を返すことで示されるように、このオブジェクトのレイアウトが現在有効でない場合は、このメソッドを呼び出すとレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。


get-visible-rect-in-root-into (メソッド)
public {BasicLayout.get-visible-rect-in-root-into
rect:GRect
}:(x:Distance, y:Distance)

このオブジェクトを含むグラフィック階層のルートの View で現在見ることのできる、指定された四角形領域の部分を決定します。

grect: この Layout オブジェクトに関連付けられた子 Graphic内側起点を基準にした四角形領域の記述で初期化される GRectgrect の内容は、ルート View内側起点を基準にして元の四角形領域の実際に見える部分を記述するために、Layout.get-visible-rect-in-root-into の実行中に変更されます。この Graphic の祖先が View でない場合、grect には空の四角形が設定されます。

戻り値

ルート View内側起点を基準にした、子 Graphic内側起点の x と y の位置を指定する Distance のペア。このようなオフセットを使用すれば、必要に応じて、grectGraphic 座標フレームに変換できます。

例外:grect が空の四角形になる場合、つまり、元の四角形がまったく見えない場合は任意の値が返されます。

注意事項

このメソッドでは、四角形の一部を切り取る祖先 Box で指示されたとおりに grect の境界を変形します。ただし、子 Graphic の祖先でないオブジェクトが四角形の一部の上に重なり、これを隠してしまうというような関係は処理の対象になりません。したがって、このメソッドの呼び出しから得られた rect 値は可視領域の境界を指定しますが、この領域が実際に見えるかどうかは保証されません。

Layout.valid? が false を返すことで示されるように、このオブジェクトのレイアウトが有効でない場合でも、このメソッドは呼び出される可能性があります。ただし、このような場合は、返される x と y の値および rect に格納される値のどちらも意味がありません。

プログラミング注意事項

このメソッドは、高度な再描画処理を実装するために Graphic.before-repositionGraphic.after-reposition をオーバーライドするメソッドで使用されるようになっています。


get-width-preference (メソッド)
public {BasicLayout.get-width-preference
lc:LayoutContext,
constrained?:bool = {value {mandatory-keyword-arg-missing} false}
}:OriginElastic

Graphic の幅のサイズ設定を計算して返します。

lc: 現在のレイアウト ネゴシエーションを調整する LayoutContext

戻り値

適正な幅の設定を示す OriginElastic オブジェクト。
constrained?: レイアウト ネゴシエーションで幅が先に処理される場合は false、高さが先に処理される場合 (幅の設定を計算するときに BasicLayout.set-height に引数として与えられた計算済みの高さの値を制約として使用する必要があることを意味します) は true です。


invalidate-cell (メソッド)
public {BasicLayout.invalidate-cell}:void

Graphic のセルのピクセルの再描画を要求します。

注意事項

このメソッドを呼び出すことは、Layout.non-null-parent.get-layout-context から取得した LayoutContext を使用して BasicLayout.request-draw を呼び出すことと同じです。


note-child-option-changed (メソッド)
public {BasicLayout.note-child-option-changed
key:String,
value:any
}:void

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

key: 値が変更したオプションの名前。
value: 名前が key であるオプションの新しい値。

プログラミング注意事項

このメソッドは Graphic.option-changed から呼び出され、Graphic のオプション値が変更されるたびに Graphic のレイアウト オブジェクトに通知します。Layout のサブクラスはこのメソッドを使って、Graphic.heightGraphic.widthborder-color、および Graphic が描かれるセルの形状または外観に影響を与えるその他のオプションに起こる変化を追跡します。

オーバーライド

Layout.note-child-option-changed の既定の実装では何も行われません。サブクラスでこのメソッドをオーバーライドして、特定のオプションの変化を監視することができます。このようなメソッドのオーバーライドでは、
{super.note-child-option-changed key value}
の呼び出しを含めて、Layout クラス階層のすべてのメンバがそのオプションの変化を追跡できるようにする必要があります。


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

このレイアウト オブジェクトと関連した Graphic にパジネーションを適用します。

page-height: グラフィックのパジネーションに有効な高さ。これには、Graphic のボーダー/マージンが含まれます。
new-page-height: このグラフィックが次のページに移動される場合、そのボーダーおよびマージンとともに、このグラフィックをパジネートするのに有効な高さ。
query-only?: true の場合は、この LayoutPaginationState は変わりません。

戻り値

PaginationState は、この関数が呼び出された後における Layout のパジネーション状態です。query-only?false の場合は、グラフィックが指している PaginationState が変わります。
PaginationQuality はページ分割の品質を記述します。

プログラミング注意事項

Layout をパジネートする前に、true に設定された query-only? でこの関数を呼び出すことができます。このように、呼び出し元は、与えられた page-height でどんな PaginationQuality を達成できるかを知ることができます。


paint-with-decorations (メソッド)
public {BasicLayout.paint-with-decorations renderer2d:Renderer2d}:void

Graphic の境界、マージンなどの装飾をはじめとする、この Layout オブジェクトに関連付けられた子 Graphic を描画します。

renderer2d: 描画に使用する Renderer2d

プログラミング注意事項

このメソッドは、Graphic.paint-with-decorations によって呼び出され、通常は、他の場所からは呼び出されません。


replace-with (メソッド)
public {BasicLayout.replace-with g:Graphic}:Graphic

この Layout オブジェクトに関連付けられた子 Graphic を置き換えます。

g: この Layout オブジェクトに関連付けられている子 Graphic になる Graphic

戻り値

以前にこの Layoutオブジェクトに関連付けられた子 Graphic であった Graphic

プログラミング注意事項

このメソッドは、Graphic.replace-with から呼び出されます。ほとんどの単純な状況では、このメソッドを直接呼び出すのではなく、Graphic.replace-with を呼び出すことが望まれます。


request-draw (メソッド)
public {BasicLayout.request-draw lc:LayoutContext}:void

Graphic の境界ボックス内のピクセルの再描画を要求します。

lc: この処理の LayoutContext


request-draw-child (メソッド)
public {BasicLayout.request-draw-child lc:LayoutContext}:void

Graphic の境界ボックス内のピクセルの再描画を要求します。

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

プログラミング注意事項

このメソッドは、Graphic.request-draw の既定の定義から呼び出されるユーティリティとして存在します。ほとんどのユーザー コードでは、このメソッドではなく該当するメソッドを呼び出す必要があります。

注意事項

指定した四角形領域にわたる再描画を求める Layout.request-draw-rect も参照してください。


request-draw-rect (メソッド)
public {BasicLayout.request-draw-rect}:void

指定した四角形領域内のピクセルの再描画を要求します。

rect: 四角形領域を記述する GRect
lc: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。

プログラミング注意事項

このメソッドは、Graphic.request-draw-rect および Layout.request-draw-child から呼び出されるユーティリティとして存在します。通常ユーザー コードでは、このメソッドではなく Graphic.request-draw-rect を呼び出します。


request-layout (メソッド)
public {BasicLayout.request-layout epoch:int}:void

最新のレイアウト ネゴシエーションを要求します。

epoch: このレイアウト ネゴシエーション要求に関係する Layout Epoch 。通常、この値は、get-layout-epoch が返す現在の値になります。

プログラミング注意事項

このメソッドは、Graphic.request-layout から呼び出されます。ほとんどのユーザー コードでは、このメソッドではなく該当するメソッドを呼び出す必要があります。


set-graphic (メソッド)
protected {BasicLayout.set-graphic g:Graphic}:void

Graphic が添付されていることを Layout オブジェクトに通知します。

g: アタッチされている Graphic

プログラミング注意事項

このメソッドは、Layout オブジェクトに Graphic を添付している間に呼び出されるため、Layout オブジェクトは、Graphic に設定されるオプションの値と一致するようにそのオブジェクトのキャッシュされた状態を初期化できます。このメソッドは、Graphiclayout フィールドが Layout オブジェクトを指すように設定された後で呼び出されるので、すでに非ローカル オプションの値を Graphic に反映させる準備ができていることに注意してください。

オーバーライド

このメソッドは Layout で抽象として宣言され、実装は BasicLayout で提供されます。


set-height (メソッド)
public {BasicLayout.set-height
lc:LayoutContext,
origin:Distance,
ascent:Distance,
descent:Distance
}:void

Graphic の高さを設定します。

lc: 現在のレイアウト ネゴシエーションを調整する LayoutContext
origin: 子 Graphic の外側起点の y 座標。BasicLayout の親 Box の座標フレームを基準にしています。
ascent: 子 Graphic のセル境界で許容される origin の上の空白の量。
descent: 子 Graphic のセル境界で許容される origin の下の空白の量。


set-width (メソッド)
public {BasicLayout.set-width
lc:LayoutContext,
origin:Distance,
lextent:Distance,
rextent:Distance
}:void

Graphic の幅を設定します。

lc: 現在のレイアウト ネゴシエーションを調整する LayoutContext
origin: 子 Graphic の外側起点の x 座標。BasicLayout の親 Box の座標フレームを基準にしています。
lextent: 子 Graphic のセル境界で許容される origin の左側の空白の量。
rextent: 子 Graphic のセル境界で許容される origin の右側の空白の量。


shift-x-origin (メソッド)
public {BasicLayout.shift-x-origin
delta-x:Distance,
layout-context:LayoutContext = {self.non-null-parent.get-layout-context}
}:void

Graphic の x 原点を調整します。

delta-x: 原点の移動量。
layout-context: この処理の LayoutContext


shift-y-origin (メソッド)
public {BasicLayout.shift-y-origin
delta-y:Distance,
layout-context:LayoutContext = {self.non-null-parent.get-layout-context}
}:void

Graphic の y 原点を調整します。

delta-y: 原点の移動量。
layout-context: この処理の LayoutContext


start-pagination (メソッド)
public {BasicLayout.start-pagination}:PaginationState

このレイアウト オブジェクトと関連した Graphic のパジネーションを開始します。



valid? (メソッド)
public {BasicLayout.valid?}:bool

Graphic のレイアウトが現在有効かどうかを判定します。

戻り値

この Layout オブジェクトに関連付けられている子 Graphic のレイアウトが現在有効な場合は true、有効でない場合は false。

説明

Graphic のレイアウトは、Graphic.request-layout が呼び出された時点で無効になるように考慮されています。Graphic のレイアウトは、そのオブジェクトの Graphic.set-size メソッドが呼び出されると、再び有効になります。これらのメソッドの呼び出しは、Layout オブジェクトを介して行われます。Graphic.request-layoutLayout.request-layout を呼び出し、Graphic.set-size は、Layout のサブクラスで定義されているメソッドから呼び出されます。したがって、Layout オブジェクトは、Graphic のレイアウトが現在有効かどうかを追跡できます。また、実際に追跡する必要があります。このメソッドは、Graphic のレイアウトが有効かどうかに関する Layout オブジェクトの現在の情報を返すだけです。

特定の状況では、Layout.get-bounds または Layout.get-cell-bounds によって返されるオブジェクトの境界は、そのグラフィカルな親の起点を基準にしたオブジェクトの位置が不明な場合でも、有効であることがわかります。このような場合は、Layout.valid? が false を返しても、Layout.bounds-valid? は true を返します。ただし、Layout.valid? が true を返す場合は、Layout.bounds-valid? も必ず true を返します。

特定のメソッド (Layout.get-visible-bounds-into など) には、意味のある値を返すために有効なレイアウト情報が必要です。子 Graphic のレイアウトが有効でない場合にそのようなメソッドを呼び出すと、それぞれのメソッドは復帰する前に有効なレイアウトを作成します。この計算は時間がかかり、しかもまだ提供されていない情報に依存するという 2 つの可能性から、Layout.valid? では、このようなメソッドの 1 つを呼び出すことによりレイアウト ネゴシエーションの開始が危険を伴うかどうかを判断できます。Layout.valid? が true を返す場合は、こうしたメソッドを呼び出してもレイアウト ネゴシエーションは起こりません。


validate-layout (メソッド)
public {BasicLayout.validate-layout}:void

この Layout オブジェクトの子 Graphic のレイアウトを有効にします。

プログラミング注意事項

このメソッドは、境界および原点の位置に関する情報のクエリができるように Graphic のレイアウトを有効にする必要があるときに呼び出されます。

オーバーライド

この抽象メソッドは、Layout の 具象サブクラスによって、必要なアクションを実際に実行するコードでオーバーライドする必要があります。