{BaseComboBox tValue:Type} (クラス)
public abstract BaseComboBox {inherits {MultiUIValueControlFrame-of tValue}, ListModelControl, SingleSelectionControl}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.CONTROL-LOGICAL.
直接継承しているサブクラス: ComboBox, DropdownList

ComboBoxDropdownListの両者に共通するベースクラスです。

説明

これら二つのコントロールは値の型と自由に編集できるかどうかという点を除き非常に類似しており、このクラスは単にこれらの共通のコードを全て保持するためにあるわけではありません。
導入: バージョン 7.0

コンストラクタ
default:このオブジェクトを作成します。
コンストラクタ public {BaseComboBox.default
data-model:ListModel = {DefaultListModel},
dropdown-height:Distance = 0pt,
list-item-creation-proc:{proc-type {val:any}:ListItem} = ListModelControl.default-list-item-creation-proc,
ui-object:#BaseComboBoxUI = null,
...
}

プロパティ
dropdown-height:コントロールのドロップダウン リストの望ましい高さ。
アクセサ public BaseComboBox.dropdown-height:Distance
セッター public BaseComboBox.dropdown-height:Distance
dropdown-width:コントロールのドロップダウン リストの幅を規定します。
ローカル オプション public BaseComboBox.dropdown-width:any
pending-value?:現在ユーザーが値を変更しているどうかを示します。
フィールド public BaseComboBox.pending-value?:bool =false
selected-index:現在選択されている ListItem のインデックス。
アクセサ public BaseComboBox.selected-index:int
selected-item:現在アイテムが選択されている場合はそのアイテム。
アクセサ public BaseComboBox.selected-item:#SelectableItem
test-type-name:このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。
アクセサ public BaseComboBox.test-type-name:#String
プロパティ 継承 ListModelControl: data-model, for-loop-count, items, list-item-creation-proc, list-item-selected-background, list-item-selected-foreground, list-items, size
プロパティ 継承 MultiUIControlFrame: _ui-object, _ui-set-locally?, control-appearance-changeable?, display-context, focus-object, look-and-feel, options-present-here, ui-object
プロパティ 継承 ValueControl-of: value, value-as-any, value-type
プロパティ 継承 ControlFrame: color, control-color, control-content-background, enabled?, font-family, font-size, font-style, font-weight, style-element, text-breakable?, text-line-through?, text-preserve-whitespace?, text-underline?, visible?
プロパティ 継承 ValueControl: form-value, has-value?
プロパティ 継承 BaseFrame: child, clonable-class?, completely-clonable-children?, graphical-children, halign-spec, hstretch?-spec, ordered-children, reverse-ordered-children, valign-spec, vstretch?-spec, width-first?
プロパティ 継承 CommandBinding: bound-command, bound-command-impl
プロパティ 継承 Control: control-container, dialog, focus-skin, form, skin
プロパティ 継承 ActiveTraversor: _active-traversal-container, active-traversal-container, mnemonic, tab-index, takes-focus?, valid?, validation-result
プロパティ 継承 GetBoundsBox: layout-locally-valid?, layout-valid?
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 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-visible?, tooltip, user-data
プロパティ 継承 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?, 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, visual-parent, vorigin, width
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 OptionListInterface: option-register-proc, registered-option-keys

