GuiManager (クラス)
public sealed GuiManager {inherits GraphicOptionList, GuiEventTarget, ImplicitPointerGrabManager, Observer}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

GuiWindowEvent のディスパッチとユーザー操作の解釈を制御します。

説明

各プロセスに対して 1 つの GuiManager が作成され、KeyEventPointerEvent のディスパッチを制御します。また、GuiManager は、ユーザー操作を解釈し、たとえば、2 つのポインタ クリック操作が、複数クリック操作とみなされるほど接近して発生したときの判断や、特定のポインタ クリックが、Curl Inspector を起動する "インスペクション" 操作と見なされる適切な修飾キーで発生したかどうかの判断を行います。

GuiManager は、特にポインタのグラブとモーダル ループを管理します。また、オペレーティング システムのキーボード フォーカス (ホスト フォーカス) を持つ Window 内での変更を報告するイベントの最初の停止でもあります。

さらに、GuiManager は、プロセスの中断 / 再開中に View を非表示 / 表示します。

GuiManager へのポインタを取得するには、get-gui-manager を使用してください。

プロパティ
double-click-delay:複数クリック操作でのクリックとクリックの間の最大遅延をミリ秒で指定します。
非ローカル オプション public GuiManager.double-click-delay:int
double-click-hysteresis:ダブルクリック操作のクリックとクリックの間に、ポインタがどれだけの距離を移動できるかを指定します。
非ローカル オプション public GuiManager.double-click-hysteresis:Distance
menu-manager:現在のアクティブな MenuManager があればそれになります。
アクセサ public GuiManager.menu-manager:#MenuManager
セッター public GuiManager.menu-manager:#MenuManager
プロパティ 継承 GraphicOptionList: options
プロパティ 継承 EventTarget: event-handlers
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 OptionListInterface: option-parent, option-register-proc, options-present-here, registered-option-keys, style-options

クラス プロシージャ
internal-node-modal-state-proc:
public {GuiManager.internal-node-modal-state-proc state:bool}:void

