ScrollBox (クラス)
public ScrollBox {inherits ViewportBox}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.CONTROL-LOGICAL.
直接継承しているサブクラス: BaseTextAreaScrollBox, TextEditScrollBox

Graphic をスクロールバーを持つボックスで囲みます。

ScrollBox の簡単な使用方法は、子 GraphicScrollBox 作成時に引数として渡すことです。:
{ScrollBox
    width = 2.5in, height = 1in,
    {Frame
        width = 4in,
        {paragraph
            ScrollBoxes are pretty easy to use.  The text
            in this ScrollBox is put into a Frame with a
            specified width of 4 inches because otherwise
            all the text would spread out on a single
            line.  You can experiment with changing this
            width constraint. The ScrollBox itself has a
            specified width and height because otherwise
            it would size itself at its preferred size,
            which is the preferred size of its contents.
            The way this example is set up, you will be
            able to see scrolling actually happening, but
            if you want to see the effect of changing or
            removing the specified height and width
            constraints, you can do that too.
        }
    }
}

注意事項

このオブジェクトは、"ScrollBox"のスタイル ルールを記述することによってスタイル化することが出来ます。

コンストラクタ
default:新しい ScrollBox を初期化します。
コンストラクタ public {ScrollBox.default viewport-class:Type = Viewport, ...}

プロパティ
accept-focus?:ScrollBox がキーボード フォーカスを受け取るかどうかを制御します。
ローカル オプション public ScrollBox.accept-focus?:bool =true
always-disable-hscroll?:水平方向の Scrollbar を強制的に無効にします。
ローカル オプション public ScrollBox.always-disable-hscroll?:bool =false
always-disable-vscroll?:垂直方向の Scrollbar を強制的に無効にします。
ローカル オプション public ScrollBox.always-disable-vscroll?:bool =false
display-context:このオブジェクトに関連付けられている DisplayContext
非ローカル オプション public ScrollBox.display-context:#DisplayContext
expanded-hscroll-bounds?:スクロール可能な領域を水平に拡張し、内容がちょうど見えなくなる位置までスクロールできるようにします。
ローカル オプション public ScrollBox.expanded-hscroll-bounds?:bool =false
expanded-vscroll-bounds?:スクロール可能な領域を垂直に拡張し、内容がちょうど見えなくなる位置までスクロールできるようにします。
ローカル オプション public ScrollBox.expanded-vscroll-bounds?:bool =false
focus-manager:このオブジェクトに関連付けられた FocusManager です。
非ローカル オプション public ScrollBox.focus-manager:#FocusManager
have-hscroll?:この ViewportBox の水平スクロール位置を修正できるかどうかを指定します。
アクセサ public ScrollBox.have-hscroll?:bool
have-vscroll?:この ViewportBox の垂直スクロール位置を変更可能にするかどうかを指定します。
アクセサ public ScrollBox.have-vscroll?:bool
hblocksize:ブロック スクロールによりカバーされる水平距離を指定します。
ローカル オプション public ScrollBox.hblocksize:Distance =0m
horizontal-position:現在の水平位置。
アクセサ public ScrollBox.horizontal-position:Distance
セッター public ScrollBox.horizontal-position:Distance
hscroll-quantized?:ScrollBox の水平 ScrollbarScrollbar.quantized? オプションを制御します。
ローカル オプション public ScrollBox.hscroll-quantized?:bool =false
hscroll?:水平方向のスクロールを有効または無効にします。既定は true です。
ローカル オプション public ScrollBox.hscroll?:bool =true
hunitsize:ユニット スクロール操作によりカバーされる水平距離を指定します。
ローカル オプション public ScrollBox.hunitsize:Distance =0m
max-horizontal-position:最大の水平位置。
アクセサ public ScrollBox.max-horizontal-position:Distance
max-vertical-position:最大の垂直位置。
アクセサ public ScrollBox.max-vertical-position:Distance
min-horizontal-position:最小の水平位置。
アクセサ public ScrollBox.min-horizontal-position:Distance
min-vertical-position:最小の垂直位置。
アクセサ public ScrollBox.min-vertical-position:Distance
reserve-corner?:ScrollBox の右下の角を予約します。
ローカル オプション public ScrollBox.reserve-corner?:bool =false
shrink-hscroll?:ScrollBox の水平 Scrollbar が、必要ない場合に非表示になるかどうかを制御します。
ローカル オプション public ScrollBox.shrink-hscroll?:bool =true
shrink-vscroll?:ScrollBox の垂直 Scrollbar が、必要のない場合に非表示になるかどうかを制御します。
ローカル オプション public ScrollBox.shrink-vscroll?:bool =true
style-element:スタイリングの目的のための、この Visual の "要素" や "型" です。
アクセサ public ScrollBox.style-element:String
take-focus?:ScrollBox が初めにキーボード フォーカスを要求するかどうかを制御します。
ローカル オプション public ScrollBox.take-focus?:bool =false
vblocksize:ブロック スクロール操作によりカバーされる垂直距離を指定します。
ローカル オプション public ScrollBox.vblocksize:Distance =0m
vertical-position:現在の垂直位置。
アクセサ public ScrollBox.vertical-position:Distance
セッター public ScrollBox.vertical-position:Distance
vscroll-quantized?:ScrollBox の垂直 ScrollbarScrollbar.quantized? オプションを制御します。
ローカル オプション public ScrollBox.vscroll-quantized?:bool =false
vscroll?:垂直方向のスクロールを有効または無効にします。既定は true です。
ローカル オプション public ScrollBox.vscroll?:bool =true
vunitsize:ユニット スクロール操作によりカバーされる垂直距離を指定します。
ローカル オプション public ScrollBox.vunitsize:Distance =0m
プロパティ 継承 ViewportBox: child-height, child-width, device-pixel-size, hstretch?, viewport, vstretch?
プロパティ 継承 Frame: clonable-class?, halign, halign-spec, hstretch?-spec, valign, valign-spec, vstretch?-spec
プロパティ 継承 BaseFrame: child, completely-clonable-children?, graphical-children, ordered-children, reverse-ordered-children, width-first?
プロパティ 継承 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?, 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-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

