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

メニューの基本クラスです。メニューは順序立てられた MenuItem の集合です。

注意事項

Menu は、Box から継承される必要があります。
Menu の 2つの public なサブクラスは、BaseMenuBarBaseMenuPane です。
導入: バージョン 6.0

プロパティ
always-show-selection?:ポインタが MenuPaneMenuBar の境界の外にあっても、メニュー アイテムの選択を表示するかどうかを示します。
アクセサ public Menu.always-show-selection?:bool
event-delegate:
MenuManager からのPointerEventKeyPressを取得する Graphic です。
既定では、self を返します。
アクセサ public Menu.event-delegate:Graphic
first-item:Menu に最初の MenuItem があればそれになります。
アクセサ public Menu.first-item:#MenuItem
for-loop-count:Menu のグラフィカル要素数です。
アクセサ public inline Menu.for-loop-count:int
last-item:Menu の最後の MenuItem があれば、それになります。
アクセサ public Menu.last-item:#MenuItem
popup-alongside?:サブメニューが、上や下ではなく、メニュー アイテムの横にポップアップされることを示す場合、true を返します。必要であれば、反対のふるまいにするためにサブクラスはオーバーライドします。
アクセサ public Menu.popup-alongside?:bool
popup-context-visual:コンテキスト メニューが表示されたときにマウス ポインタの箇所にあるオブジェクトである Menuのコンテキスト を返します。
フィールド public-get protected-set Menu.popup-context-visual:#Visual =null
size:Menu のアイテム数を返します。
アクセサ public Menu.size:int
test-type-name:このオブジェクトをテストのメソッドとプロパティにマッピングするために、ビジュアル テスト インフラストラクチャが使用するタイプ名。
アクセサ public Menu.test-type-name:#String
プロパティ 継承 Visual: _style-element, clonable-class?, completely-clonable-children?, cursor, data-source, display-context, dragee, font-size, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, possibly-displayed?, style-class, style-element, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-visible?, tooltip, user-data, visual-parent
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 OptionListInterface: option-parent, option-register-proc, options-present-here, registered-option-keys