メソッド
add-from-init-args:この Visual のコンストラクタに渡されるオブジェクトを Visual の内容に追加します。
protected {BaseComboBox.add-from-init-args a:any}:void
deselect-all-items:選択をクリアします。
public {BaseComboBox.deselect-all-items}:void
get-test-property:このオブジェクトのテスト プロパティ値を返します。
public {BaseComboBox.get-test-property name:String}:any
notify-interval-added:新しい値が追加されたときにデータ モデルによって呼び出されるメソッド。
public {BaseComboBox.notify-interval-added
lower:int,
upper:int,
item:#ListItem = null
}:void
notify-interval-changed:値が変更されたときにデータ モデルによって呼び出されるメソッド。
public {BaseComboBox.notify-interval-changed
lower:int,
upper:int,
item:#ListItem = null
}:void
notify-interval-removed:値が削除されたときにデータ モデルによって呼び出されるメソッド。
public {BaseComboBox.notify-interval-removed lower:int, upper:int}:void
notify-item-selected:選択状態が変化したことを通知するために ListItem によって呼び出されます。
public {BaseComboBox.notify-item-selected item:ListItem}:void
react-to-state-change:コントロールの状態が変更された場合に、コントロールの外観を変更します。
public {BaseComboBox.react-to-state-change}:void
select-index:指定したインデックスの ListItem を選択します。
public {BaseComboBox.select-index i:int}:void
select-index-internal:BaseComboBox の選択状態を更新するための内部ユーティリティ。
protected {BaseComboBox.select-index-internal index:int}:bool
select-index-with-events:指定したインデックスの ListItem を選択し、必要に応じて ValueChangedValueFinished イベントを発生させます。
public {BaseComboBox.select-index-with-events i:int}:void
set-value-with-events:コントロールの値を設定し、後で ValueChanged (該当する場合) および ValueFinished のイベントを発生させます。インタラクティブに値を設定するユーザーをビジュアルなしでシミュレーションすることになります。
public {BaseComboBox.set-value-with-events val:tValue}:void
test-run:オブジェクトに対してビジュアル テスト アクションを実行します。
public {BaseComboBox.test-run action:String, args:FastArray}:any
メソッド 継承 MultiUIValueControlFrame-of: unset-property
メソッド 継承 ListModelControl: append, clear-items, find, get, insert, rebuild-from-data-model, remove, set
メソッド 継承 MultiUIControlFrame: create-default-ui-object, generate-ui-object, handle-look-and-feel-change, handle-observer-message, on-focus-in, option-changed, option-lookup-here, option-propagate-notify, react-to-visual-change, request-key-focus, set-layout
メソッド 継承 ControlFrame: become-active, clear
メソッド 継承 ValueControl: unset-value
メソッド 継承 BaseFrame: add-internal, after-reposition, allocate-layout-object, attempt-revalidate-layout, before-reposition, clone-appearance-helper, compute-child-bounds, compute-parent-elastic, constrain-height, constrain-width, draw, end-pagination, get-height-preference, get-text, get-width-preference, install-child-bounds, internal-remove-child, note-attached, note-detaching, notify-option-children, paginate, pick-child, propagate-request-layout, register-options, set-size
メソッド 継承 Control: on-pointer-press
メソッド 継承 BasicBox: contains-point?, find-graphic-at, handle-crossing, on-pointer-envelope-event, pointer-enter-occurred, pointer-leave-occurred
メソッド 継承 StandardActiveTraversor: become-active-from-traversal, fire-event-at-container, handle-mnemonic, on-key-press
メソッド 継承 Observer: observe, stop-observing
メソッド 継承 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-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-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, 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
メソッド 継承 ActiveTraversor: mark-invalid, mark-valid
メソッド 継承 GetBoundsBox: get-bounds, get-elastic-bounds-into, get-nonparent-bounds-into, request-layout, validate-layout
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 Visual: add, animate, change-cursor, clonable-appearance?, clone-appearance, get-focus-manager, get-layout-context, get-test-parent, 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, scroll-to-include, test-record, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates
メソッド 継承 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, make-gui-mark, search-next-here, search-prev-here
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 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, paint-with-decorations, replace-with, request-draw, request-draw-rect, request-pointer-trace, search-next, search-prev, start-pagination, xy-offset-to
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, refresh-data-binding, remove-data-binding, update-data-binding, validate-data-binding
メソッド 継承 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-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
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {BaseComboBox.default
data-model:ListModel = {DefaultListModel},
dropdown-height:Distance = 0pt,
list-item-creation-proc:{proc-type {val:any}:ListItem} = ListModelControl.default-list-item-creation-proc,
ui-object:#BaseComboBoxUI = null,
...
}

