uicontrolプロパティ uicontrolプロパティの説明.

## 説明

これらのプロパティは set または uicontrol 関数により設定できます. これらの値はgetにより取得可能です.

## プロパティ

BackgroundColor

  [1,3] 実数ベクトルまたは文字列

  uicontrolの背景色です. 色は赤,緑および青の値として指定されます. これらの値は[0,1]の範囲の実数です. 色は[R,G,B]のような実数ベクトルまたは"R|G|B|"のように "|"で区切られた文字列で指定できます.

  このプロパティを`[-1 -1 -1]`に設定すると ルックアンドフィールをデフォルトの背景色に設定します.

Border

  Borderオブジェクト.

  `frame`スタイルのuicontrolsでのみ使用され, このオブジェクトは createBorder により作成されます.

  この値に `[]` を設定すると フレームの境界が削除されます.

Callback

  文字列

  uicontrolが有効な時(例えばボタンをクリックした時), Scilabインタプリタで評価される命令.

  このプロパティは `layer`, `frame` および `text` スタイルの uicontrolsでは使用されません.

Callback_Type

  Scalar

  The type of callback transmitted to the uicontrol (see example below).

  - `-1` none (callback desactivated)

  - `0` (by default) or `2` a non prioritary, interruptible Scilab instruction

    `10` or `12` a prioritary, non-interruptible Scilab instruction

  - `1` a C or a Fortran function

Constraints

  Constraintsオブジェクト.

  このオブジェクトは createConstraints により作成され,uicontrolのその親の対する位置と大きさに関する拘束条件を 記述します.

  この値に `[]` を設定すると拘束条件を消去します.

Enable

  {on} | off

  uicontrolを有効または無効にします. このプロパティを`"on"` (デフォルト)に 設定した場合, uicontrolは有効となりますが, このプロパティに`"off"`を指定すると uicontrolはマウスの操作に応答せず,グレイアウトされます.

FontAngle

  {normal} | italic | oblique

  コントロールが何らかのテキストを含む場合, このプロパティはフォントの傾きを設定します.

FontSize

  スカラー

  コントロールが何らかのテキストを含む場合, このプロパティはフォントの大きさをFontUnits単位で設定します.

FontUnits

  {points} | pixels | normalized

  コントロールが何らかのテキストを含む場合, このプロパティはFontSizeを指定する単位を指定します.

FontWeight

  light | {normal} | demi | bold

  コントロールが何らかのテキストを含む場合, このプロパティは使用するフォントの重みを指定します.

FontName

  文字列

  コントロールのテキストを表示する際に 選択されたフォントの名前を選ぶ際に使用されます.

ForegroundColor

  [1,3] 実数ベクトルまたは文字列

  uicontrolの前景色です. 色は赤,緑および青の値として指定されます. これらの値は[0,1]の範囲の実数です. 色は[R,G,B]のような実数ベクトルまたは"R|G|B|"のように "|"で区切られた文字列で指定できます.

  このプロパティを`[-1 -1 -1]`に設定すると, ルックアンドフィールによりデフォルトの表示色を設定します.

Groupname

  文字列

  `radiobutton` および `checkbox` スタイルuicontrolsの場合, 本プロパティにより同じグループ全体のuicontrolを 管理できるようになります. 例えば`checkbox` uicontrolのグループは, 選択の単一性を自動的に管理します.

HorizontalAlignment

  left | {center} | right

  uicontrolのテキスト水平アラインメントを設定します.

Icon

  文字列.

  このプロパティは, (Scilabワーキングディレクトリに対する) 相対パス,または, `pushbutton` または `text` uicontrolで使用される 使用する画像ファイルの絶対パスを表します.

  `tab` uicontrols内の `frame` uicontrols の場合, iconプロパティはシートのアイコンを設定します.

Layout:

  このプロパティは, `frame` uicontrols の子を配置する 際に使用するレイアウトを設定します. 利用可能なレイアウトに関する詳細については, レイアウトのページを参照ください.

