アクション式は、選択されたタイルを示す変数にアクセスしたり、アクションが起こったときのタイルの状態を記述できます。
変数名は予約されており、その値は読み込み専用で、アクション式の中でアクセスしなければ意味を持ちません。
アクション式の変数 |
|
---|---|
変 数 |
説 明 |
$key |
選択されたタイルの key 属性。 この変数は、すべてのアクションで有効です。 |
$value |
編集ボックスからの文字列、またはトグルからの "1" や "0" など、タイルの現在値の文字列形式。 この変数は、すべてのアクションで有効です。 タイルがリスト ボックス(またはポップアップ リスト)で、どの項目も選択されていない場合、変数 $value は nil になります。 |
$data |
client_data_tile を使用して new_dialog のすぐ後で設定した、アプリケーションが管理するデータ(存在する場合)。 この変数はすべてのアクションで有効ですが、アプリケーションが client_data_tile を呼び出すことによってその変数をまだ初期化していない場合は、$data は意味を持ちません。 |
$reason |
そのアクションの原因となったユーザの操作を示す理由コード。edit_box、list_box、image_button、slider タイルで使用します。 この変数は、アクションが起こった理由を示します。その値はどの種類のアクションにも設定されますが、アクションが edit_box、list_box、image_button、slider タイルに関連するときだけ検査する必要があります。 |
edit1 がテキスト ボックスの場合、テキスト ボックスから出るときに、次の action_tile 呼び出しのアクション式が評価されます。
(action_tile "edit1" "(setq ns $value)")
$value にはユーザが入力した文字列が格納されており、この式によって変数 ns に $value の値が格納されます。
次の例は、選択されたタイルの名前を保存し、プログラムがそのタイルを参照できるようにします。
(action_tile "edit1" "(setq newtile $key)")
変数 newtile には選択されたタイルのキー名、この場合は "edit1" が代入されます。変数 $key は、複数のタイルに対するアクションとして機能する関数内で非常に役立ちます。1 つのタイルに対して 2 回以上 action_tile を呼び出して名前を付けた場合は、最後の呼び出し(start_dialog の前)だけが有効です(同じ変数に何度も値を代入した場合に似ています)。プログラマブル ダイアログ ボックス(PDB)機能では、1 つのタイルについて 1 つのアクションだけが許されています。