FocusManager (クラス)
public abstract sealed FocusManager {inherits CommandContext}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

キーボード フォーカスと現在の選択のセットを管理します。

説明

View は、1 つの FocusManager を含みます。つまり、Curl アプリケーションでは、各 View に関連して 1 つの FocusManager が存在します。View がホスト フォーカスを持つとき (多くは、対応するウィンドウのタイトルバーをハイライトすることにより示されます)、オペレーティング システムはキーボード イベントをその View に転送し、さらに FocusManager を使用して、キーボード イベントをその FocusManager の現在のキーボード フォーカス オブジェクトに転送します。一般的に、ユーザーのコードが FocusManager の focus-management メソッドを直接呼び出す必要はありません。  その代わり、Visual.request-key-focusVisual.release-key-focus を呼び出す必要があります。

プロパティ
active-selection-context:現在アクティブな選択コンテキスト (存在する場合)。
アクセサ public abstract FocusManager.active-selection-context:#SelectionContext
セッター public abstract FocusManager.active-selection-context:#SelectionContext
have-keyboard-focus?:この FocusManager がキーボード フォーカスを取得しているかどうかを示します。
アクセサ public abstract FocusManager.have-keyboard-focus?:bool
keyboard-focus-target:範囲内にある、フォーカスを持つ、GuiEventTarget
フィールド public-get protected-set FocusManager.keyboard-focus-target:#GuiEventTarget
next-keyboard-focus-target:キーボード フォーカスを受け取る GuiEventTarget
フィールド public-get protected-set FocusManager.next-keyboard-focus-target:#GuiEventTarget
standard-accelerators?:標準のアクセラレータが設定されるかどうかを規定します。
フィールド public FocusManager.standard-accelerators?:bool
プロパティ 継承 CommandContext: commands

メソッド
add-key-accel:KeyAccelFocusManager のキー アクセラレータ テーブルに追加します。
public abstract {FocusManager.add-key-accel c:KeyAccel}:void
fire-key-accel:指定された KeyPress に対応する KeyAccel を発生させます。
public abstract {FocusManager.fire-key-accel e:KeyPress}:bool
handle-alt-key-press:このメソッドは、raw Alt キーが押されたときに呼び出されます。
public abstract {FocusManager.handle-alt-key-press}:void
handle-alt-key-release:このメソッドは raw Alt キーが離されたときに呼び出されます。
public abstract {FocusManager.handle-alt-key-release}:void
has-menu-focus?:BaseMenuBar がメニュー フォーカスを持っているかどうかを示します。
public abstract {FocusManager.has-menu-focus? mb:BaseMenuBar}:bool
manager-release-key-focus:現在この FocusManager のキーボード フォーカスを持つオブジェクトから、キーボード フォーカスを削除するよう要求します。
public abstract {FocusManager.manager-release-key-focus
target:#GuiEventTarget = null
}:void
manager-request-key-focus:このマネージャのキーボード フォーカス オブジェクトの変更を要求します。
public abstract {FocusManager.manager-request-key-focus}:void
remove-key-accel:FocusManager の アクセラレータ テーブルから (存在する場合)、KeyAccel を削除します。
public abstract {FocusManager.remove-key-accel c:KeyAccel}:void
request-menu-focus:ユーザーが Alt キーだけを押した時に通知されるこの FocusManagerBaseMenuBar を設定します。
public abstract {FocusManager.request-menu-focus mb:BaseMenuBar}:void
メソッド 継承 CommandContext: add-command, command-enabled?, command-supported?, create-command, do-command, get-command, request-update-commands
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize




プロパティ詳細
active-selection-context (アクセサ)
アクセサ public abstract FocusManager.active-selection-context:#SelectionContext
セッター public abstract FocusManager.active-selection-context:#SelectionContext

現在アクティブな選択コンテキスト (存在する場合)。

説明

この選択コンテキストはコマンドへ送られることになりますが、ユーザーに対しては適切なアフォーダンスを表示する必要があります。


have-keyboard-focus? (アクセサ)
アクセサ public abstract FocusManager.have-keyboard-focus?:bool

この FocusManager がキーボード フォーカスを取得しているかどうかを示します。

説明

フォーカスがある FocusManager の管轄で GuiEventTarget がある場合があります。一方で、FocusManager 自体にフォーカスがある場合もあります。これは、KeyEvent を与えるオブジェクトがなければ、ターゲットに送るものがないからです。この値は、KeyEvent が発生した場合、オブジェクトはそれが送られてくると信じていることを意味します。一般的には、これは、FocusManager がホスト システムのキー フォーカスを取得していることを意味します。つまり、キーが押されたとき、FocusManager へ通知されます。


keyboard-focus-target (フィールド)
public-get protected-set FocusManager.keyboard-focus-target:#GuiEventTarget

範囲内にある、フォーカスを持つ、GuiEventTarget

説明

