1 <?xml version="1.0" encoding="UTF-8"?>
2 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="uicontrol" xml:lang="ja">
4 <refname>uicontrol</refname>
5 <refpurpose>グラフィックユーザーインターフェイスオブジェクトを作成
11 h = uicontrol(PropertyName,PropertyValue,...)
12 h = uicontrol(parent,PropertyName,PropertyValue,...)
18 <para>このルーチンは図にオブジェクトを作成します.</para>
19 <para>図のオブジェクトが(最初のパラメータとして)指定された場合,
20 この図にuicontrolが作成されます.ハンドルが指定されない場合,
21 uicontrolが(<literal>gcf()</literal>のコールにより得られる)
23 カレントの図が存在しない場合, uicontrolを作成する前に作成されます.
26 コントロールが作成される際に,パラメータとして指定されたプロパティが
28 これはuicontrolを作成する際と同じで,この後,プロパティが
29 <literal>set()</literal>コマンドで設定されます.
31 <literal>uicontrol()</literal>のコールにより
33 Scilabと全てのグラフィックオブジェクトは
35 つまり,適当なuicontrolを作成するには,
36 適当なフィールドの使用方法を知る必要があります.
39 <literal>h= uicontrol(PropertyName, PropertyValue,...)</literal>
40 は, uicontrolを作成し,指定したプロパティを割付,値を代入します.
41 値が指定されないプロパティにはデフォルト値が代入されます.
42 デフォルトの uicontrol の形式は "Pushbutton" です.
44 これらおよび他のプロパティに関する情報についてはプロパティの節を
48 <literal>h= uicontrol(parent, PropertyName,
51 はハンドルparentで指定されたオブジェクトにuicontrolを作成します.
57 <literal>h= uicontrol(uich)</literal> はuichにより指定された
62 <link linkend="uicontrol_properties">uicontrolプロパティ</link>
66 uicontrolsレンダリングとプロパティ表示は
67 <link linkend="console_properties">コンソールプロパティ</link>
72 <title>利用可能なスタイル</title>
75 <literal>uicontrol</literal>の<literal>style</literal>は
76 作成時に<literal>"Style"</literal>プロパティにより設定する
77 必要があり, <literal>uicontrol</literal> の作成後は変更できません.
81 <para>Checkbox: 2種類の状態を有するボタン (複数の独立した選択で使用されます).
85 <para>Edit: 編集可能なテキスト領域.</para>
88 <para>Frame: 他のuicontrolのコンテナ.
92 <para>Image: 指定した画像が表示されるコンポーネント.</para>
97 <literal>frame</literal>スタイルのuicontrol用コンテナで,
98 <literal>value</literal> プロパティを用いてプログラムにより
103 <para>Listbox: スクロール可能なリスト要素を表すコントロール.
108 <para>Popupmenu: クリックした際にメニューが現れるボタン
112 <para>Pushbutton: (デフォルトのスタイル)
113 矩形のボタンで,通常コールバックを実行する際に使用されます.
117 <para>Radiobutton: 2つの状態を有するボタン.
118 RadioButtons は相互に排他であることを意図しています.
122 コードに相互に排他である動作を実装する必要があります
123 (<link linkend="uicontrol_properties">uicontrolプロパティ</link>の
124 <literal>GroupName</literal>プロパティを参照).
128 <para>Slider: 縮尺制御, マウスで範囲内の値を設定する際に使用されます.
133 ユーザが固定刻みで範囲内の値を選択/編集することを可能とするコンポーネント.
139 <literal>frame</literal> スタイルの uicontrols のコンテナで,
140 指定したタイトルやアイコンをクリックすることにより切替できるようにします.
143 フレームに指定されたフォント関連プロパティは
148 <para>Table: 編集可能な表.</para>
151 <para>Text: テキストコントロールl (通常 static).</para>
156 <title>Examples</title>
157 <programlisting role="example"><![CDATA[
160 h=uicontrol(f,'style','listbox', ...
161 'position', [10 10 150 160]);
163 set(h, 'string', "item 1|item 2|item3");
165 set(h, 'value', [1 3]);
170 <para>uicontrol関数はオーバーロードできます</para>
171 <programlisting role="example"><![CDATA[
173 mymlist = mlist(['objid','A','B'],[],[]);
174 // objidのset / getをオーバーロード
175 function result = %objid_uicontrol(varargin)
176 // res = uicontrol(mymlist,'A');
177 obj_tmp = varargin(1);
178 field_tmp = varargin(2);
179 mprintf('uicontrol on an object of type %s, field = %s\n', typeof(obj_tmp), field_tmp);
182 res = uicontrol(mymlist,'property');
184 <para>Pushbuttons or Text can have LaTeX or MathML label</para>
185 <programlisting role="example"><![CDATA[
188 h=uicontrol(f,"style","pushbutton","string","$x^2$");
190 hh=uicontrol(f,"style","pushbutton","string","<msup><mi>x</mi><mn>2</mn></msup>");
191 hh.Position = h.Position + [50, 0, 0, 0];
193 h=uicontrol(f,"Style","text","string","$\Gamma(s)=\int_0^\infty t^{s-1}\mathrm{e}^{-t}\,\mathrm{d}t$");
197 <programlisting role="example"><![CDATA[
200 params = [" " "Country" "Population [Mh]" "Temp.[°C]" ];
201 towns = ["Mexico" "Paris" "Tokyo" "Singapour"]';
202 country = ["Mexico" "France" "Japan" "Singapour"]';
203 pop = string([22.41 11.77 33.41 4.24]');
204 temp = string([26 19 22 17]');
205 table = [params; [ towns country pop temp ]]
208 as = f.axes_size; // [width height]
209 ut = uicontrol("style","table",..
211 "position",[5 as(2)-100 300 87],.. // => @top left corner of figure
212 "tooltipstring","Data from majors towns")
213 // 表の中の値のいくつかを手修正. これらをUIから取得:
214 matrix(ut.string,size(table))
217 <refsection role="see also">
219 <simplelist type="inline">
221 <link linkend="uicontrol_properties">uicontrol_properties</link>
224 <link linkend="figure">figure</link>
227 <link linkend="set">set</link>
230 <link linkend="get">get</link>
233 <link linkend="uimenu">uimenu</link>
236 <link linkend="math_rendering_features_in_graphic">LaTeXおよびMathML</link>
244 <revnumber>5.5.0</revnumber>
250 <listitem>Tab</listitem>
251 <listitem>Spinner</listitem>
252 <listitem>Layer</listitem>
255 uicontrolsレンダリングはオペレーティングシステムの
256 ルックアンドフィールに基づくようになりました
257 (<link linkend="console_properties">コンソールプロパティ</link>
261 uicontrolsハンドルの表示はJavaレンダリングにより使用される
263 (<link linkend="console_properties">コンソールプロパティ</link>