Maplets[Elements][BoxLayout] - ボックスレイアウトの定義
使い方
BoxLayout(opts, element_content)
BoxLayout[refID](opts, element_content)
パラメータ
opts - option=value の形の等式; ここで option は background, border, caption, font, inset, reference, vertical, visible のいずれか; BoxLayout 要素のためのオプション指定
element_content - 任意の数の BoxCell, BoxColumn または BoxRow 要素
refID - 名前または文字列; 要素の参照
|
説明
|
|
•
|
BoxLayout レイアウト要素は、Maplet 内にボックスレイアウトを定義します。ボックスレイアウトは、ある項目が他の要素の位置に対して水平または垂直のどこに現れるのかを制御するという、相対的なレイアウトの仕組みです。内容となる要素が複数存在する場合、それらは行内に表示されます。
|
•
|
ボックスレイアウトで水平方向の制御を行うためには、BoxRow 要素を使用します。同じく垂直方向の制御を行うためには、BoxColumn 要素を使用します。
|
•
|
BoxLayout 要素を使用してBoxColumn と BoxRow 要素を垂直方向に整列するためには、BoxColumn 要素 を使用するか、あるいは、BoxLayout に対して vertical=true を指定することがあります。
|
•
|
BoxLayout 要素の特徴は、オプションを用いて修正が可能です。Maplets パッケージでのオプション指定を簡単にするために、等式を用いることなしにあるオプションと内容を設定することが可能です。次の表では、(左側の列に) 要素、記号、および型、そして (右側の列に) 型がデフォルトで割り当てられると入力を行う、対応するオプションまたは内容を一覧表示します。
|
Elements, Symbols, or Types Assumed Option or Content
refID reference option
string or symbol caption option
•
|
BoxLayout 要素は、任意の数の BoxCell, BoxColumn あるいは、BoxRow 要素を含むことが可能です。
|
•
|
BoxLayout 要素は、Maplet, GridCell, GridCell2 または Window 要素、あるいは Window 要素内の layout オプションで用いる等式の中に、含めることが可能です。
|
•
|
次の表に、BoxLayout 要素のオプションの、制御および使用法について記述します。
|
|
I 列の x は、(要素の定義を行う)呼び出し手順で指定される、初期化が可能なオプションを示す。
|
|
R 列の x は、呼び出し手順で必要となるオプションを示す。
|
|
G 列の x は、オプションが Get ツールを用いて取得できる、すなわち読み込み可能であることを示す。
|
|
S 列の x は、 SetOption 要素あるいは Set ツールを用いて設定される、書き出し可能なオプションを示す。
|
Option I R G S
background x
border x
caption x
font x
halign x
inset x
reference x
valign x
vertical x
visible x
•
|
opts 引数は、Maplet のオプションを設定する、1 つまたは複数の以下の等式を含みます。
|
|
ボックスレイアウトをハイライト表示する色。色の名前、RGBの色構造、または "#RRGGBB" という形の文字列(ここで各文字の組は 2 桁の 16 進数)を、認識することができます。
|
|
表がボーダーを持つかどうかの指定。デフォルトの値は、false です。
|
|
ボックスレイアウトの上に現れるテキスト。表題は、オプション border が true に設定されている場合にのみ、見えるようになります。
|
|
font = Font 要素、または、Font 要素に対する参照 (name または string)
|
|
halign = left, center, right, または none
|
|
レイアウト内に含まれる各 BoxRow 要素に対して、デフォルトの水平方向の配置を指定します。デフォルトの値は、center です。 none オプションにより、HorizontalGlue と組み合わせて使用する場合、行内のセルの配置をより微細に制御することができます。
|
|
ボックスレイアウト内の要素を囲む隙間の量。デフォルトで挿入される隙間は、5 ピクセルです。
|
|
reference = name または string
|
|
この参照、例えば GridLayout[refID] およびコマンド列内の reference が、両方ともインデックスで指定されている場合、インデックスによる参照が優先されます。
|
|
valign = top, center, bottom, または none
|
|
レイアウト内に含まれる各 BoxColumn 要素に対して、デフォルトの垂直方向の配置を指定します。デフォルトの値は、center です。 none オプションは、列内のセルのレイアウトを微細に制御するために、VerticalGlue 要素との組み合わせで使用することができます。
|
|
vertical = true または false
|
|
BoxColumn あるいは BoxRow 要素が、垂直方向の列に整列するかどうかを指定します。 デフォルトの値は、false です。
|
|
ユーザが見ることのできる表かどうかの設定。デフォルトの値は、true です。
|
|
|
例
|
|
>
|
with(Maplets[Elements]):
maplet := Maplet(
Window('layout' = 'BL1'),
BoxLayout['BL1'](
BoxColumn(
BoxRow("Enter text:", TextField['TF1']()),
Button("OK", Shutdown(['TF1']))
)
)
):
Maplets[Display](maplet);
|
この Maplet は以下の例と同じになります:
>
|
maplet := Maplet([
["Enter text:", TextField['TF1']()],
Button("OK", Shutdown(['TF1']))
]):
Maplets[Display](maplet);
|
レイアウト内の要素の位置をより制御するために、HorizontalGlue と組み合わせて、halign=none オプションを使用した Maplet の例。
>
|
maplet := Maplet(
BoxLayout('halign'='none',
BoxColumn(
BoxRow(
"Long text label to force alignment usage"
),
BoxRow(
Button("Left1", Shutdown()),
Button("Left2", Shutdown()),
HorizontalGlue()
),
BoxRow(
Button("Left", Shutdown()),
HorizontalGlue(),
Button("Right", Shutdown())
),
BoxRow(
HorizontalGlue(),
Button("Right2", Shutdown()),
Button("Right1", Shutdown())
)
)
)
):
Maplets[Display](maplet);
|
|
|
参照
|
|
Maplets, Maplets[Display], Maplets[Elements], Maplets[Elements][BoxCell], Maplets[Elements][BoxColumn], Maplets[Elements][BoxRow], Maplets[Elements][Button], Maplets[Elements][Font], Maplets[Elements][HorizontalGlue], Maplets[Elements][Maplet], Maplets[Elements][SetOption], Maplets[Elements][Shutdown], Maplets[Elements][TextField], Maplets[Elements][VerticalGlue], Maplets[Elements][Window], Maplets/LayoutElements, Maplets[Tools][Get], Maplets[Tools][Set], plot[color]
|
|