元々このフォーカス マネージャーで発生した、転送された KeyEvent。 このプロパティを変更するには、FocusManager.manager-request-key-focus および FocusManager.manager-release-key-focus を参照してください。


next-keyboard-focus-target (フィールド)
public-get protected-set FocusManager.next-keyboard-focus-target:#GuiEventTarget

キーボード フォーカスを受け取る GuiEventTarget

説明

同じ FocusManager 内で、あるオブジェクトから別のオブジェクトにキーボード フォーカスが移動すると、このフィールドは FocusManager.manager-request-key-focus によってフォーカスの移動先のオブジェクトに設定されます。前にフォーカスを持っていたオブジェクトで FocusOut が発生すると、FocusManager.keyboard-focus-target は新しいオブジェクトに設定され、FocusManager.next-keyboard-focus-targetnull に設定されます。


standard-accelerators? (フィールド)
public FocusManager.standard-accelerators?:bool

標準のアクセラレータが設定されるかどうかを規定します。

説明

self.standard-accelerators? が true の場合、キーボード アクセラレータがこの FocusManager によって認識されます。
Win32 や Linux プラットフォーム上の FocusManager によって認識されるキーボード アクセラレータは、切り取り (Ctrl+X)、コピー (Ctrl+C)、貼り付け (Ctrl+V)、すべて選択 (Ctrl+A)、および検索 (Ctrl+F) です。
Mac プラットフォーム上の FocusManager によって認識されるキーボード アクセラレータは、切り取り (Command-X)、コピー (Command-C)、貼り付け (Command-V)、すべて選択 (Command-A)、および検索 (Command-F) です。





メソッド詳細
add-key-accel (メソッド)
public abstract {FocusManager.add-key-accel c:KeyAccel}:void

KeyAccelFocusManager のキー アクセラレータ テーブルに追加します。



fire-key-accel (メソッド)
public abstract {FocusManager.fire-key-accel e:KeyPress}:bool

指定された KeyPress に対応する KeyAccel を発生させます。

e: KeyAccel を発生させる KeyPress


handle-alt-key-press (メソッド)
public abstract {FocusManager.handle-alt-key-press}:void

このメソッドは、raw Alt キーが押されたときに呼び出されます。



handle-alt-key-release (メソッド)
public abstract {FocusManager.handle-alt-key-release}:void

このメソッドは raw Alt キーが離されたときに呼び出されます。



has-menu-focus? (メソッド)
public abstract {FocusManager.has-menu-focus? mb:BaseMenuBar}:bool

BaseMenuBar がメニュー フォーカスを持っているかどうかを示します。

mb: クエリする BaseMenuBar です。

注意事項

FocusManager.request-menu-focus も参照してください。
導入: バージョン 6.0


manager-release-key-focus (メソッド)
public abstract {FocusManager.manager-release-key-focus
target:#GuiEventTarget = null
}:void

現在この FocusManager のキーボード フォーカスを持つオブジェクトから、キーボード フォーカスを削除するよう要求します。

target: 削除するキー フォーカスのターゲットを指定します。

targetnull の場合 (既定値)、キーボード フォーカスを持つオブジェクトによらず、キーボード フォーカスは削除されます。

target が NULL でない場合、現在キーボード フォーカスを持つオブジェクトが target と同じである場合にのみキーボード フォーカスは削除されます。

注意事項

このメソッドの呼び出しは、単に、キーボード フォーカスの削除を要求します。キーボード フォーカスの削除は、すぐに実行される必要はありません。キーボード フォーカスが削除されると、以前にこの FocusManager のキーボード フォーカスを持っていたオブジェクトをターゲットとする (そのようなオブジェクトが存在する場合) FocusOut イベントが発生します。


manager-request-key-focus (メソッド)
public abstract {FocusManager.manager-request-key-focus}:void

このマネージャのキーボード フォーカス オブジェクトの変更を要求します。

t: FocusManager がキー フォーカスの変更先として要求されたオブジェクト。

注意事項

このメソッドの呼び出しは、単に、オブジェクト t に対するキーボード フォーカスを要求します。フォーカスは、すぐに (または永遠に) 与えられる必要はありません。t が実際にキーボード フォーカスを受けた場合、それをターゲットとする FocusIn イベントが発生します。その後、キーボードの操作から KeyEvent 結果を受け取ります。


remove-key-accel (メソッド)
public abstract {FocusManager.remove-key-accel c:KeyAccel}:void

FocusManager の アクセラレータ テーブルから (存在する場合)、KeyAccel を削除します。



request-menu-focus (メソッド)
public abstract {FocusManager.request-menu-focus mb:BaseMenuBar}:void

ユーザーが Alt キーだけを押した時に通知されるこの FocusManagerBaseMenuBar を設定します。

mb: Alt キーだけが押されると通知される BaseMenuBar です。

説明

BaseMenuBar.can-take-menu-focus?false の場合、このメソッドは何もしません。