このオブジェクトを作成します。

data-model: ListModelControl.data-model を参照してください。
dropdown-height: BaseComboBox.dropdown-height を参照してください。
list-item-creation-proc: ListModelControl.list-item-creation-proc を参照してください。
ui-object: このコントロールによって使用される特殊なBaseComboBoxUI
...: 追加オプションや、イベントハンドラなどを指定します。
導入: バージョン 7.0



プロパティ詳細
dropdown-height (アクセサ)
アクセサ public BaseComboBox.dropdown-height:Distance
セッター public BaseComboBox.dropdown-height:Distance

コントロールのドロップダウン リストの望ましい高さ。

説明

値が 0pt (既定値) の場合、このリストはすべての値を示すのに必要な長さになります。ドロップダウンが画面上に表示するには長すぎる場合など、一定の環境下では、UI デリゲートが異なる高さでドロップダウンを表示する場合があります。

注意事項

ドロップダウンの幅は、look-and-feel を実装する UI デリゲートによって決定され、現在のところパブリック API からは設定できません。


dropdown-width (ローカル オプション)
public BaseComboBox.dropdown-width:any

コントロールのドロップダウン リストの幅を規定します。

説明

null や unset の値は、ドロップダウンの幅がコントロールの幅と一致することを意味します。
0m> の場合、ドロップダウンの幅は一番幅の広いアイテムを表示するのに十分な、少なくともコントロールと同じ幅になります。
ドロップダウンの MenuPanewidth オプションとして他の値が使用されます。
導入: バージョン 6.0


pending-value? (フィールド)
public BaseComboBox.pending-value?:bool =false

現在ユーザーが値を変更しているどうかを示します。

説明

通常、ユーザーがドロップダウンを開いている間や ComboBox に入力している間、pending-value? は true になり、それ以外の場合は false です。

pending-value?false である ComboBox でユーザーが初めて入力すると、ComboBoxpending-value?true に設定され、ValueChanged イベントが送信されます。ユーザーが値の入力を完了して ValueFinished イベントが送信されるまで、pending-value?false に戻りません。

その他の状況でこのプロパティを設定することは推奨されていません。


selected-index (アクセサ)
アクセサ public BaseComboBox.selected-index:int

現在選択されている ListItem のインデックス。

説明

BaseComboBox.has-value? が false の場合や BaseComboBox.value がリスト内のアイテムを参照しない場合、インデックスは -1 になります。これは読み取り専用プロパティで、このインデックスのアイテムを選択するには BaseComboBox.select-index または BaseComboBox.select-index-with-events を呼び出します。


selected-item (アクセサ)
アクセサ public BaseComboBox.selected-item:#SelectableItem

現在アイテムが選択されている場合はそのアイテム。

説明

読み取り専用プロパティであり、このアイテムを選択するにはプロパティの値を ListItem の値に設定するか、BaseComboBox.set-value-with-events を呼び出します。


test-type-name (アクセサ)
アクセサ public BaseComboBox.test-type-name:#String

このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。

説明

ビジュアル テストを正しく実行するには、テストは次のいずれかのタイプでなければなりません。特定のテスト タイプの詳細については、リストされている実装例の test-run および get-test-property メソッドの説明を参照してください。
オブジェクトのセマンティクスに近い、いずれかの定義済みテスト タイプの使用を検討してください。ただし、テスト タイプを変更せずにオブジェクトにテストのアクションとプロパティを追加する方が簡単な場合もあります。





メソッド詳細
add-from-init-args (メソッド)
protected {BaseComboBox.add-from-init-args a:any}:void

この Visual のコンストラクタに渡されるオブジェクトを Visual の内容に追加します。

プログラミング注意事項

このメソッドは Visual.non-keyword-init-arg で呼び出され、通常サブクラスでは直接呼び出しません。

オーバーライド