メソッド
constrain-height:指定した高さの制約を受けた場合にこの Graphic の幅設定を返します。
public {ScrollBox.constrain-height
lc:LayoutContext,
ascent:Distance,
descent:Distance
}:Dimension
constrain-width:指定した高さの制約を受けた場合にこの Graphic の高さ設定を返します。
public {ScrollBox.constrain-width
lc:LayoutContext,
lextent:Distance,
rextent:Distance
}:Dimension
create-hscroll:ScrollBox で水平方向にスクロールするのに使用される Scrollbar を作成します。
protected {ScrollBox.create-hscroll}:Scrollbar
create-main-panel:ScrollBox のユーザー インターフェイスを作成します。
protected {ScrollBox.create-main-panel}:Graphic
create-vscroll:ScrollBox で垂直方向にスクロールするのに使用される Scrollbar を作成します。
protected {ScrollBox.create-vscroll}:Scrollbar
descendant-suggests-key-focus-request:ScrollBox の内容がキーボード フォーカスを要求する必要があることを示す方法です。
public {ScrollBox.descendant-suggests-key-focus-request}:void
end-pagination:この Graphic に対するパジネーション プロセスを終了し、PaginationState を記録するためのデータ構造を割り当て解除します。
public {ScrollBox.end-pagination}:void
get-height-preference:この Graphic の高さ設定を返します。
public {ScrollBox.get-height-preference lc:LayoutContext}:Dimension
get-hscroll:このScrollBox に関連付けられている水平 Scrollbar を取得します。
public {ScrollBox.get-hscroll}:Scrollbar
get-vscroll:このScrollBox に関連付けられている水平 Scrollbar を取得します。
public {ScrollBox.get-vscroll}:Scrollbar
get-width-preference:この Graphic の幅設定を返します。
public {ScrollBox.get-width-preference lc:LayoutContext}:Dimension
make-gui-mark:この Graphic を参照する GuiMark を作成する標準的な方法。
public {ScrollBox.make-gui-mark}:GuiMark
on-drag-over:DragOver イベントのスタティック イベント ハンドラ
public {ScrollBox.on-drag-over e:DragOver}:void
on-gesture-begin:GestureBegin イベントの スタティック イベント ハンドラ
public {ScrollBox.on-gesture-begin e:GestureBegin}:void
on-gesture-end:GestureEnd イベントの スタティック イベント ハンドラ
public {ScrollBox.on-gesture-end e:GestureEnd}:void
on-gesture-pan:GesturePan イベントの スタティック イベント ハンドラ
public {ScrollBox.on-gesture-pan e:GesturePan}:void
on-key-press:KeyPress イベントのスタティック イベント ハンドラ
public {ScrollBox.on-key-press e:KeyPress}:void
on-pointer-press:PointerPress イベントのスタティック イベント ハンドラ
public {ScrollBox.on-pointer-press e:PointerPress}:void
on-pointer-scroll:PointerScroll イベントのスタティック イベント ハンドラ
public {ScrollBox.on-pointer-scroll e:PointerScroll}:void
paginate:グラフィックにパジネーションを適用します。
public {ScrollBox.paginate
page-height:Distance,
next-page-height:Distance,
query-only?:bool
}:(PaginationState, PaginationQuality)
scroll-to:ViewportBox のビューポートを指定されたどおりに配置します。
public {ScrollBox.scroll-to x:Distance = -1pt, y:Distance = -1pt}:void
scroll-to-include-relative-point:この ScrollerInterface のスクロール位置を設定し、指定されたポイントが表示されるようにします。
public {ScrollBox.scroll-to-include-relative-point
relative-to:Visual,
x:Distance = 0pt,
y:Distance = 0pt,
min-window:double = 0.0,
max-window:double = 1.0
}:void
scroll-to-object:指定オブジェクトの左上隅が、ビューポートの左上隅と一致するように ScrollBox のビューポートを配置します。
public {ScrollBox.scroll-to-object
g:Visual,
vertical-only?:bool = false,
horizontal-only?:bool = false
}:void
set-scroll-sizes:Viewport または Viewport 内のオブジェクトのサイズ変更の後、ScrollBox のパラメータを設定します。
public {ScrollBox.set-scroll-sizes view-bounds:GRect}:void
set-size:このオブジェクトにレイアウト幅と高さを代入します。
public {ScrollBox.set-size lc:LayoutContext, bounds:GRect}:void
メソッド 継承 ViewportBox: add, add-adornment, clear, get-viewport-bounds, remove-child, set-viewport-x, set-viewport-y
メソッド 継承 Frame: clone-appearance-helper
メソッド 継承 BaseFrame: add-internal, after-reposition, allocate-layout-object, attempt-revalidate-layout, before-reposition, compute-child-bounds, compute-parent-elastic, draw, get-text, install-child-bounds, internal-remove-child, note-attached, note-detaching, notify-option-children, pick-child, propagate-request-layout, register-options
メソッド 継承 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: 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, 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-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-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-gesture, on-gesture-magnify, 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-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-release, 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