Layout_options:

  このプロパティは`frame`の子を 配置する際に使用されるレイアウトのオプションを設定します. 利用可能なオプションに関する詳細については, レイアウトのページを参照ください.

ListboxTop

  スカラー

  `listbox` uicontrolsのみで使用され, このプロパティは, リストの可視領域の最初の行に現れるリストの要素を 指定します.

Margins

  [1,4] 実数ベクトル.

  `[top, left, bottom, right]` (ピクセル単位)で uicontrolの周りの空き空間を設定します.

Max

  スカラー

  "Value"プロパティで設定できる最大値を指定します. しかし,各uicontrolにおいて以下のように異なる意味を 有します:

  - `checkbox` および `radiobutton` uicontrols: Max はコントロールがチェックされた際に とる"Value"プロパティの値です.

  - `slider` および `spinner` uicontrols: 要素の最大値.

  - `listbox` uicontrols: (Max-Min)>1 の場合, リストは複数の選択が可能です.

  - `edit` uicontrols: (Max-Min)>1 の場合, editは複数行の選択が可能です.

Min

  スカラー

  "Value"プロパティで設定できる最小値を指定します. しかし,各uicontrolにおいて以下のように異なる意味を 有します:

  - `checkbox` および `radiobutton` uicontrols: Minはコントロールのチェックが外された際に "Value"プロパティがとる値です.

  - `slider` および `spinner` uicontrols: 要素の最小値.

  - `listbox` uicontrols: (Max-Min)>1 の場合,リストで複数の選択を行うことができます.

  - `edit` uicontrols: (Max-Min)>1 の場合, edit は複数行を選択することができます.

Parent

  ハンドル

  uicontrolの親のハンドル. このプロパティを変更すると, コントロールをある図から別の図に移動することができます.

Position

  [x y w h] numerical vector (as stored) or a "x|y|w|h" string.

  Sets or gets the position and size of the component, the referential being

  - .parent.axes_size, if .parent is a Figure
  - .parent.position, if .parent is a uicontrol Frame.

  The value is a vector [x y w h] where

  - x is the horizontal position of the left side of the component with respect to the left edge of the referential.
  - y is the vertical position of the bottom side of the component with respect to the bottom edge of the referential.
  - w and h are the width and height of the uicontrol component.
  x, y, w, h can also be set through a "x|y|w|h" single string, with "|" used as separator.

  The unit is set by the .Units property.

  For sliders: w > h sets the slider horizontally, and vertically otherwise.

Relief

  {default} | flat | groove | raised | ridge | solid | sunken

  uicontrolの境界の外観. `"default"` はアプリケーションの ルックアンドフィールがreliefを設定する際に使用されることを意味します.

  古くなったuicontrol用のskinを使用した場合, デフォルト値はuicontrolのスタイルに関係します:

  - `pushbutton` uicontrols: "Relief" プロパティのデフォルト値は "raised"です.

  - `edit` uicontrols: "Relief" プロパティのデフォルト値は "sunken"です.

  - 他の uicontrols: "Relief"プロパティのデフォルト値は "flat"です.

Scrollable

  論理値.

  `frame` および `edit` スタイル uicontrolsで使用され, このプロパティは uicontrolがスクロール機能を有する(`%T`)または 有さない(デフォルト `%F`)ことを示します.

  `frame`の場合,この値は生成時に 指定する必要があります.

SliderStep

  [1,2] 実数ベクトル

  [small big], smallステップはスライダをクリックした際, または(スライダにフォーカスがある時に) キーボード矢印をタッピングした際の移動量を表します; bigステップはCtrl-keyboard-矢印により移動する量を表します. bigステップが省略された場合, スケールの1/10がデフォルト値となります.

  `spinner` uicontrolの場合, このプロパティの最初の値が固定ステップとして使用されます.

