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

GUIとのインタラクション

このチュートリアルでは,実行中のGUIのGUIObject式が,どのようにインターフェースを形成するウィジェットのハンドルになるかについて説明する.これによってGUIについてのランタイム情報が得られる.これはGUIがどのように作用するか,またこれをどのように開発するかについて学ぶ際に役に立つ機能である.

GUIの情報

GUIObjectを使うと,一意的な参照文字列名でどの特別なウィジェットが登録されているかが分かる.これらの名前を使って,これらのウィジェットの情報に変更を加えたり,さらに特性,メソッド関数,これらを制御するために存在するイベント等のメンバー情報を探したりすることができる.ウィジェット特性に関するその他の情報や名前は「ウィジェットの基礎」と「定義構築ブロック」のセクションに記載してある.

これでモードレスセッションで作られたインターフェースと関連したGUIObjectにアクセスする.

ユーティリティのGUIScreenShot関数を呼び出すことでインターフェースの動的なスナップショットを簡単に撮ることができる.

一意的な文字列名で登録されたインターフェース内のすべてのウィジェットのリストを得,この参照名でこれらのウィジェットを参照することができる.

これは,"inputField"という名前で登録されたウィジェットに使うことができるすべての特性名を求める.PropertyValue[{"inputField","propertyName"}]およびSetPropertyValue[{"inputField","propertyName"},newValue]を使ってこれらの値のクエリを行い,設定することができる.

また,InvokeMethod[{"inputField","methodName"},arguments]でこのウィジェットに実行できるどんなメソッドの名前があるかを求め,文字列パターンを使ってこれらの名前にフィルタを掛けることさえもできる.

これに加え,BindEvent[{"inputField","eventName"},Script[code]]を使って,イベントが起るたびにWolfram言語コードを実行するために何というイベント名が使えるかを調べることもできる.