1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
3 xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml"
4 xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
5 xmlns:scilab="http://www.scilab.org" xml:id="uicontrol" xml:lang="ja">
7 <refname>uicontrol</refname>
8 <refpurpose>グラフィックユーザーインターフェイスオブジェクトを作成
14 h = uicontrol(PropertyName,PropertyValue,...)
15 h = uicontrol(parent,PropertyName,PropertyValue,...)
21 <para>このルーチンは図にオブジェクトを作成します.</para>
22 <para>図のオブジェクトが(最初のパラメータとして)指定された場合,
23 この図にuicontrolが作成されます.ハンドルが指定されない場合,
24 uicontrolが(<literal>gcf()</literal>のコールにより得られる)
26 カレントの図が存在しない場合, uicontrolを作成する前に作成されます.
29 コントロールが作成される際に,パラメータとして指定されたプロパティが
31 これはuicontrolを作成する際と同じで,この後,プロパティが
32 <literal>set()</literal>コマンドで設定されます.
34 <literal>uicontrol()</literal>のコールにより
36 Scilabと全てのグラフィックオブジェクトは
38 つまり,適当なuicontrolを作成するには,
39 適当なフィールドの使用方法を知る必要があります.
42 <literal>h= uicontrol(PropertyName, PropertyValue,...)</literal>
43 は, uicontrolを作成し,指定したプロパティを割付,値を代入します.
44 値が指定されないプロパティにはデフォルト値が代入されます.
45 デフォルトの uicontrol の形式は "Pushbutton" です.
47 これらおよび他のプロパティに関する情報についてはプロパティの節を
51 <literal>h= uicontrol(parent, PropertyName,
54 はハンドルparentで指定されたオブジェクトにuicontrolを作成します.
60 <literal>h= uicontrol(uich)</literal> はuichにより指定された
65 <link linkend="uicontrol_properties">uicontrolプロパティ</link>
69 uicontrolsレンダリングとプロパティ表示は
70 <link linkend="console_properties">コンソールプロパティ</link>
75 <title>利用可能なスタイル</title>
78 <literal>uicontrol</literal>の<literal>style</literal>は
79 作成時に<literal>"Style"</literal>プロパティにより設定する
80 必要があり, <literal>uicontrol</literal> の作成後は変更できません.
84 <para>Checkbox: 2種類の状態を有するボタン (複数の独立した選択で使用されます).
88 <para>Edit: 編集可能なテキスト領域.</para>
91 <para>Frame: 他のuicontrolのコンテナ.
95 <para>Image: 指定した画像が表示されるコンポーネント.</para>
100 <literal>frame</literal>スタイルのuicontrol用コンテナで,
101 <literal>value</literal> プロパティを用いてプログラムにより
106 <para>Listbox: スクロール可能なリスト要素を表すコントロール.
111 <para>Popupmenu: クリックした際にメニューが現れるボタン
115 <para>Pushbutton: (デフォルトのスタイル)
116 矩形のボタンで,通常コールバックを実行する際に使用されます.
120 <para>Radiobutton: 2つの状態を有するボタン.
121 RadioButtons は相互に排他であることを意図しています.
125 コードに相互に排他である動作を実装する必要があります
126 (<link linkend="uicontrol_properties">uicontrolプロパティ</link>の
127 <literal>GroupName</literal>プロパティを参照).
131 <para>Slider: 縮尺制御, マウスで範囲内の値を設定する際に使用されます.
136 ユーザが固定刻みで範囲内の値を選択/編集することを可能とするコンポーネント.
142 <literal>frame</literal> スタイルの uicontrols のコンテナで,
143 指定したタイトルやアイコンをクリックすることにより切替できるようにします.
146 フレームに指定されたフォント関連プロパティは
151 <para>Table: 編集可能な表.</para>
154 <para>Text: テキストコントロールl (通常 static).</para>
159 <title>Examples</title>
160 <programlisting role="example"><![CDATA[
165 h = uicontrol(f,'style','listbox','position', [10 10 150 160]);
168 h.string = "item 1|item 2|item 3";
170 // Set (max-min)>1 to allow multiple selection, and select items 1 and 3
171 set(h, "min",0, "max",2, "value", [1 3]);
173 <para>uicontrol関数はオーバーロードできます</para>
174 <programlisting role="example"><![CDATA[
176 mymlist = mlist(['objid','A','B'],[],[]);
177 // objidのset / getをオーバーロード
178 function result = %objid_uicontrol(varargin)
179 // res = uicontrol(mymlist,'A');
180 obj_tmp = varargin(1);
181 field_tmp = varargin(2);
182 mprintf('uicontrol on an object of type %s, field = %s\n', typeof(obj_tmp), field_tmp);
185 res = uicontrol(mymlist,'property');
187 <para>Pushbuttons or Text can have LaTeX or MathML label</para>
188 <programlisting role="example"><![CDATA[
191 h=uicontrol(f,"style","pushbutton","string","$x^2$");
193 hh=uicontrol(f,"style","pushbutton","string","<msup><mi>x</mi><mn>2</mn></msup>");
194 hh.Position = h.Position + [50, 0, 0, 0];
196 h=uicontrol(f,"Style","text","string","$\Gamma(s)=\int_0^\infty t^{s-1}\mathrm{e}^{-t}\,\mathrm{d}t$");
200 <programlisting role="example"><![CDATA[
203 params = [" " "Country" "Population [Mh]" "Temp.[°C]" ];
204 towns = ["Mexico" "Paris" "Tokyo" "Singapour"]';
205 country = ["Mexico" "France" "Japan" "Singapour"]';
206 pop = string([22.41 11.77 33.41 4.24]');
207 temp = string([26 19 22 17]');
208 table = [params; [ towns country pop temp ]]
211 as = f.axes_size; // [width height]
212 ut = uicontrol("style","table",..
214 "position",[5 as(2)-100 300 87],.. // => @top left corner of figure
215 "tooltipstring","Data from majors towns")
216 // 表の中の値のいくつかを手修正. これらをUIから取得:
217 matrix(ut.string,size(table))
220 <refsection role="see also">
222 <simplelist type="inline">
224 <link linkend="uicontrol_properties">uicontrol_properties</link>
227 <link linkend="figure">figure</link>
230 <link linkend="set">set</link>
233 <link linkend="get">get</link>
236 <link linkend="uimenu">uimenu</link>
239 <link linkend="math_rendering_features_in_graphic">LaTeXおよびMathML</link>
247 <revnumber>5.5.0</revnumber>
253 <listitem>Tab</listitem>
254 <listitem>Spinner</listitem>
255 <listitem>Layer</listitem>
258 uicontrolsレンダリングはオペレーティングシステムの
259 ルックアンドフィールに基づくようになりました
260 (<link linkend="console_properties">コンソールプロパティ</link>
264 uicontrolsハンドルの表示はJavaレンダリングにより使用される
266 (<link linkend="console_properties">コンソールプロパティ</link>