String

  文字列.

  このプロパティは(Except for Frame, Slider, and Spinner styles) uicontrolに表示されるテキストを表します. 表の場合,この値は文字列の行列です. ListBoxesおよびPopupMenusの場合, この値は文字列のベクトルまたは 各要素を"|"で区切った文字列とすることができます. Text uicontrolsの場合, テキストを整形するために この文字列にHTMLコードを含めることができます.

  - `pushbutton` または `text` uicontrols の場合, テキストを2つの$ (ドル記号)で括ると,そのテキストは LaTeX式とみなされます. また,< および > で括ると,MathML式とみなされます.

  - `layer` および `tab` uicontrolsの場合, この値は選択された子のタグを指定します.

  - `image` uicontrolsの場合, この値は画像ファイルのパスを指定します.

  - `table` uicontrolsの場合, この値は以下のように表データを指定します: `[IGNORED COL1-HEADER...COLN-HEADER;ROW1-HEADER, ROW1COL1-DATA, ROW1COLN-DATA;...;ROWM-HEADER, ROWMCOL1-DATA, ROWMCOLN-DATA]`.

  - 色選択, アイコン, 背景および表面色を管理する `listbox` および`popupmenu` uicontrols の場合, `String` プロパティを 以下の形式に一致する行列に設定できます: `["#color1", "Item1", "#background1", "#foreground1"; "#color2", "Item2", ..., ...]` `["icon1", "Item1", "#background1", "#foreground1"; "icon2", "Item2", ..., ...]` ただし, `"#color1"`, `"#background1"` および `"#foreground1"` はHTML形式 `#XXXXXX`です. この要素は色付きのボックスまたは関連する文字列の 左にアイコンを表示し, 要素毎に異なる背景/表面色で表示します.

Tag

  文字列

  このプロパティは一般にコントロールを特定するために使用されます. これによりコントロールに"名前"を付けることができます. 通常,`findobj()`と組み合わせて使用されます.

Title_position

  {top} | left | bottom | right

  `tab` スタイル uicontrolのタブの位置.

Title_scroll

  論理値

  `tab`スタイル uicontrol のタブが ラップされる (`title_scroll=%F`) か スクロールされる (`title_scroll=%T`)かを示します.

TooltipString

  文字列または文字列ベクトル

  このプロパティは, マウスがこのuicontrolの上を通過した際に表示される uicontrol tooltipのテキストを表します.

Units

  {points} | pixels | normalized

  "Position"プロパティを指定するために使用される単位を設定します. Normalized positions and sizes are in [0, 1]:

  - If .parent is a "figure", they are within and refer to the .parent.axes_size area.
  - If .parent is an uicontrol of style "frame", they are within and refer to the .parent.position area.
Userdata

  Scilabデータを

  Scilabオブジェクト(string,string matrix, matrix mxn)をuicontrolに 関連付ける際に使用できます.

Value

  スカラーまたはベクトル

  uicontrolの値. 正確な意味はuicontrolのスタイルに依存します:

  - `checkbox` and `radiobutton` uicontrols: value is set to Max (see above) when on and Min when off.

  - `listbox` および `popupmenu` uicontrols: 値はリスト内で選択されたエントリの添字に対応する 添字のベクトルとなります. 1はリストの最初の要素です.

  - `slider` および `spinner` uicontrols: コンポーネントによって表示される数値。

  - `layer` および `tab` uicontrols: 表示された要素の添字.

  - `image` uicontrols: 値は,画像プロパティ `[X-Scale Y-Scale X-Shear Y-Shear RotationAngle]` を設定する際に使用されます.

Verticalalignment

  top | {middle} | bottom

  uicontrolでテキストの垂直アラインメントを設定します. このプロパティはText および CheckBoxes スタイルでのみ 効果があります.

Visible

  {on} | off

  uicontrolの可視/不可視を設定します. このプロパティが `"on"` (デフォルト)に設定された場合,uicontrolは可視です. しかし,このプロパティが`"off"`に設定された場合, uicontrolは親の図の中に表示されません.