メソッド
change-pointer-grab:既存の明示的なポインタ グラブを新しいグラブ オブジェクトに切り替えます。
public {GuiManager.change-pointer-grab from:Visual, to:Visual}:void
continue-implicit-pointer-grab:暗黙的なポインタのグラブのグラブ オブジェクトを指定します。
public {GuiManager.continue-implicit-pointer-grab v:Visual}:void
grab-pointer:明示的なポインタのグラブを初期化します。
public {GuiManager.grab-pointer v:Visual}:void
grabbed-object?:Visual がポインタをつかんだかどうかを確認します。
public {GuiManager.grabbed-object? v:Visual}:bool
handle-event:適切な EventHandlers を呼び出してイベントを処理します。
public {GuiManager.handle-event e:Event}:void
handle-observer-message:監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。
protected {GuiManager.handle-observer-message
sender:Observable,
message:any
}:void
on-cancel-mode:CancelMode イベントのスタティック イベント ハンドラ
public {GuiManager.on-cancel-mode e:CancelMode}:void
on-drag-enter:DragEnter イベントのスタティック イベント ハンドラ
public {GuiManager.on-drag-enter e:DragEnter}:void
on-drag-leave:DragLeave イベントのスタティック イベント ハンドラ
public {GuiManager.on-drag-leave e:DragLeave}:void
on-drag-over:DragOver イベントのスタティック イベント ハンドラ
public {GuiManager.on-drag-over e:DragOver}:void
on-drop:Drop イベントのスタティック イベント ハンドラ
public {GuiManager.on-drop e:Drop}:void
on-focus-in:FocusIn イベントのスタティック イベント ハンドラ
public {GuiManager.on-focus-in e:FocusIn}:void
on-focus-out:FocusOut イベントのスタティック イベント ハンドラ
public {GuiManager.on-focus-out e:FocusOut}:void
on-input-method-event:InputMethodEvent イベントのスタティック イベント ハンドラ
public {GuiManager.on-input-method-event e:InputMethodEvent}:void
on-key-event:KeyEventスタティック イベント ハンドラ
public {GuiManager.on-key-event e:KeyEvent}:void
on-pointer-crossing:PointerCrossing イベントのスタティック イベント ハンドラ
public {GuiManager.on-pointer-crossing e:PointerCrossing}:void
on-pointer-event:PointerEventスタティック イベント ハンドラ
public {GuiManager.on-pointer-event e:PointerEvent}:void
on-pointer-motion:PointerMotion イベントのスタティック イベント ハンドラ
public {GuiManager.on-pointer-motion e:PointerMotion}:void
on-pointer-press:PointerPress イベントのスタティック イベント ハンドラ
public {GuiManager.on-pointer-press e:PointerPress}:void
on-pointer-release:PointerRelease イベントのスタティック イベント ハンドラ
public {GuiManager.on-pointer-release e:PointerRelease}:void
on-window-close:WindowClose イベントのスタティック イベント ハンドラ
public {GuiManager.on-window-close e:WindowClose}:void
release-implicit-pointer-grab:暗黙的なポインタ グラブを終了します。
public {GuiManager.release-implicit-pointer-grab}:void
release-pointer-grab:ポインタ グラブをキャンセルします。
public {GuiManager.release-pointer-grab v:Visual}:void
report-drag-drop-effect:ドラッグまたはドロップ イベントを処理した後にこのルーチンを呼び出します。ドラッグ アンド ドロップ操作の結果を GuiManager に示します。
public {GuiManager.report-drag-drop-effect effect:DragEffect}:void
restore-cursors:GuiManager.set-busy-cursor によって設定されたカーソルを元の状態に戻します。
public {GuiManager.restore-cursors saved-cursors:#SavedCursor}:void
ring-bell:ベルを鳴らす、または、ベルを鳴らすための代替アクションとして宣言済みのアクションを実行します。
public {GuiManager.ring-bell}:void
set-busy-cursor:既知のすべての View に対して示されたビジー カーソルを設定します。
public {GuiManager.set-busy-cursor
cursor:Cursor = cursor-wait
}:SavedCursor
start-drag-drop:ドラッグ アンド ドロップ操作を開始します。
public {GuiManager.start-drag-drop
e:DragStarted,
target:Visual,
effect:#DragEffect = null,
dragee:any = null
}:void
メソッド 継承 GuiEventTarget: handle-delegate-event, on-action, 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-end-composition-event, on-focus-event, 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-inspection, on-key-press, on-pointer-button, on-pointer-enter, on-pointer-envelope-event, on-pointer-leave, 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, remove-event-handlers-for-event-class
メソッド 継承 Observer: observe, stop-observing
メソッド 継承 GraphicOptions: any-to-Distance, get-display-context
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, remove-event-handler, verify-event
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, non-keyword-init-arg, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 BasicEventTarget: enqueue-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
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize




プロパティ詳細
double-click-delay (非ローカル オプション)
public GuiManager.double-click-delay:int

複数クリック操作でのクリックとクリックの間の最大遅延をミリ秒で指定します。

説明

このオプションは、一連の操作での 2 つのクリックが同じ複数クリック操作に属するものかどうかを判断する GuiManager の動作に影響します。PointerRelease と その後の PointerPress との時間間隔がこのオプションの値で指定した数値 (ミリ秒) より大きい場合、2 番目のクリックは、以前行ったクリックと同じ複数クリック操作に属するものとは見なされません。


double-click-hysteresis (非ローカル オプション)
public GuiManager.double-click-hysteresis:Distance

ダブルクリック操作のクリックとクリックの間に、ポインタがどれだけの距離を移動できるかを指定します。

説明

このオプションは、一連の操作での複数のポインタ クリックが複数のクリック操作を構成するかどうかを判断する GuiManager の動作に影響します。2 つのクリック間でこの距離以上、ポインタが移動していると、クリックは、同じ複数クリック操作に含まれるものとして見なされません。


menu-manager (アクセサ)
アクセサ public GuiManager.menu-manager:#MenuManager
セッター public GuiManager.menu-manager:#MenuManager

現在のアクティブな MenuManager があればそれになります。

導入: バージョン 6.0




クラス プロシージャ詳細
internal-node-modal-state-proc (クラスプロシージャ)
public {GuiManager.internal-node-modal-state-proc state:bool}:void
""



メソッド詳細
change-pointer-grab (メソッド)
public {GuiManager.change-pointer-grab from:Visual, to:Visual}:void

既存の明示的なポインタ グラブを新しいグラブ オブジェクトに切り替えます。

from: 古いグラブ オブジェクト。
new: 新しいグラブ オブジェクト。

説明

直後に GuiManager.grab-pointer が続く GuiManager.release-pointer-grab のように動作します。ただし、ポインタ グラブが有効でないと見なされる期間がないという点で異なります。from が現在のポインタ グラブ オブジェクトでない場合、このメソッドを呼び出しても効果はありません。現在有効なポインタ グラブが暗黙的なポインタ グラブである場合、ポインタ グラブは、グラブ オブジェクトとして to を持つ明示的なポインタ グラブに変換されます。


continue-implicit-pointer-grab (メソッド)
public {GuiManager.continue-implicit-pointer-grab v:Visual}:void

暗黙的なポインタのグラブのグラブ オブジェクトを指定します。

v: グラブ オブジェクトになるオブジェクト。

説明

暗黙的なポインタのグラブが発生した場合、そのグラブ オブジェクトは変更され、v になります。発生しない場合、この呼び出しの効果はありません。

プログラミング注意事項

このメソッドは、PointerPress.continue-implicit-pointer-grabDragStarted.continue-implicit-pointer-grab から呼び出されます。


grab-pointer (メソッド)
public {GuiManager.grab-pointer v:Visual}:void

明示的なポインタのグラブを初期化します。

v: グラブ オブジェクトになる Visual

説明

暗黙的なポインタ グラブが有効な場合、そのポインタ グラブは、明示的なポインタ グラブに変換され、グラブ オブジェクトが v に設定されます。明示的なポインタ グラブが有効である場合、そのグラブ オブジェクトは v になるように変更されます。


grabbed-object? (メソッド)
public {GuiManager.grabbed-object? v:Visual}:bool

Visual がポインタをつかんだかどうかを確認します。

v: ポインタ グラブのテスト用の Visual です。
導入: バージョン 6.0


handle-event (メソッド)
public {GuiManager.handle-event e:Event}:void

適切な EventHandlers を呼び出してイベントを処理します。

説明

GuiEvent.consumed? プロパティをクリアして、所定のターゲット オブジェクトの適切な イベント ハンドラを呼び出します。ターゲットのダイナミック イベント ハンドラ (GuiEventTarget.add-event-handlerによって追加されたもの) が先に呼び出されます。このとき、最後に追加されたハンドラから最も以前に追加されたハンドラの順で呼び出されます。また、GuiEvent のほとんどのサブクラスは、スタティック イベント ハンドラ (GuiEventTarget.on-pointer-event など) を呼び出します。self がこれらの GuiEvent 型の 1 つである場合、適切なスタティック ハンドラをダイナミック ハンドラの後に呼び出します。

オーバーライド

通常は、オーバーライドされません。スタティック イベント ハンドラ名を指定するには、このメソッドではなく GuiEvent.fire-methods をオーバーライドしてください。


handle-observer-message (メソッド)
protected {GuiManager.handle-observer-message
sender:Observable,
message:any
}:void

監視対象のオブジェクトがメッセージを送信するときにこのメソッドを呼び出します。Observer はこのメソッドを実装して、変更が発生したときに処理を実行する必要があります。

sender: 変更があった Observable オブジェクトです。
message: これは、Observer からの変更に関する詳細情報が含まれています。詳細情報がない場合は NULL になります。


on-cancel-mode (メソッド)
public {GuiManager.on-cancel-mode e:CancelMode}:void

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

説明

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

オーバーライド

既定のメソッド GuiEventTarget.on-cancel-mode は何もしません。
導入: バージョン 6.0


on-drag-enter (メソッド)
public {GuiManager.on-drag-enter e:DragEnter}:void

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

説明

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


on-drag-leave (メソッド)
public {GuiManager.on-drag-leave e:DragLeave}:void

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

説明

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


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

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

説明

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


on-drop (メソッド)
public {GuiManager.on-drop e:Drop}:void

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

説明

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


on-focus-in (メソッド)
public {GuiManager.on-focus-in e:FocusIn}:void

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

説明

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


on-focus-out (メソッド)
public {GuiManager.on-focus-out e:FocusOut}:void

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

説明

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


on-input-method-event (メソッド)
public {GuiManager.on-input-method-event e:InputMethodEvent}:void

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

説明

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


on-key-event (メソッド)
public {GuiManager.on-key-event e:KeyEvent}:void

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

説明

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


on-pointer-crossing (メソッド)
public {GuiManager.on-pointer-crossing e:PointerCrossing}:void

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

説明

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


on-pointer-event (メソッド)
public {GuiManager.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 のメソッド) でこれと類似した動作が行われ、それらすべてにオーバーライドについての同じ注意事項が適用されます。


on-pointer-motion (メソッド)
public {GuiManager.on-pointer-motion e:PointerMotion}:void

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

説明

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


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

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

説明

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


on-pointer-release (メソッド)
public {GuiManager.on-pointer-release e:PointerRelease}:void

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

説明

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


on-window-close (メソッド)
public {GuiManager.on-window-close e:WindowClose}:void

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



release-implicit-pointer-grab (メソッド)
public {GuiManager.release-implicit-pointer-grab}:void

暗黙的なポインタ グラブを終了します。

説明

暗黙的なポインタのグラブが実行されている場合は、その操作が終了されます。明示的なポインタのグラブが実行されている場合、またはポインタのグラブが実行されていない場合は、この呼び出しは効果がありません。

プログラミング注意事項

このメソッドは、PointerPress.release-implicit-pointer-grab および DragStarted.release-implicit-pointer-grab から呼び出されます。


release-pointer-grab (メソッド)
public {GuiManager.release-pointer-grab v:Visual}:void

ポインタ グラブをキャンセルします。

v: キャンセルするポインタ グラブを持つオブジェクト。

説明

v が現在そのポインタをグラブしているオブジェクトでなければ、効果はありません。


report-drag-drop-effect (メソッド)
public {GuiManager.report-drag-drop-effect effect:DragEffect}:void

ドラッグまたはドロップ イベントを処理した後にこのルーチンを呼び出します。ドラッグ アンド ドロップ操作の結果を GuiManager に示します。

effect: レポートする DragEffect

注意事項

DragOver.will-accept-drop? メソッドまたは Drop.accept-drop メソッドを呼び出す場合、これらのメソッドがこのメソッドを呼び出すので、あえてこのメソッドを呼び出す必要はありません。


restore-cursors (メソッド)
public {GuiManager.restore-cursors saved-cursors:#SavedCursor}:void

GuiManager.set-busy-cursor によって設定されたカーソルを元の状態に戻します。

プログラミング注意事項

GuiManager.set-busy-cursor から戻された各 SavedCursor に対し、このメソッドを一回呼び出してください。


ring-bell (メソッド)
public {GuiManager.ring-bell}:void

ベルを鳴らす、または、ベルを鳴らすための代替アクションとして宣言済みのアクションを実行します。



set-busy-cursor (メソッド)
public {GuiManager.set-busy-cursor
cursor:Cursor = cursor-wait
}:SavedCursor

既知のすべての View に対して示されたビジー カーソルを設定します。

説明

View の直前のオーバーライド カーソルを保存し、後で元に戻せるようにします。
cursor: 設定する Cursor

プログラミング注意事項

このメソッドがパブリックであっても、with-busy-cursor の使用を検討してください。with-busy-cursor を使用すると、復帰を自動的に処理します。それ以外の場合、必ず GuiManager.restore-cursors を呼び出して、ビジー カーソルの設定の効果を解放してください。


start-drag-drop (メソッド)
public {GuiManager.start-drag-drop
e:DragStarted,
target:Visual,
effect:#DragEffect = null,
dragee:any = null
}:void

ドラッグ アンド ドロップ操作を開始します。

説明

DragStarted イベントを受け取ったときに、グラフィックがこのメソッドを呼び出す場合があります。
e: DragStarted イベント。
target: ドラッグ ターゲット。
effect: ソース ドラッグ対象がサポート可能な効果を記述する DragEffect。既定で、すべてを使用できます。
dragee: dragee が Graphic の場合はドラッグされます。Graphic の配列の場合、この配列内のすべての要素がドラッグされます。null か未指定の場合、dragees は FocusManager のアクティブな選択コンテキストから取得されます。