次: , 前: Pop-Up Menus, 上: Frames


28.16 対話ボックス

対話ボックスはポップアップメニューの変形です。 少々異なって見えますが、フレームの中央につねに現れ、 たった1つのレベルで1つのペインです。 対話ボックスの主な用途は、 ユーザーが『yes』、『no』、および他の少数の選択肢で答えるような 問い合わせを行うためです。 関数y-or-n-pyes-or-no-pは、 マウスクリックで起動されたコマンドから呼ばれると キーボードではなく対話ボックスを使います。

— 機能: x-popup-dialog position contents

この関数は、対話ボックスを表示し、 ユーザーが選んだ選択肢を表す指示子を返す。 引数contentsは表示する選択肢を指定し、つぎの形である。

          (title (string . value)...)
     

これは、x-popup-menuに対して単一のペインを指定するリストに似ている。

戻り値は、選ばれた選択肢のvalueである。

リストの要素は、(string . value)の形の コンスセルのかわりに単に文字列でもよい。 そうすると、対話ボックスでは選択できなくなる。

リストにnilが現れると、それは左側の項目と右側の項目を区切る。 nilのまえの項目は左側に現れ、 nilに続く項目は右側に現れる。 リストにnilを含めなければ、項目のほぼ半分がそれぞれの側に現れる。

対話ボックスはフレームの中央につねに現れ、 引数positionはそのフレームを指定する。 可能な値はx-popup-menuと同様であるが、 正確な座標は関係なくフレームだけが意味を持つ。

場合によっては、Emacsは本当の対話ボックスを表示できない。 そのときにはフレームの中央にポップアップメニューで同じ項目を表示する。