GUIKit`
GUIKit`

BindEvent

GUIKitで提供されていた機能は,組込みのWolfram言語にネイティブのインターフェース構造およびコントロール関数で利用できるようになった.

BindEvent[name|{target,name}|{target,name,filter},object|script|call,]

イベントをひとつのオブジェクトからリスナまたはスクリプトにバインドする.

詳細とオプション

  • BindEventを使用する際は,まずNeeds["GUIKit`"]を使って GUIKit をロードする必要がある.
  • BindEventは,ターゲットのウィジェットでイベントがトリガされたときにスクリプトコードまたはその他のメソッドの呼出しが実行されるようにする.
  • BindEventは,バインディングのリクエストの結果として作られたオブジェクトインスタンスリスナを返す.
  • BindEventは一般に,アクションが起ったときにWolfram言語に評価されるScriptブロックとともに使われる.
  • target が指定されていなければ,ラッピングコンテキストのWidgetがターゲットになる.
  • BindEvent[ name|{target,name}|{target,name,filter},Script[]]の場合,イベント name が起ったときにスクリプトが処理される.
  • BindEvent[ name|{target,name}|{target,name,filter},WidgetReference[listener]]では,WidgetReferenceは適切なリスナインターフェースを実装するオブジェクトに帰着しなければならない.
  • filter が指定されている場合,そのフィルタにマッチするイベントのみによってスクリプトの処理が起る.一般に,フィルタは(WindowEventのように)複数のメソッドを持つリスナタイプにおけるメソッドを指定するのに使われる.
  • イベント名の"propertyChange"および"vetoableChange"に関しては,フィルタはそれについてバインディングを行うべき特性名である.
  • BindEventアクションがトリガされScriptコードがが実行されるたびに,現行イベントに関連する特別に登録されたオブジェクトがイベントリスナのコールバックに関連する引数の数によって"#""#1""#2"...の名前で登録される.ほとんどすべてのイベントが少なくとも1つのオブジェクトをこのアクションと関連するイベントオブジェクトを表す"#"として登録する.一般に,"x""y"のようなマウス位置の特性を与えるマウスイベントの場合のようにイベントオブジェクトの特性を求めることになる.
  • まれに,特にユーザインターフェースが例えばCancelボタンによって実行中の評価を放棄しようとしている場合にカーネルでの評価を必要としないコードの実行をトリガするのがよいことがある.これは,BindEvent["action",InvokeMethod[{"ScriptEvaluator","abort"}]]を使って特別に登録された"ScriptEvaluator"として参照される評価子オブジェクトにInvokeMethodリクエストを関連付けることで行われる.このフレームワークは,ユーザがプログラム的に現行のWolfram言語の評価を放棄できるように,このような参照が常に任意のユーザインターフェースについて定義されるようにする.
  • 使用可能なオプション:
  • NameNoneオブジェクトレジストリ中の新たなリスナを登録する名前
  • Name -> "myName"WidgetReference["myName"]を使ってオブジェクトレジストリの新規リスナを将来的な検索用に登録する.このような命名と検索は,基本的にバインディングリスナを削除する方法を与えるもので,バインドされたウィジェットからの動的なリスナの追加・削除に便利である.

例題

  (1)

スクリプトをボタン"Action"イベントにバインドする:

スクリプトを,マウスイベントの"x""y" の特性値を出力する"MouseMoved"イベントにバインドする:

Wolfram Research (2007), BindEvent, Wolfram言語関数, https://reference.wolfram.com/language/GUIKit/ref/BindEvent.html.

テキスト

Wolfram Research (2007), BindEvent, Wolfram言語関数, https://reference.wolfram.com/language/GUIKit/ref/BindEvent.html.

CMS

Wolfram Language. 2007. "BindEvent." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/GUIKit/ref/BindEvent.html.

APA

Wolfram Language. (2007). BindEvent. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/GUIKit/ref/BindEvent.html

BibTeX

@misc{reference.wolfram_2024_bindevent, author="Wolfram Research", title="{BindEvent}", year="2007", howpublished="\url{https://reference.wolfram.com/language/GUIKit/ref/BindEvent.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_bindevent, organization={Wolfram Research}, title={BindEvent}, year={2007}, url={https://reference.wolfram.com/language/GUIKit/ref/BindEvent.html}, note=[Accessed: 21-November-2024 ]}