コンストラクタ詳細
default (コンストラクタ)
public {ScrollBox.default viewport-class:Type = Viewport, ...}

新しい ScrollBox を初期化します。

viewport-class: ScrollBox のビューポートとして作成されるオブジェクトの型を示します。この引数が指定されると、その値は Viewport または Viewport のサブクラスであるクラス型でなければなりません。
...: このコンストラクタの追加引数は、既定の Frame コンストラクタに提供できる引数と同じです。

注意事項

ScrollBox.create-hscrollScrollBox.create-vscroll は、水平および垂直にスクロールするのに使用されるScrollbar を取得するために呼び出されます。又、ScrollBox.create-main-panel は、ScrollBox のユーザー インターフェイスを取得するために呼び出されます。



プロパティ詳細
accept-focus? (ローカル オプション)
public ScrollBox.accept-focus?:bool =true

ScrollBox がキーボード フォーカスを受け取るかどうかを制御します。

説明

既定では、ユーザーが ScrollBox 内をクリックして ScrollBox 内のオブジェクトが PointerPress イベントを消費しない場合、ScrollBox はキーボード フォーカスを要求し、Page Up、Page Down、キーボードの矢印キーへの応答を開始し、ScrollBoxScrollbar を適切に移動します。

この動作は、ScrollBox.accept-focus? オプションを false に設定して無効にすることができます。


always-disable-hscroll? (ローカル オプション)
public ScrollBox.always-disable-hscroll?:bool =false

水平方向の Scrollbar を強制的に無効にします。

説明

true の場合、水平の Scrollbar は実際は存在しても必要とされていないかのように振舞います。このオプションは、ScrollBox のレイアウトに関する決定が ScrollBox.hscroll? オプションの影響を受けるために存在します。一般的には、これは必要な効果ですが、 Scrollbar なしに hscroll?=true レイアウトルールを必要とする時があります。; これは、always-disable-hscroll? = true, shrink-hscroll? = true にすることで実現できます。
shrink-hscroll? always-disable-hscroll?
false false 水平スクロールバーを常に表示します。
true false 必要なときだけ水平スクロールバーを表示します。
true true 水平スクロールバーを表示しません。
false true 無効な水平スクロールバーを表示します。
ScrollBox.shrink-hscroll?もご覧ください。

