(クラス)
public abstract SliderPanel
{inherits
Canvas}
SliderUI に関連するユーザー インターフェイス オブジェクトを表現します。
説明
SliderPanel は、ユーザー が
Slider の値を変更するのに使用できるノブを持っています。又、ノブがスライドするトラックも持っています。
目盛りも描画し、
Slider のラベルがある場合はそれも保持しています。
注意事項
SliderUI をサブクラス化する場合は、このクラスを使用する必要はありません。
導入:
バージョン 6.0
コンストラクタ public | {SliderPanel.default} |
color: | ビジュアル オブジェクトには必ず color オプションがあります。このオプションは、継承されたものか、あるいはオブジェクトに直接設定されたものです。GUI Toolkit では、このオプションを使って Rule の色などの一般に周囲のテキストと同じ色に設定されるテキストおよび機能の色を調整します。
ビジュアル オブジェクトによっては、color プロパティを直接使用しないものがあります。たとえば、VBox は色プロパティを使用しません。それでもやはり、内部にあるすべてのアイテムが既定で同じ色を持つように、VBoxの色を設定すると便利です (下の例を参照)。 |
非ローカル オプション public SliderPanel.disabled-color:
FillPattern
アクセサ public SliderPanel.effective-track-thickness:
Distance
非ローカル オプション public SliderPanel.enabled?:
bool
非ローカル オプション public SliderPanel.font-size:
any
アクセサ public SliderPanel.horizontal?:
bool
knob: | このオブジェクトに関連付けられているノブ。 |
フィールド public constant SliderPanel.knob:
Graphic
非ローカル オプション public SliderPanel.major-tick-length:
any
アクセサ public SliderPanel.max-value:
any
アクセサ public SliderPanel.min-value:
any
非ローカル オプション public SliderPanel.minor-tick-length:
any
アクセサ public SliderPanel.selecting-range?:
bool セッター public SliderPanel.selecting-range?:
bool
アクセサ public SliderPanel.slider:
Slider
フィールド public constant SliderPanel.slider-ui:
SliderUI
track: | このオブジェクトに関連付けられているトラック。 |
フィールド public constant SliderPanel.track:
Graphic
ローカル オプション public SliderPanel.track-thickness:
any =4px
プロパティ 継承 Visual:
_style-element, cursor, data-source, dragee, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data プロパティ 継承 Graphic:
avoid-page-break?, background, border-color, border-spec, border-style, border-width, cell-border-spec, cell-border-width, cell-margin, discrete-select-in-range?, 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
public | {SliderPanel.constrain-width}:Dimension |
protected abstract | {SliderPanel.create-track}:Graphic |
draw: | このオブジェクトの可視表現を描画します。 |
public | {SliderPanel.synchronize-knob-to-value}:void |
メソッド 継承 Canvas:
add, add-at-index, allocate-layout-object, clone-appearance-helper, clone-children, constrain-height, draw-internal, get-anchor, get-gui-path-to-child, get-height-preference, get-xy, invalidate-shape-layout, move-to-xy, option-changed, set-anchor, set-child-index, set-child-index-after, set-child-index-before, shift-xy, size-changed メソッド 継承 ShapeBox:
add-shape-graphic-child, after-reposition, before-reposition, clear, get-current-draw-transformation, handle-crossing, note-attached, note-detaching, notify-option-children, on-drag-enter, on-pointer-enter, on-pointer-envelope-event, pick-child, register-options, request-draw, request-draw-rect, request-pointer-trace, shape-container-pick-child メソッド 継承 Visual:
add-from-init-args, animate, change-cursor, clonable-appearance?, clone-appearance, get-focus-manager, get-layout-context, get-test-parent, get-test-property, get-text, get-view, maybe-fire-attach-event, maybe-fire-detach-event, non-keyword-init-arg, note-caret-position, on-drag-leave, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, refresh-style-options, release-key-focus, request-key-focus, scroll-to-include, test-record, test-run, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates メソッド 継承 ShapeContainerBase:
constrain-shape-layout-bounds, draw-shape-child, draw-shape-children, get-all-children-at-point, get-child-at-point, get-leaf-at-point, get-shape-bounds, get-shape-bounds-in-shape-root, get-shape-layout-bounds, get-shape-root, remove, set-shape-index, set-shape-index-after, set-shape-index-before, shape-container-fire-inferior-crossing-event, shape-container-handle-crossing, shape-container-pointer-enter-occurred, shape-container-pointer-leave-occurred メソッド 継承 GuiEventTarget:
handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-key-event, on-key-press, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-press, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class メソッド 継承 OptionListInterface:
add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, option-change-notify, option-lookup-here, option-propagate-notify, option-set?, 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 メソッド 継承 Graphic:
create-pagination-state, detach, draw-range-as-selected, draw-shadow, find-ancestor, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-top-left-in-ancestor, get-visible-bounds-into, on-inspection, paginate, paint-with-decorations, replace-with, search-next, search-prev, set-layout, start-pagination, xy-offset-to
(コンストラクタ)
public | {SliderPanel.default} |
このオブジェクトを作成します。
knob-graphic: このオブジェクトのノブ内に配置される
Graphic です。
(非ローカル オプション)
ビジュアル オブジェクトには必ず color オプションがあります。このオプションは、継承されたものか、あるいはオブジェクトに直接設定されたものです。GUI Toolkit では、このオプションを使って Rule の色などの一般に周囲のテキストと同じ色に設定されるテキストおよび機能の色を調整します。
ビジュアル オブジェクトによっては、color プロパティを直接使用しないものがあります。たとえば、VBox は色プロパティを使用しません。それでもやはり、内部にあるすべてのアイテムが既定で同じ色を持つように、VBoxの色を設定すると便利です (下の例を参照)。
説明
各種オブジェクトではこのオプションを次のように使用しています。
color は非ローカルオプションなので、これを適用するオブジェクトを含む任意のグラフィカル オブジェクトに設定できます。
例
テキスト、ルール、形状を含むオブジェクトに
色を設定した結果を次に示します。
例 |
|
{VBox
background="silver",
color="green",
{text The default color in this VBox is {bold green}.},
{Rule height=1pt},
{text The thick Rule below is {bold yellow}.},
{Rule color="yellow", height=3pt},
{text color = "blue", Next are two ellipse's, with and
without a color setting
},
{HBox spacing=6pt,
{EllipticalArcGraphic
width=1in, height=0.5in,
color = "aqua"
},
{EllipticalArcGraphic
width=1in, height=0.5in
}
}
}
| |
(非ローカル オプション)
無効なオブジェクトの描画に使用される色。
説明
このオプションは、無効のオブジェクトの描画に使用される色を指定するために設定されます (つまり、
enabled? オプションのオブジェクトは、
false)。
特に、無効なテキストの描画や、色やルールなど、テキスト形式のオブジェクトを描画するために使用されます。
(非ローカル オプション)
このオブジェクトに関連付けられている DisplayContext。
プログラミング注意事項
このオプションは、Curl グラフィック システム内での通信のために使用されます。これは、ユーザー コードで不用意に設定や設定解除を行わないでください。また、通常は、ユーザー コードで直接読み取るべきではありません。現在の
DisplayContext が必要な場合は、
Visual.get-display-context を呼び出すことによりフェッチしてください。
画面上のウィンドウまたは印刷されたページで表示可能なすべてのグラフィック階層は、そのルートにおいて、
display-context オプションを
DisplayContext オブジェクトに設定するオブジェクトを持つ必要があります。このオブジェクトは、グラフィック階層の表示に使用される表示媒体に適しています。つまり、オブジェクトは、
display-context オプションの値が
null から非
null DisplayContext オブジェクトに変更されるのをモニタリングすることにより、表示不可能なグラフィック階層に連結されていることを認識します。したがって、特定の動作を実行する必要のある
Visual のサブクラスは、表示不可能なグラフィック階層に接続された場合、次のようなオプション宣言を含むことにより
display-context オプションをモニタリングします。
{nonlocal-option public display-context:#DisplayContext
change handler}ここで、
change handler 内のコードは
display-context オプションの現在値 (変数
display-context の値として、変更ハンドラ内にある) を取得し、
null および非
null の値の間で行われる変更をモニタリングし、必要とされる動作を実行します。
ただし、このプログラミング熟語を使用するプログラマーは、グラフィカル表示を再配列する際、グラフィック階層からグラフィカル オブジェクトを一時的に分離し、これらを同じ階層に再アタッチすることが、割に一般的であることを理解するべきです。この処理により、一時的に分離されたオブジェクトは、
display-context オブジェクトが
null になり、再び非
null になるのを観察します。
display-context オプションでの変更をモニタリングするコードは、この可能性を考慮に入れ、この状況における望ましくない動作の実行を回避しなくてはなりません。
(アクセサ)
アクセサ public SliderPanel.effective-track-thickness:
Distance
(非ローカル オプション)
public SliderPanel.enabled?:
bool Visual が有効であるかどうかを指定します。
説明
このオプションが false の場合、オブジェクトやGUI オブジェクトとのユーザー インタラクションは無効になります。
このオプションを
true に設定する代わりに、オプションを
unset する方が一般的です。これにより、一部の親コンテナの値は、有効な値を判別します。
- このオプションが false の場合、オプションに応じて、テキストは disabled-color および disabled-text-sunken? で表示されます。
例
例 |
|
{paragraph I am enabled}
{paragraph enabled? = false, I'm not}
| |
このオプションが false で、
Visual がコントロールの場合、コントロールのユーザー インターフェイスは無効になります。前述したように、ラベル上の任意のテキストは、無効状態で表示されます。
例
例 |
|
{radio-buttons
value = "first",
{RadioButton radio-value = "first"},
{RadioButton
radio-value = "second",
reactive-label = {ReactiveLabel
label-disabled = "(second)"
},
enabled? = false
},
{RadioButton radio-value = "third"}
}
| |
(非ローカル オプション)
public SliderPanel.font-size:
any オブジェクト内のテキストの既定サイズを指定します。
説明
値は正の値でなければなりません。負の値や、0 はオプションをに設定することはできますが、実行する際にランタイムエラーが発生します。
例
font-size オプションを使用したテキスト サイズの指定方法の例をいくつか示します。"Medium" という語を持つテキスト オブジェクトが、それを含むテキスト オブジェクトから、どのようにフォント サイズを取得するかに注意してください。
例 |
|
{text font-size=12pt,
{text font-size=8pt, Little}
{text font-size=1cm, Pretty big}
{text Medium}
{text font-size=1in, Huge!}
}
{text And this is the default}
| |
参照:
(アクセサ)
アクセサ public SliderPanel.horizontal?:
bool このオブジェクトに関連する Slider の向きが水平かどうかを既定します。
導入:
バージョン 6.0
(フィールド)
public constant SliderPanel.knob:
Graphic このオブジェクトに関連付けられているノブ。
注意事項
導入:
バージョン 6.0
(非ローカル オプション)
public SliderPanel.major-tick-length:
any 大きい目盛りの長さです。
説明
導入:
バージョン 6.0
(アクセサ)
アクセサ public SliderPanel.max-value:
any UI の値の上限です。
導入:
バージョン 6.0
(アクセサ)
アクセサ public SliderPanel.min-value:
any UI の値の最小値です。
導入:
バージョン 6.0
(非ローカル オプション)
public SliderPanel.minor-tick-length:
any 小さい目盛りの長さです。
説明
導入:
バージョン 6.0
(アクセサ)
アクセサ public SliderPanel.selecting-range?:
bool セッター public SliderPanel.selecting-range?:
bool Slider の範囲が変化しているかどうかを示します。
導入:
バージョン 6.0
(アクセサ)
アクセサ public SliderPanel.slider:
Slider このオブジェクトが関連する Slider です。
導入:
バージョン 6.0
(フィールド)
public constant SliderPanel.slider-ui:
SliderUI このオブジェクトが関連する SliderUI です。
導入:
バージョン 6.0
(フィールド)
public constant SliderPanel.track:
Graphic このオブジェクトに関連付けられているトラック。
注意事項
導入:
バージョン 6.0
(ローカル オプション)
public SliderPanel.track-thickness:
any =4px
SliderPanel のトラックの太さを制御します。
説明
このオプションの値は SliderPanel のトラックの太さ(制限された範囲)を規定します。既定では、4px です。
注意事項
導入:
バージョン 6.0
(メソッド)
最後のレイアウト ネゴシエーションが完了してから、Graphic のレイアウト設定が変更されたかどうかを判定します。
戻り値
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 状態に設定する必要があります。
プログラミング注意事項
オーバーライド
(メソッド)
public | {SliderPanel.constrain-width}:Dimension |
指定した高さの制約を受けた場合にこの Graphic の高さ設定を返します。
lextent, rextent: 幅の制約。起点からの左と右の相対距離で表されます。
戻り値
オーバーライド
既定のメソッド
Graphic.constrain-width は、単に
Graphic.get-height-preference を呼び出します。このメソッドは、オブジェクトが高さ設定を計算する際に幅制約を考慮しなくてもいい場合はオーバーライドする必要がありません。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な垂直軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
重要:このメソッドのオーバーライド実装には、レイアウト ネゴシエーションが確実にグラフィック階層全体に適用されるように、スーパークラス実装の呼び出しを含める必要があります。
(メソッド)
このオブジェクト用のノブを作成します。
戻り値
導入:
バージョン 6.0
(メソッド)
protected abstract | {SliderPanel.create-track}:Graphic |
このオブジェクト用のトラックを作成します。
戻り値
導入:
バージョン 6.0
(メソッド)
(メソッド)
この Graphic の幅設定を返します。
戻り値
オーバーライド
このメソッドは、
Graphic のサブクラスで定義する必要があります。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な水平軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
(メソッド)
Knob の位置を更新します。
x, y: 現在のオブジェクト起点に関連する新しい位置の座標です。現在のオブジェクト基点に関連しています。
注意事項
Slider が水平の場合、
x が使用されます。そうでない場合は、
Knob を再配置するのに
y が使用されます。
導入:
バージョン 6.0
(メソッド)
このオブジェクトにレイアウト幅と高さを代入します。
説明
このオブジェクトで set-size を呼び出すと、オブジェクトのレイアウト サイズを代入し、オブジェクトのレイアウト ネゴシエーションを完了します。グラフィック階層のすべてのオブジェクトにレイアウト サイズが代入された後で階層のレイアウト ネゴシエーションが完了します。
bounds: このオブジェクトの境界ボックスの左右および上下の範囲をオブジェクトの起点から相対的に示す
GRect。
プログラミング注意事項
このメソッドは、オブジェクトのグラフィカルな親によって呼び出されます。
オーバーライド
(メソッド)
public | {SliderPanel.synchronize-knob-to-value}:void |
このオブジェクトに関連する Slider の値を反映させるために、Knob の位置を調整します。
導入:
バージョン 6.0
(メソッド)
このオブジェクト内の位置が Slider の値を変更するのに有効か考慮すべきかどうかを規定します。
x, y: このオブジェクトの座標系の座標。
導入:
バージョン 6.0