このメソッドの既定の実装では、Visual.add が呼び出されるだけです。サブクラスではこのメソッドをオーバーライドし、コンストラクタを使ってこの Visual に内容を追加する際の特別な処理を指定してください。


deselect-all-items (メソッド)
public {BaseComboBox.deselect-all-items}:void

選択をクリアします。

説明

ListItem が現在選択されている場合、このメソッドは BaseComboBox.unset-value によってコントロールの値を既定値に戻します。

ValueChangedValueFinished のイベントはどちらもこのメソッドからは発生しません。


get-test-property (メソッド)
public {BaseComboBox.get-test-property name:String}:any

このオブジェクトのテスト プロパティ値を返します。

説明

既定の実装では、リフレクションを使用してオブジェクトの実行時プロパティの値を取得します。プロパティを実行時のインターフェイスではなくテスト環境に追加する場合は、サブクラスでこのメソッドをオーバーライドする必要があります。

注意事項

参照:canonical-test-value


notify-interval-added (メソッド)
public {BaseComboBox.notify-interval-added
lower:int,
upper:int,
item:#ListItem = null
}:void

新しい値が追加されたときにデータ モデルによって呼び出されるメソッド。

説明

データ モデルは、ListItem にする必要がある新しい値がある場合にこのメソッドを呼び出します。このメソッドは ListItem を生成し、それを ListModelControl.items 配列に挿入します。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。
lower: 追加されたアイテムの下限 (そのアイテムを含む)。
upper: 追加されたアイテムの上限 (そのアイテムを含む)。
item: これで指定した ListItem を使用し、list-item-creation-proc で自動的に生成されたものを使用しないことを意味します。このパラメータが指定された場合、その範囲に 1 つのアイテムだけを含める必要があります。このパラメータで関数を呼び出す必要はありません。ListModelControl.appendListModelControl.insert によって使用されます。

オーバーライド

一般に、ListItem が削除されたときに追加の保守を行なう場合に、このメソッドをオーバーライドする必要があります。ほとんどの場合、最初に super.notify-interval-added を呼び出し、独自の操作を実行する前に ListItem を生成して配列に挿入します。


notify-interval-changed (メソッド)
public {BaseComboBox.notify-interval-changed
lower:int,
upper:int,
item:#ListItem = null
}:void

値が変更されたときにデータ モデルによって呼び出されるメソッド。

説明

データ モデルは、一部の値が変更されたときにこのメソッドを呼び出します。このメソッドは、新しい値から新しい ListItem を生成し、ListModelControl.items 配列を適切に変更します。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。
lower: 変更されたアイテムの下限 (そのアイテムを含む)。
upper: 変更されたアイテムの上限 (そのアイテムを含む)。
item: 特定の ListItem を使用し、list-item-creation-proc で自動的に生成されたものを使用しないことを意味します。このパラメータが指定された場合は、その範囲に 1 つのアイテムだけを含める必要があります。このパラメータで関数を呼び出す必要はありません。ListModelControl.set によって使用されます。

オーバーライド

一般に、ListItem が置き換えられたされたときに追加の保守を行なう場合に、このメソッドをオーバーライドする必要があります。ほとんどの場合、古い ListItem の状態を破棄し、super.notify-interval-changed を呼び出して追加された新しい ListItem の状態を設定します。


notify-interval-removed (メソッド)
public {BaseComboBox.notify-interval-removed lower:int, upper:int}:void

値が削除されたときにデータ モデルによって呼び出されるメソッド。

説明

データ モデルは、一部の値が削除されたときにこのメソッドを呼び出します。このメソッドは値を ListModelControl.items 配列から削除します。値がすでに ListModel から削除されていることに注意してください。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。
lower: 削除されたアイテムの下限 (そのアイテムを含む)。
upper: 削除されたアイテムの上限 (そのアイテムを含む)。

オーバーライド

一般に、ListItem が挿入されたときに追加の保守を行なう場合に、このメソッドをオーバーライドする必要があります。ほとんどの場合、最初に独自の破棄操作を行なうため ListItem へのアクセスが必要で、この操作の最後で super.notify-interval-removed を呼び出します。