always-disable-hscroll? や shrink-hscroll? のさまざまな組み合わせを試してみてください。
{ScrollBox
    width = 2in, height = 1in, background = "lime",
    shrink-hscroll? = true, always-disable-hscroll? = true, 
    {RectangleGraphic 
        width = 5in, height = 5in, background = "yellow"
    }
}


always-disable-vscroll? (ローカル オプション)
public ScrollBox.always-disable-vscroll?:bool =false

垂直方向の Scrollbar を強制的に無効にします。

説明

true の場合、垂直の Scrollbar は実際は存在しても必要とされていないかのように振舞います。このオプションは、ScrollBox のレイアウトに関する決定が ScrollBox.vscroll? オプションの影響を受けるために存在します。一般的には、これは必要な効果ですが、 Scrollbar なしに vscroll?=true レイアウトルールを必要とする時があります。; これは、always-disable-vscroll? = true, shrink-vscroll? = true にすることで実現できます。
shrink-vscroll?always-disable-vscroll?
false false垂直スクロールバーを常に表示します。
true false 必要なときだけ垂直スクロールバーを表示します。
true true 垂直スクロールバーを表示しません。
false true 無効な垂直スクロールバーを表示します。
ScrollBox.shrink-vscroll?もご覧ください。

always-disable-vscroll? や shrink-vscroll? のさまざまな組み合わせを試してみてください。
{ScrollBox
    width = 2in, height = 1in, background = "lime",
    shrink-vscroll? = true, always-disable-vscroll? = true, 
    {RectangleGraphic 
        width = 5in, height = 5in, background = "yellow"
    }
}


display-context (非ローカル オプション)
public ScrollBox.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 オプションでの変更をモニタリングするコードは、この可能性を考慮に入れ、この状況における望ましくない動作の実行を回避しなくてはなりません。


expanded-hscroll-bounds? (ローカル オプション)
public ScrollBox.expanded-hscroll-bounds?:bool =false

スクロール可能な領域を水平に拡張し、内容がちょうど見えなくなる位置までスクロールできるようにします。

説明

false の場合、内容の境界がスクロール領域を定義することになり、スクロールの境界になります。true の場合、スクロールの境界にはこれらの境界のすぐ外側の領域も含まれ、内容をスクロールしてちょうど見えなくなるポイントまで含まれることになります。


{ScrollBox 
    height = 3in, width = 3in, expanded-hscroll-bounds? = true,
    {RectangleGraphic width = 1in, height = 1in}
}

注意事項

既定値は false です。


expanded-vscroll-bounds? (ローカル オプション)
public ScrollBox.expanded-vscroll-bounds?:bool =false

スクロール可能な領域を垂直に拡張し、内容がちょうど見えなくなる位置までスクロールできるようにします。

説明

false の場合、内容の境界がスクロール領域を定義することになり、スクロールの境界になります。true の場合、スクロールの境界にはこれらの境界のすぐ外側の領域も含まれ、内容をスクロールしてちょうど見えなくなるポイントまで含まれることになります。


{ScrollBox
    height = 3in, width = 3in, expanded-vscroll-bounds? = true,
    {RectangleGraphic width = 1in, height = 1in}
}

注意事項

既定値は false です。


focus-manager (非ローカル オプション)
public ScrollBox.focus-manager:#FocusManager

このオブジェクトに関連付けられた FocusManager です。

注意事項

このオプションは、Curl グラフィック システム内での通信のために使用されます。これは、ユーザー コードで不用意に設定や設定解除を行わないでください。また、ユーザー コードで直接読み取るべきではありません。現在の FocusManager が必要な場合は、Visual.get-focus-manager を呼び出してフェッチしてください。


have-hscroll? (アクセサ)
アクセサ public ScrollBox.have-hscroll?:bool

この ViewportBox の水平スクロール位置を修正できるかどうかを指定します。

説明

have-hscroll? 水平スクロールが必要とされる可能性があることを示します。たとえば、Viewport の内容が Viewport よりも大きい場合などです。

通常、hscroll? が false の場合は have-hscroll? も常に false であることが予測されますが、これは必要条件ではありません。

注意事項

この値は、ScrollBox.hscroll? とは異なります。これは、ScrollBox が、その内容を水平スクロールが必要とされるように配置するかどうかを指定します。