## Example for callback_type property

    function counter_start()
        // Callback called after a click on start pushbutton
        global Stop
        Stop=%f;
        while %t
            i = evstr(get("count", "string"));
            set("count", "string", string(i+1));
            if Stop then
                break
            end
        end
    endfunction

    function counter_stop()
        // Callback called after a click on stop pushbutton
        global Stop
        Stop=%t
    endfunction

    function counter_reinit()
        // Callback called after a click on reset pushbutton
        Stop=%t
        set("count", "string", "0");
    endfunction

    counter_main_fig = figure( ...
    "dockable", "off", ...
    "infobar_visible", "off", ...
    "toolbar_visible", "off", ...
    "toolbar", "none", ...
    "menubar_visible", "off", ...
    "menubar", "none", ...
    "layout", "none", ...
    "visible", "off", ...
    "resize", "off", ...
    "figure_position", [0 0], ...
    "axes_size", [400, 150], ...
    "figure_name", "Counter", ...
    "layout", "gridbag", ...
    "tag", "counter_main_figure");

    // Counter frame
    counter_frame = uicontrol(counter_main_fig, ...
    "layout", "gridbag", ...
    "style", "frame", ...
    "constraints", createConstraints("gridbag", [1, 1, 1, 1], [1, 0.5], "both"));

    uicontrol(counter_frame, ...
    "style", "text", ...
    "string", "Counter : ", ...
    "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5, 1], "horizontal", "center"), ...
    "margins", [5 5 5 5], ...
    "horizontalAlignment", "center");

    uicontrol(counter_frame, ...
    "style", "text", ...
    "string", "0", ...
    "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1, 1], "horizontal", "center"), ...
    "tag", "count", ...
    "margins", [5 5 5 5]);

    // Buttons frame
    buttons_frame = uicontrol(counter_main_fig, ...
    "layout", "gridbag", ...
    "style", "frame", ...
    "constraints", createConstraints("gridbag", [1, 2, 1, 1], [1, 1], "both"));

    // The associated callback needs to be interruptible (when clicking on stop or reset for example)
    uicontrol("parent", buttons_frame, ...
    "Style"     , "pushbutton", ...
    "String"    , "Start", ...
    "callback"  , "counter_start()", ...
    "margins", [5 5 5 5], ...
    "constraints", createConstraints("gridbag", [1, 1, 1, 1], [1, 1], "horizontal", "center"));

    // The associated callback needs to have priority in order to interrupt the current callback (in other words to stop the counter)
    uicontrol("parent", buttons_frame, ...
    "Style"     , "pushbutton", ...
    "String"    , "Stop", ...
    "callback"  , "counter_stop()", ...
    "callback_type", 10, ...
    "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1, 1], "horizontal", "center"), ...
    "margins", [5 5 5 5]);

    // The same for the callback which reset the counter: it must have the priority over the callback which has started the counter
    uicontrol("parent", buttons_frame, ...
    "Style"     , "pushbutton", ...
    "String"    , "Reset", ...
    "callback"  , "counter_reinit()", ...
    "callback_type", 10, ...
    "constraints", createConstraints("gridbag", [3, 1, 1, 1], [1, 1], "horizontal", "center"), ...
    "margins", [5 5 5 5]);

    counter_main_fig.visible = "on";

## 参照

- uicontrol
- hidden handles / properties
- set
- get

## 履歴

5.5.0

- プロパティが追加・更新されました: `.Border`, `.Scrollable`, `.Groupname`, `.Icon`, `.Margins`, `.Layout`, `.Layout_options`, for tabs: `.Title_position`, `.Title_scroll`.
- `.Max`-`.Min` sets the maximal number of items that can be selected in a `.listbox`, or the number of multiple lines displayed in an `.edit`.
- `.String`プロパティが `listbox`および `combobox` uicontrolsで色を設定する 際に使用されるようになりました.
- `.Backgroundcolor` および `.Foregroundcolor` プロパティが オペレーティングシステム固有の値を管理するようになりました.

6.0.0 By default, callback_type property is now interruptible but non prioritary.