Maplets[Elements][ListBox] - リストボックスの定義
使い方
ListBox(opts, list_box_content)
ListBox[refID](opts, list_box_content)
パラメータ
opts - option=value の形の等式; ここで option は background, enabled, font, foreground, onchange, reference, tooltip, value, visible のいずれか; ListBox 要素のためのオプション指定
list_box_content - 任意の数の Item 要素、あるいは文字列または記号のリスト; リストボックス内に現れる項目
refID - 名前または文字列; 要素の参照
|
説明
|
|
•
|
ListBox ウィンドウボディ要素は、maplet 内でリストボックスを定義します。リストボックスは、ユーザが0個あるいは複数の記述から選択することが可能な、オブジェクトのリストから成っています。
|
•
|
実行中の maplet において、ListBox の value は、ユーザによって選択される、コンマで区切られた記述のリストです。値が返されると、ツール Maplets[Tools][ListBoxSplit] を用いて、その値を文字による式列に変換することが可能です。リストボックスの挙動は以下の通りです:
|
|
1. 項目の選択を行うと、前に選択された項目をクリアします。
|
|
2. CTRL キーを押しながら項目の選択を行うと、その項目と前に選択された項目を(共に)選択します。
|
|
3. SHIFT キーを押しながら項目の選択を行うと、前に選択された項目をクリアし、そして最も新しく選択された 2 つの項目間にある (2 つの項目自身も含む)、全ての項目を選択します。
|
•
|
ListBox 要素の特徴は、オプションを用いて修正が可能です。Maplets パッケージでのオプション指定を簡単にするために、等式を用いることなしにあるオプションと内容を設定することが可能です。次の表では、(左側の列に) 要素、記号、および型、そして (右側の列に) 型がデフォルトで割り当てられると入力を行う、対応するオプションまたは内容を一覧表示します。
|
Elements, Symbols, or Types Assumed Option or Content
Font element font option
refID reference option
string or symbol value option
•
|
ListBox 要素は、Item 要素を含むことが可能です。また ListBox 要素は、Action または onchange オプションを指定するコマンド要素、font オプションを指定する Font 要素を含むことが可能です。
|
•
|
ListBox 要素は、Maplet 内または BoxLayout 要素、ボックスレイアウトを表現する階層化されたリスト内にある Maplet 要素に、含めることが可能です。
|
•
|
次の表に、ListBox 要素のオプションの、制御および使用法について記述します。
|
|
I 列の x は、(要素の定義を行う) 呼び出し手順で指定される、初期化が可能なオプションを示す。
|
|
R 列の x は、呼び出し手順で必要となるオプションを示す。
|
|
G 列の x は、オプションが Get ツールを用いて取得できる、すなわち読み込み可能であることを示す。
|
|
S 列の x は、 SetOption 要素あるいは Set ツールを用いて設定される、書き出し可能なオプションを示す。
|
Option I R G S
appenditem* x
background x x x
enabled x x x
font x x x
foreground x x x
itemlist* x x
onchange x
reference x
tooltip x x x
value x x x
visible x x x
|
* appenditem は、リストボックス内の項目リストに項目を追加します。その構文は、refID(appenditem)="text" です。ここで、 refID はリストボックスの参照を表します。
|
|
* itemlist は、既存のリストを上書きします。これは、関数 Maplets:-Tools:-Set(refID(itemlist)=[item1, item2, ..., itemn]) を用いて Evaluate コマンドの動作を行っている間に設定されます。ここで、refID はリストボックスの参照を、item1, item2, ..., itemn はそのリストボックスで用いる新しい項目を表します。
|
•
|
opts 引数は、maplet のオプションを設定する、1 つまたは複数の以下の等式を含みます。
|
|
リストボックスの色。色の名前、RGBの色構造、または "#RRGGBB" という形の文字列(ここで各文字の組は2桁の16進数)を、認識することができます。
|
|
リストボックスが選択可能かどうかの指定。enabled が false に設定されると、リストボックスは霞んだ表示となり、そのリストボックスに関連する動作に進むことはできません。デフォルトの値は、true です。
|
|
font = Font 要素または Font 要素の参照 (name または string )
|
|
リストボックス内のテキストの色。色の名前、RGBの色構造、または "#RRGGBB" という形の文字列 (ここで各文字の組は 2 桁の 16 進数) を、認識することができます。
|
|
onchange = Action またはコマンド要素、あるいは Action 要素の参照 (name または string )
|
|
reference = name または string
|
|
この参照、例えば ListBox[refID] およびコマンド列内の reference が、両方ともインデックスで指定されている場合、インデックスによる参照が優先されます。
|
|
value = string または symbol
|
|
リストボックスの初期値。value が指定されていない場合、あるいは value がリストボックス内にある項目ではない場合には、初期値は list_box_content 内で指定されている最初の項目になります。
|
|
ユーザが見ることのできるリストボックスかどうかの設定。デフォルトの値は、true です。
|
|
|
例
|
|
>
|
with(Maplets[Elements]):
maplet := Maplet([
["Pick a color: ", ListBox['LB1'](sort([
"blue", "red", "wheat", "yellow" "grey", "brown", "gold",
"plum", "orange", "pink", "khaki", "magenta", "maroon",
"white", "green", "aquamarine", "black", "gray", "navy",
"coral", "cyan", "sienna", "tan", "turquoise", "violet"
], lexorder))],
[Button("OK", Shutdown(['LB1'])), Button("Cancel", Shutdown())]
]):
result := Maplets[Display](maplet):
if type( result, ['string'] ) then
Maplets[Tools][ListBoxSplit](result[1]);
end if;
|
|
|
参照
|
|
Maplets パッケージの概要, Maplets/コマンド要素, Maplets[Display], Maplets[Elements] パッケージの紹介, Maplets[Elements][Action], Maplets[Elements][Button], Maplets[Elements][Font], Maplets[Elements][Item], Maplets[Elements][Maplet], Maplets[Elements][SetOption], Maplets[Elements][Shutdown], Maplets[Tools][Get], Maplets[Tools][ListBoxSplit], Maplets[Tools][Set], Maplets/ウィンドウボディ要素, plot[color], sort, type
|
|