メソッド
add:Graphic 、一般的には SubMenuMenuActionMenu に追加します。
public {Menu.add g:any, ...}:#Visual
add-at-index:Graphicを設定されたインデックスで Menu に挿入します。
protected {Menu.add-at-index g:#Graphic, where:any}:void
clear:Menu の全アイテムを削除します。
public {Menu.clear}:void
get:設定されたインデックスの Menu アイテムを返します。
public {Menu.get index:int}:Graphic
get-access-items:設定されたアクセス キーを使用するために、MenuItem を返します。
public {Menu.get-access-items key:char}:#{Array-of MenuItem}
get-test-property:このオブジェクトのテスト プロパティ値を返します。
public {Menu.get-test-property name:String}:any
item-after:Menu で指定された MenuItem の後に MenuItem があれば、それになります。
public {Menu.item-after item:MenuItem, wrap?:bool = false}:#MenuItem
item-before:Menu で指定された MenuItem の前に MenuItem があれば、それになります。
public {Menu.item-before item:MenuItem, wrap?:bool = false}:#MenuItem
note-item-added:新しい Graphic が追加される時に、Menu によって呼び出されるメソッドです。
protected {Menu.note-item-added index:int}:void
note-item-removed:Graphic が削除される時に、Menu によって呼び出されるメソッドです。
protected {Menu.note-item-removed index:int}:void
note-items-cleared:Menu.clear が呼び出される時に、Menu によって呼び出されるメソッドです。
protected {Menu.note-items-cleared}:void
on-pointer-event:PointerEventスタティック イベント ハンドラ
public {Menu.on-pointer-event e:PointerEvent}:void
record-traversals:起動された MenuAction へのトラバースの経路を記録します。
protected {Menu.record-traversals
mm:#MenuManager,
menu-action:MenuAction
}:void
remove:設定されたアイテムを MenuPane リストから削除します。
public {Menu.remove g:Graphic, error-if-missing?:bool = true}:void
test-run:オブジェクトに対してビジュアル テスト アクションを実行します。
public {Menu.test-run action:String, args:FastArray}:any
to-Iterator:Menu のグラフィカル要素のイテレータを返します。
public {Menu.to-Iterator}:{Iterator-of Graphic}
walk-items:MenuItem の各 MenuBar でプロシージャを再帰的に呼び出します。
public {Menu.walk-items f:{proc-type {MenuItem}:void}}:void
walk-items-proc:MenuItem にある f を呼び出すことで、この Menu にある各 MenuItem を見てまわるヘルパー メソッドです。アイテムが SubMenu の場合、このメソッドは再帰的に呼びます。
protected {Menu.walk-items-proc f:{proc-type {mi:MenuItem}:void}}:void
メソッド 継承 Visual: add-from-init-args, animate, change-cursor, clonable-appearance?, clone-appearance, clone-appearance-helper, find-graphical-ancestor, find-test-children, get-focus-manager, get-graphical-root, get-gui-path, get-gui-path-to-child, get-layout-context, get-origin-in-graphical-ancestor, get-origin-in-root, get-test-parent, get-text, get-top-left-in-ancestor, get-view, maybe-fire-attach-event, maybe-fire-detach-event, non-keyword-init-arg, note-attached, note-caret-position, note-detaching, on-drag-enter, on-drag-leave, on-pointer-enter, on-pointer-envelope-event, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, refresh-style-options, release-key-focus, request-draw, request-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, xy-offset-to
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 GuiEventTarget: handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-inspection, on-key-event, on-key-press, on-pointer-button, on-pointer-crossing, on-pointer-motion, on-pointer-press, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 OptionListInterface: add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, notify-option-children, option-change-notify, option-changed, option-lookup, option-lookup-here, option-propagate-notify, option-set?, propagate-option-change, register-options, 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




プロパティ詳細
always-show-selection? (アクセサ)
アクセサ public Menu.always-show-selection?:bool

ポインタが MenuPaneMenuBar の境界の外にあっても、メニュー アイテムの選択を表示するかどうかを示します。

導入: バージョン 6.0


event-delegate (アクセサ)
アクセサ public Menu.event-delegate:Graphic

MenuManager からのPointerEventKeyPressを取得する Graphic です。
既定では、self を返します。

説明

MenuManager.process-key-pressで、未修正のKeyPress をコントロールや UI オブジェクトが解釈したい場合は、 event-delegateでそれが起動されます。イベントが消費された場合、それ以上処理されません。
導入: バージョン 6.0


first-item (アクセサ)
アクセサ public Menu.first-item:#MenuItem

Menu に最初の MenuItem があればそれになります。

導入: バージョン 6.0


for-loop-count (アクセサ)
アクセサ public inline Menu.for-loop-count:int

Menu のグラフィカル要素数です。

説明

for ループ内で使用されます。その他の場合は size を使用します。
導入: バージョン 6.0


last-item (アクセサ)
アクセサ public Menu.last-item:#MenuItem

Menu の最後の MenuItem があれば、それになります。

導入: バージョン 6.0


popup-alongside? (アクセサ)
アクセサ public Menu.popup-alongside?:bool

サブメニューが、上や下ではなく、メニュー アイテムの横にポップアップされることを示す場合、true を返します。必要であれば、反対のふるまいにするためにサブクラスはオーバーライドします。

導入: バージョン 6.0


popup-context-visual (フィールド)
public-get protected-set Menu.popup-context-visual:#Visual =null

コンテキスト メニューが表示されたときにマウス ポインタの箇所にあるオブジェクトである Menuのコンテキスト を返します。

説明

この値は、MenuPane がポップアップされた時にのみ有効です。
導入: バージョン 6.0


size (アクセサ)
アクセサ public Menu.size:int

Menu のアイテム数を返します。

導入: バージョン 6.0


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

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

説明

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





メソッド詳細
add (メソッド)
public {Menu.add g:any, ...}:#Visual

Graphic 、一般的には SubMenuMenuActionMenu に追加します。

g: 追加するアイテム。g がまだ Graphic でない場合、gGraphic に強制変換され、その結果が追加されます。

注意事項

g が既に MenuButton に追加されている場合、最初に削除されその後再び追加されます。
3 つのキーワード引数が許可されています。

戻り値

追加された現在の 実際のGraphic です。追加されたアイテムが既に Graphic であった場合は、それが返されます。


add-at-index (メソッド)
protected {Menu.add-at-index g:#Graphic, where:any}:void

Graphicを設定されたインデックスで Menu に挿入します。

g: 追加する Graphic
where:
g が挿入される Menu 内の場所です。有効な場所の値は次の通りです: "default" 、 "last" 、 "first" 、または Menu.for-loop-count 以下の整数。 それ以外の場合は、エラーがスローされます。
"default" または "last" の場合は、gMenu の子のリストの最後に追加されます。"first" の場合は、g がリストの最初に挿入されます。

注意事項

このメソッドは、g を挿入した後に、Menu.note-item-added を呼び出します。
導入: バージョン 6.0


clear (メソッド)
public {Menu.clear}:void

Menu の全アイテムを削除します。

注意事項

このメソッドは、全てのアイテムを削除した後に、Menu.note-items-cleared を呼び出します。


get (メソッド)
public {Menu.get index:int}:Graphic

設定されたインデックスの Menu アイテムを返します。

index: 対象アイテムの位置。
導入: バージョン 6.0


get-access-items (メソッド)
public {Menu.get-access-items key:char}:#{Array-of MenuItem}

設定されたアクセス キーを使用するために、MenuItem を返します。

導入: バージョン 6.0


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

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

説明

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

注意事項

参照:canonical-test-value


item-after (メソッド)
public {Menu.item-after item:MenuItem, wrap?:bool = false}:#MenuItem

Menu で指定された MenuItem の後に MenuItem があれば、それになります。

item: MenuItem を参照します。
wrap?: true の場合、item の後ろに MenuItem が一つもない場合、最初の MenuItem が返されます。
導入: バージョン 6.0


item-before (メソッド)
public {Menu.item-before item:MenuItem, wrap?:bool = false}:#MenuItem

Menu で指定された MenuItem の前に MenuItem があれば、それになります。

item: MenuItem を参照します。
wrap?: true の場合、itemの後ろに MenuItem が一つもない場合、最後の MenuItem が返されます。
導入: バージョン 6.0


note-item-added (メソッド)
protected {Menu.note-item-added index:int}:void

新しい Graphic が追加される時に、Menu によって呼び出されるメソッドです。

index: Graphic が追加されたインデックスです。

オーバーライド

一般的に、このメソッドは追加のブック キーピングをするためにオーバーライドされる必要があります。既定では、何もしません。
導入: バージョン 6.0


note-item-removed (メソッド)
protected {Menu.note-item-removed index:int}:void

Graphic が削除される時に、Menu によって呼び出されるメソッドです。

index: Graphic が削除されたインデックスです。

オーバーライド

一般的に、このメソッドは追加のブック キーピングをするためにオーバーライドされる必要があります。既定では、何もしません。
導入: バージョン 6.0


note-items-cleared (メソッド)
protected {Menu.note-items-cleared}:void

Menu.clear が呼び出される時に、Menu によって呼び出されるメソッドです。

オーバーライド

一般的に、このメソッドは追加のブック キーピングをするためにオーバーライドされる必要があります。既定では、何もしません。
導入: バージョン 6.0


on-pointer-event (メソッド)
public {Menu.on-pointer-event e:PointerEvent}:void

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

e: 発生した PointerEvent

オーバーライド

このメソッドは、PointerEvent のスタティック ハンドラを提供するためにオーバーライドします。このメソッドをオーバーライドする標準的な方法は、以下のとおりです。

  1. 最初に、現在のオブジェクトの代わりに実行すべき演算を行います。
  2. 次に、{super.on-pointer-event e} を呼び出します。


(1) の演算でイベントが消費されると考えられる場合、イベントで GuiEvent.consume を呼び出してこれを示します。ただし、この場合でも上記の 2 つの手順をその後で実行してください。消費されていないイベントに対してのみ実行されるスタティック イベント ハンドラは、GuiEvent.consumed? をチェックして、イベントがすでに消費されているかどうかを調べることができます。

注意事項

すべてのスタティック イベント ハンドラ (on-... 形式の名前を持つ GuiEventTarget のメソッド) でこれと類似した動作が行われ、それらすべてにオーバーライドについての同じ注意事項が適用されます。


record-traversals (メソッド)
protected {Menu.record-traversals
mm:#MenuManager,
menu-action:MenuAction
}:void

起動された MenuAction へのトラバースの経路を記録します。

mm: 非 null の場合、Menu はトラバースのパス全体を記録しなければなりません。トラバースのパスは、MenuManager.walk-traversals メソッドを呼び出すことで保持されます。
menu-action: Action イベントが起動した MenuAction です。

説明

このメソッドは、自身で Action イベントが発生したことを通知するために MenuAction によって呼び出されます。
導入: バージョン 6.0


remove (メソッド)
public {Menu.remove g:Graphic, error-if-missing?:bool = true}:void

設定されたアイテムを MenuPane リストから削除します。

g: 削除する Graphic
error-if-missing?: 存在しない要素を削除しようとした場合、このメソッドが KeyNotFoundException をスローするかどうかを示します。 既定値は、trueです。

注意事項

このメソッドは、g を削除した後に、Menu.note-item-removed を呼び出します。
導入: バージョン 6.0


test-run (メソッド)
public {Menu.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 を呼び出します。


to-Iterator (メソッド)
public {Menu.to-Iterator}:{Iterator-of Graphic}

Menu のグラフィカル要素のイテレータを返します。

導入: バージョン 6.0


walk-items (メソッド)
public {Menu.walk-items f:{proc-type {MenuItem}:void}}:void

MenuItem の各 MenuBar でプロシージャを再帰的に呼び出します。

f: 呼び出すプロシージャ。このプロシージャは、MenuItem を引数として受け取り、void を返す必要があります。

説明

このメカニズムは再帰的なので、他の MenuItems に含まれる MenuItems もそれらに適用されるこのプロシージャを持っています。
導入: バージョン 6.0


walk-items-proc (メソッド)
protected {Menu.walk-items-proc f:{proc-type {mi:MenuItem}:void}}:void

MenuItem にある f を呼び出すことで、この Menu にある各 MenuItem を見てまわるヘルパー メソッドです。アイテムが SubMenu の場合、このメソッドは再帰的に呼びます。

導入: バージョン 6.0