notify-item-selected (メソッド)
public {BaseComboBox.notify-item-selected item:ListItem}:void

選択状態が変化したことを通知するために ListItem によって呼び出されます。

説明

ListItem.selected? を設定して実際に選択状態が変化するとこのメソッドが呼び出され、コントロールは内部の選択状態を更新してこれに一致させます。通常は、ユーザー記述のコードでこのメソッドを呼び出さないでください。


react-to-state-change (メソッド)
public {BaseComboBox.react-to-state-change}:void

コントロールの状態が変更された場合に、コントロールの外観を変更します。

説明

このコントロールが non-null の UI オブジェクトをすでに持っている場合、このメソッドは ControlUI.react-to-state-change への呼び出しを生成します。

オーバーライド

通常はオーバーライドされません。


select-index (メソッド)
public {BaseComboBox.select-index i:int}:void

指定したインデックスの ListItem を選択します。

i: 指定したインデックス。

説明

i が範囲外の場合はエラーがスローされます。


select-index-internal (メソッド)
protected {BaseComboBox.select-index-internal index:int}:bool

BaseComboBox の選択状態を更新するための内部ユーティリティ。

戻り値

選択が正常に更新されたかどうかを示します。

説明

このメソッドは、現在の選択状態の更新に必要な内部の変更を実行します。通常、このメソッドをクライアント コードから直接呼び出すことはありません。

このメソッドは自動的にアイテムの選択状態を更新し (不必要なコールバックを避けるため)、コントロールの値セッターを呼び出しません。

インデックス入力が選択できない場合、更新に失敗する可能性があります。範囲外のインデックス (-1 など) の場合、アイテムは選択されないままになり失敗になりません。


select-index-with-events (メソッド)
public {BaseComboBox.select-index-with-events i:int}:void

指定したインデックスの ListItem を選択し、必要に応じて ValueChangedValueFinished イベントを発生させます。

i: 指定したインデックス。

説明

これは事実上 BaseComboBox.set-value-with-events による値の設定と同じになりますが、値の代わりにインデックスの指定が可能です。


set-value-with-events (メソッド)
public {BaseComboBox.set-value-with-events val:tValue}:void

コントロールの値を設定し、後で ValueChanged (該当する場合) および ValueFinished のイベントを発生させます。インタラクティブに値を設定するユーザーをビジュアルなしでシミュレーションすることになります。

val: コントロールに設定される値。

説明

このメソッドは、最初に set でコントロールの値を設定し、次にイベントを発生させます。


test-run (メソッド)
public {BaseComboBox.test-run action:String, args:FastArray}:any

オブジェクトに対してビジュアル テスト アクションを実行します。

action: 実行するアクションの名前。
args: ビジュアル テスト アクションの引数。ビジュアル テスト インフラストラクチャは、引数の数と型をチェックしますが、値はチェックしません。実装では、すべての有効な値を処理し、不正な値に対しては例外またはエラーをスローするようにしてください。

説明

そのクラスによってサポートされたテスト動作のリストについてクラスのドキュメントを御読み下さい。
既定の実装では、RawClick などの一般的な操作を処理し、action が既知のアクションに一致しない場合にはリフレクションを使用してメソッドを呼び出します。

注意事項

QuickTest Property™ のビジュアル テスト環境では、任意の実行時メソッドを直接呼び出せません。代わりに CallMethod アクションを使用して、最初の引数としてメソッド名を渡してください。ビジュアル テスト インフラストラクチャは、CallMethod アクションを実際のアクションに変換してから test-run を呼び出します。

注意事項

参照:canonical-test-value

オーバーライド

新しいテスト アクションを追加するには、action と新しいアクションの名前を照合します。一致する場合は、引数を処理してアクションを実行し、適切なタイプの値 (戻り値がない場合は null) を返します。action が新しいテスト アクションに一致しない場合は、super.test-run を呼び出します。