オーバーライド

既定の実装 ViewportBox.have-hscroll? は、常に true を返します。サブクラスは、必要に応じて false を返すように、このメソッドをオーバーライドすることができます。


have-vscroll? (アクセサ)
アクセサ public ScrollBox.have-vscroll?:bool

この ViewportBox の垂直スクロール位置を変更可能にするかどうかを指定します。

説明

have-vscroll? 垂直スクロールが必要とされる可能性があることを示します。たとえば、Viewport の内容が Viewport よりも大きい場合などです。

通常、vscroll? が false の場合は have-vscroll? も常に false であることが予測されますが、これは必ずしもそうでなくてはならないわけではありません。

注意事項

この値は、ScrollBox.vscroll? とは異なります。これは、ScrollBox が、その内容を垂直スクロールが必要とされるように配置するかどうかを指定します。

オーバーライド

既定の実装 ViewportBox.have-vscroll? は、常に true を返します。サブクラスは、必要に応じて false を返すように、このメソッドをオーバーライドすることができます。


hblocksize (ローカル オプション)
public ScrollBox.hblocksize:Distance =0m

ブロック スクロールによりカバーされる水平距離を指定します。

説明

このオプションの値は、ユーザーがブロック スクロールを実行する際に ScrollBox の内容が水平に移動する量を指定します。
このオプションの値が 0m の場合、ブロック スクロールの距離は ScrollBox 内のビューポートの幅の 90% になります。(つまり既定では、ブロック スクロール動作の前後でビューポートの内容に 10% のオーバーラップがあります。)
この既定距離は、水平ユニット スクロール距離の倍数になるようにさらに調整されます。(ブロック スクロール距離より残りのスクロール可能距離が少ない場合にブロック スクロール動作が行われると、スクロールバーは合計ブロック スクロール距離の量だけ移動します。)
このオプションを 0m より小さい Distance に設定するとエラーになります。


horizontal-position (アクセサ)
アクセサ public ScrollBox.horizontal-position:Distance
セッター public ScrollBox.horizontal-position:Distance

現在の水平位置。

オーバーライド

horizontal-position セッターをオーバーライドするサブクラスでは、位置が [ ScrollerInterface.min-horizontal-position ScrollerInterface.max-horizontal-position] の範囲内に収まるように値をクリッピングします。


hscroll-quantized? (ローカル オプション)
public ScrollBox.hscroll-quantized?:bool =false

ScrollBox の水平 ScrollbarScrollbar.quantized? オプションを制御します。

説明

このオプションを設定すると、水平 Scrollbar の値は、常にユニット スクロール距離の整数倍になるように強制的に制約されます。


hscroll? (ローカル オプション)
public ScrollBox.hscroll?:bool =true

水平方向のスクロールを有効または無効にします。既定は true です。

説明

hscroll? オプションを false に設定しても単に水平の Scrollbar を隠すわけではありません。Scrollbar は実際に取り除かれ、水平方向には全くスクロールしません。これにより、この方向に十分なスペースがない場合、ScrollBox のコンテンツは水平方向につぶれます。


hunitsize (ローカル オプション)
public ScrollBox.hunitsize:Distance =0m

ユニット スクロール操作によりカバーされる水平距離を指定します。

説明

このオプションの値は、ユーザーがユニット スクロールを実行する際に ScrollBox の内容が水平に移動する量を指定します。
このオプションの値が 0m の場合、ユニット スクロール距離は動的に算出されます。具体的には、ブロック スクロール距離の 10 分の 1 になります。(ブロック スクロール距離が動的に算出される点に注意してください。)
このオプションを 0m より小さい Distance に設定するとエラーになります。


max-horizontal-position (アクセサ)
アクセサ public ScrollBox.max-horizontal-position:Distance

最大の水平位置。

説明

ScrollerInterface.horizontal-position は、この値以下でなければなりません。


max-vertical-position (アクセサ)
アクセサ public ScrollBox.max-vertical-position:Distance

最大の垂直位置。

説明

ScrollerInterface.vertical-position は、この値以下でなければなりません。


min-horizontal-position (アクセサ)
アクセサ public ScrollBox.min-horizontal-position:Distance

最小の水平位置。

説明

ScrollerInterface.horizontal-position は、この値以上でなければなりません。


min-vertical-position (アクセサ)
アクセサ public ScrollBox.min-vertical-position:Distance

