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

PointerPress および PointerRelease などの、ポインタ ボタン操作に関連するイベントのスーパークラス。

注意事項

GuiEventTarget.on-pointer-button は、PointerButtonEventスタティック イベント ハンドラです。

コンストラクタ
default:新しい PointerButtonEvent オブジェクトを作成します。
コンストラクタ public {PointerButtonEvent.default}

プロパティ
button:このイベントのトリガにより状態が変更したマウス ボタンの番号。

ポインタ デバイスの論理左ボタン、論理中央ボタン、論理右ボタンは、それぞれ left-buttonmiddle-buttonright-button と呼ばれることがあります。
フィールド public PointerButtonEvent.button:int
click-count:multiple-click 操作におけるクリックの回数を示します。
フィールド public PointerButtonEvent.click-count:int =0
プロパティ 継承 PointerEvent: can-end-implicit-pointer-grab?, implicit-pointer-grab-manager, nonevent?
プロパティ 継承 GuiInputEvent: accel?, alt?, command?, ctrl?, has-coordinates?, menu?, shift?, state-mask, test-recorded?, x, y
プロパティ 継承 GuiWindowEvent: event-time, to-DragEventInfo
プロパティ 継承 GuiEvent: consumed?

メソッド
clear-state:このメソッドは GuiEvent オブジェクトの状態をクリアするために gui-toolkit で呼び出されます。
public {PointerButtonEvent.clear-state}:void
fire-methods:この Eventスタティック イベント ハンドラを起動します。
protected {PointerButtonEvent.fire-methods target:GuiEventTarget}:void
メソッド 継承 GuiInputEvent: modifiers-match?, shift-xy
メソッド 継承 GuiWindowEvent: set-view
メソッド 継承 GuiEvent: consume
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {PointerButtonEvent.default}

新しい PointerButtonEvent オブジェクトを作成します。




プロパティ詳細
button (フィールド)
public PointerButtonEvent.button:int

このイベントのトリガにより状態が変更したマウス ボタンの番号。

ポインタ デバイスの論理左ボタン、論理中央ボタン、論理右ボタンは、それぞれ left-buttonmiddle-buttonright-button と呼ばれることがあります。

マウスのボタンの番号を確認する簡単なテスターを次に示します。 RectangleGraphic 内でポインタをクリックしてから、 RectangleGraphic の右側に表示されたテキストを参照します。


{value
    let f:Frame = {Frame ""}
    let rect:RectangleGraphic =
        {RectangleGraphic
            width=1in, height=0.5in,
            {on e:PointerPress do
                {f.add 
                    {format "button = %s, click-count = %s",
                        e.button, e.click-count
                    },
                    replace?=true
                }
            },
            {on e:PointerRelease do
                || Consume the pointer release to avoid getting a
                || right click menu.
                {if e.button == right-button then
                    {e.consume}
                }
            }
        }
    {HBox spacing=12pt, valign="center", rect, f}}


click-count (フィールド)
public PointerButtonEvent.click-count:int =0

multiple-click 操作におけるクリックの回数を示します。

説明

PointerPress イベントでは、このフィールドは現在のクリックを含めてポインタ クリックが発生した回数を数えます。時間的に十分近い場合は multiple-click 操作の一部とみなされます。したがって、ダブル クリック操作では、2 つの PointerPress イベントが発生し、最初のイベントは 1 の click-count、2 番目のイベントは 2 の click-count となります。click-count フィールドは、PointerRelease イベントでは設定されません。

注意事項

コードで複数の click-count を使用して PointerPress イベントを作成し、これを発生させることは可能ですが、該当する PointerPress の回数に応じてターゲットが動作するという必要条件はありません。





メソッド詳細
clear-state (メソッド)
public {PointerButtonEvent.clear-state}:void

このメソッドは GuiEvent オブジェクトの状態をクリアするために gui-toolkit で呼び出されます。

注意事項

既定の実装では GuiEvent.consumed? フィールドを false に設定します。

オーバーライド

サブクラスでは、追加されるすべての状態がクリアされるようこのメソッドをオーバーライドしてください。また、基本クラスでクリアすべきすべての状態がクリアされるように、スーパー実装を呼び出す必要もあります。


fire-methods (メソッド)
protected {PointerButtonEvent.fire-methods target:GuiEventTarget}:void

この Eventスタティック イベント ハンドラを起動します。

target: この Event を処理する GuiEventTarget

プログラミング注意事項

このメソッドは、この Eventスタティック イベント ハンドラを呼び出すときに、GuiEventTarget.handle-event によって呼び出されます。このメソッドは、適切なスタティック イベント ハンドラがすべて呼び出された後に返します。

オーバーライド

このメソッドは、それ自身のスタティック イベント ハンドラに関連付けられた Event のすべてのサブクラスでオーバーライドされます。E クラスで定義されたオーバーライド メソッドは、次のテンプレートに従う必要があります。

{method protected {fire-methods target:GuiEventTarget}:void
    {target.on-E self}
    {super.fire-methods target}
}


ここで、on-EE クラスに関連付けられたスタティック イベント ハンドラ名です。fire-methods 内のメソッド呼び出しは、Curl 言語のスタティック イベント ハンドラ呼び出し順位の規則 (最も用途の特定されたものから最も一般的な用途のもの) に従って順序付ける必要があります。