最小の垂直位置。

説明

ScrollerInterface.vertical-position は、この値以上でなければなりません。


reserve-corner? (ローカル オプション)
public ScrollBox.reserve-corner?:bool =false

ScrollBox の右下の角を予約します。

注意事項

true の場合、このオブジェクトの一つ以上の Scrollbar が表示されていると ScrollBox の右下の角に Graphic が存在します。

注意事項

これは、通常 View によってコンテナとして使用される ScrollBox によって Mac OS X™ プラットフォームで使用されます。ScrollBox で角のスペースを予約できないと、OS がView のウィンドウのリサイズの為に使うスペースの為、 Scrollbox のボタンを使用できないというわずらわしい問題が発生します。
導入: バージョン 6.0


shrink-hscroll? (ローカル オプション)
public ScrollBox.shrink-hscroll?:bool =true

ScrollBox の水平 Scrollbar が、必要ない場合に非表示になるかどうかを制御します。

説明

このオプションが true (既定) に設定されている場合、水平 Scrollbar は、必要のない場合に表示されません。オプションが false に設定されている場合、Scrollbar は引き続き同じ量のスペースを占めますが、必要のない場合は無効として描画されます。
ScrollBox.always-disable-hscroll? も参照してください。


shrink-vscroll? (ローカル オプション)
public ScrollBox.shrink-vscroll?:bool =true

ScrollBox の垂直 Scrollbar が、必要のない場合に非表示になるかどうかを制御します。

説明

このオプションが true (既定)に設定されている場合、垂直 Scrollbar は、必要のない場合に表示されません。オプションが false に設定されている場合、Scrollbar は引き続き同じ量のスペースを占めますが、必要のない場合は無効として描画されます。
ScrollBox.always-disable-vscroll? も参照してください。


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

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

説明

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

オーバーライド

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


take-focus? (ローカル オプション)
public ScrollBox.take-focus?:bool =false

ScrollBox が初めにキーボード フォーカスを要求するかどうかを制御します。

説明

このオプションの値が true の場合、この ScrollBox は最初に FocusManager にアタッチされたときに、キーボード フォーカスを要求します。それ以外の場合、ScrollBox は、ユーザーがいずれかのスクロールバーをクリックした場合、あるいはポインタ クリック イベントを消費しない ScrollBox 内のオブジェクトをクリックした場合にのみ、キーボード フォーカスを要求します。ScrollBox.accept-focus? も参照してください。


vblocksize (ローカル オプション)
public ScrollBox.vblocksize:Distance =0m

ブロック スクロール操作によりカバーされる垂直距離を指定します。

説明

このオプションの値は、ユーザーがブロック スクロールを実行する際に ScrollBox の内容が垂直に移動する量を指定します。
このオプションの値が 0m の場合、ブロック スクロールの距離は ScrollBox 内のビューポートの高さの 90% になります。(つまり既定では、ブロック スクロール動作の前後でビューポートの内容に 10% のオーバーラップがあります。)
この既定距離は、垂直ユニット スクロール距離の倍数になるようにさらに調整されます。(ブロック スクロール距離より残りのスクロール可能距離が少ない場合にブロック スクロール動作が行われると、スクロールバーは残りの有効な スクロール距離の合計量だけ移動します。)
このオプションを 0m より小さい Distance に設定するとエラーになります。


vertical-position (アクセサ)
アクセサ public ScrollBox.vertical-position:Distance
セッター public ScrollBox.vertical-position:Distance

現在の垂直位置。

オーバーライド

vertical-position セッターをオーバーライドするサブクラスでは、位置が [ ScrollerInterface.min-vertical-position ScrollerInterface.max-vertical-position] の範囲内に収まるように値をクリッピングします。


vscroll-quantized? (ローカル オプション)
public ScrollBox.vscroll-quantized?:bool =false

ScrollBox の垂直 ScrollbarScrollbar.quantized? オプションを制御します。

説明

このオプションを設定すると、垂直 Scrollbar の値は、常にユニット スクロール距離の整数倍になるように強制的に制約されます。


vscroll? (ローカル オプション)
public ScrollBox.vscroll?:bool =true

垂直方向のスクロールを有効または無効にします。既定は true です。

説明

vscroll? オプションを false に設定しても単に垂直の Scrollbar を隠すわけではありません。Scrollbar は実際に取り除かれ、垂直方向には全くスクロールしません。これにより、この方向に十分なスペースがない場合、ScrollBox のコンテンツは垂直方向につぶれます。


vunitsize (ローカル オプション)
public ScrollBox.vunitsize:Distance =0m

ユニット スクロール操作によりカバーされる垂直距離を指定します。

説明

このオプションの値は、ユーザーがユニット スクロールを実行する際に ScrollBox の内容が垂直に移動する量を指定します。
このオプションの値が 0m の場合、ユニット スクロール距離は動的に算出されます。具体的には、ブロック スクロール距離の 10 分の 1 になります。(ブロック スクロール距離が動的に算出される点にも注意してください。)
このオプションを 0m より小さい Distance に設定するとエラーになります。





メソッド詳細
constrain-height (メソッド)
public {ScrollBox.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 {ScrollBox.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 に変換されます。

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


create-hscroll (メソッド)
protected {ScrollBox.create-hscroll}:Scrollbar

ScrollBox で水平方向にスクロールするのに使用される Scrollbar を作成します。

注意事項

これは、ScrollBox のコンストラクタによって呼び出されます。
水平にスクロールできるように、この Scrollbar にさまざまなプロパティやイベントが設定されます。
導入: バージョン 6.0


create-main-panel (メソッド)
protected {ScrollBox.create-main-panel}:Graphic

ScrollBox のユーザー インターフェイスを作成します。

戻り値

ScrollBox のユーザー インターフェイスに使用される Graphic です。

説明

水平と垂直の Scrollbar が設定され初期化された後、これは ScrollBox のコンストラクタによって呼び出されます。
既定では、このメソッドは ScrollBox のユーザー インターフェイスを提供するために垂直と水平の ScrollbarViewport を配置します。
導入: バージョン 6.0


create-vscroll (メソッド)
protected {ScrollBox.create-vscroll}:Scrollbar

ScrollBox で垂直方向にスクロールするのに使用される Scrollbar を作成します。

注意事項

これは、Scrollbox のコンストラクタによって呼び出されます。
垂直にスクロールできるように、この Scrollbar にさまざまなプロパティやイベントが設定されます。
導入: バージョン 6.0


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

ScrollBox の内容がキーボード フォーカスを要求する必要があることを示す方法です。

注意事項

これは、ScrollBox がこの種類の要求と別のキー フォーカスの要求を区別できるように提供されています。ScrollBox.accept-focus? が true の場合、既定の実装では ScrollBox.request-key-focus が呼び出されます。


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

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

プログラミング注意事項

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

注意事項

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


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

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

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

戻り値

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

オーバーライド

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

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


get-hscroll (メソッド)
public {ScrollBox.get-hscroll}:Scrollbar

このScrollBox に関連付けられている水平 Scrollbar を取得します。

戻り値

水平の Scrollbar

注意事項

ScrollBox の一部として使われる場合、Scrollbar の設定の一部は ScrollBox で制御されます。たとえば、次のオプションは ScrollBox が任意に設定できます。 さらに ScrollBox は、上記および他のオプション (特に direction) が Scrollbar で直接変更されないことを前提条件にしています。
制御されるオプションのリストは将来変更される可能性があります。一般に、ScrollBox の一部として Scrollbar が配置された場合は、Scrollbar を直接操作しないようにしてください。


get-vscroll (メソッド)
public {ScrollBox.get-vscroll}:Scrollbar

このScrollBox に関連付けられている水平 Scrollbar を取得します。

戻り値

垂直の Scrollbar

注意事項

ScrollBox の一部として使われる場合、Scrollbar の設定の一部は ScrollBox で制御されます。たとえば、次のオプションは ScrollBox が任意に設定できます。 さらに ScrollBox は、上記および他のオプション (特に direction) が Scrollbar で直接変更されないことを前提条件にしています。
制御されるオプションのリストは将来変更される可能性があります。一般に、ScrollBox の一部として Scrollbar が配置された場合は、Scrollbar を直接操作しないようにしてください。


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

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

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

戻り値

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

オーバーライド

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

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


make-gui-mark (メソッド)
public {ScrollBox.make-gui-mark}:GuiMark

この Graphic を参照する GuiMark を作成する標準的な方法。

戻り値

初期化されてグラフィックの先頭の端に新しく割り当てられた GuiMark

オーバーライド

GuiMark のカスタム サブクラスが Graphic のコンテンツを参照する必要がある場合、Graphic のサブクラスでこのメソッドをオーバーライドします。


on-drag-over (メソッド)
public {ScrollBox.on-drag-over e:DragOver}:void

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

説明

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


on-gesture-begin (メソッド)
public {ScrollBox.on-gesture-begin e:GestureBegin}:void

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

説明

A ScrollBox can scroll via GestureEvents on systems with appropriate hardware and operating system support. To enable this for any given ScrollBox, have that ScrollBox grab the pointer before this method is called; e.g. either by overriding this method or adding a dynamic event handler calling GestureBegin.continue-implicit-pointer-grab with the ScrollBox as the target. The GestureBegin will be consumed if this method causes the ScrollBox to accept future GesturePan events for scrolling.

See GuiEventTarget.on-pointer-event for general information about static event handlers.
導入: バージョン 8.0


on-gesture-end (メソッド)
public {ScrollBox.on-gesture-end e:GestureEnd}:void

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

説明

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


on-gesture-pan (メソッド)
public {ScrollBox.on-gesture-pan e:GesturePan}:void

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

説明

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


on-key-press (メソッド)
public {ScrollBox.on-key-press e:KeyPress}:void

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

説明

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


on-pointer-press (メソッド)
public {ScrollBox.on-pointer-press e:PointerPress}:void

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

説明

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


on-pointer-scroll (メソッド)
public {ScrollBox.on-pointer-scroll e:PointerScroll}:void

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

説明

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


paginate (メソッド)
public {ScrollBox.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 を呼び出したときに呼び出されます。


scroll-to (メソッド)
public {ScrollBox.scroll-to x:Distance = -1pt, y:Distance = -1pt}:void

ViewportBox のビューポートを指定されたどおりに配置します。

x: 適用される水平オフセットです (ViewportBox.horizontal-position により解釈される)。
y: 適用される垂直オフセットです (ViewportBox.vertical-position により解釈される)。

注意事項

このメソッドが呼び出されると、可能な場合は、ViewportBox.horizontal-position が値 x を、ViewportBox.vertical-position が 値 y を返すように、ビューポートが配置されます。x または y のいずれかが指定されていない場合、その寸法における現在のビューポート位置が保存されます。

オーバーライド

この、ViewportBox の抽象メソッドは、具象サブクラスによりオーバーライドされる必要があります。


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

この ScrollerInterface のスクロール位置を設定し、指定されたポイントが表示されるようにします。

relative-to: x および y を基本とする座標系を定義する Visual
x, y: ビュー内にスクロールされるポイント。

いずれかの引数が指定されない場合、その方向にスクロールは実行されません。
min-window: ScrollerInterface のビューポートの領域で、指定ポイントが表示される上側および左側の境界を指定します。min-window は、0 から 1 までの数字で、指定位置の上 (および左)にあるビューポートの垂直範囲の割合を指定します。既定値は 0 です。
max-window: ScrollerInterface のビューポートの領域で、指定ポイントが表示される下側および右側の境界を指定します。min-window と同様に、max-window は 0 と 1 の間で、既定値は 1 です。

オーバーライド

サブクラスでは、このメソッドの説明に従う必要があります。これが不可能な場合、たとえば Visual を含まない配置メカニズムを表すのに ScrollerInterface が使用される場合などでは、サブクラスは要求を無視することができます。


scroll-to-object (メソッド)
public {ScrollBox.scroll-to-object
g:Visual,
vertical-only?:bool = false,
horizontal-only?:bool = false
}:void

指定オブジェクトの左上隅が、ビューポートの左上隅と一致するように ScrollBox のビューポートを配置します。

g: 対象のオブジェクトです。
vertical-only?: この引数に true を指定すると、水平スクロールを抑制します。
horizontal-only?: この引数に true を指定すると、垂直スクロールを抑制します。

注意事項

g がこの ScrollBox のグラフィカルな子孫ではない場合、エラーが発生します。


set-scroll-sizes (メソッド)
public {ScrollBox.set-scroll-sizes view-bounds:GRect}:void

Viewport または Viewport 内のオブジェクトのサイズ変更の後、ScrollBox のパラメータを設定します。

view-bounds: Viewport の新しい境界です。

説明

サムの長さの調整、ならびに Scrollbar に対する値範囲の調整など、オブジェクト サイズに変更が行われた場合に ScrollBox が必要とするアクションを実行します。

予期されたイベント

Action: パラメータを調整した後で Scrollbox によって自身で起動するアクションです。


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

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

説明

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

プログラミング注意事項

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

オーバーライド

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