* Bug 16177 fixed [doc]: 1st example was KO in uicontrol page
[scilab.git] / scilab / modules / gui / help / ja_JP / uicontrol.xml
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">
6     <refnamediv>
7         <refname>uicontrol</refname>
8         <refpurpose>グラフィックユーザーインターフェイスオブジェクトを作成
9         </refpurpose>
10     </refnamediv>
11     <refsynopsisdiv>
12         <title>呼び出し手順</title>
13         <synopsis>
14             h = uicontrol(PropertyName,PropertyValue,...)
15             h = uicontrol(parent,PropertyName,PropertyValue,...)
16             h = uicontrol(uich)
17         </synopsis>
18     </refsynopsisdiv>
19     <refsection>
20         <title>説明</title>
21         <para>このルーチンは図にオブジェクトを作成します.</para>
22         <para>図のオブジェクトが(最初のパラメータとして)指定された場合,
23             この図にuicontrolが作成されます.ハンドルが指定されない場合,
24             uicontrolが(<literal>gcf()</literal>のコールにより得られる)
25             カレントの図に作成されます.
26             カレントの図が存在しない場合, uicontrolを作成する前に作成されます.
27         </para>
28         <para>
29             コントロールが作成される際に,パラメータとして指定されたプロパティが
30             適当な値で設定されます.
31             これはuicontrolを作成する際と同じで,この後,プロパティが
32             <literal>set()</literal>コマンドで設定されます.
33             それにもかからわらず, 一般に
34             <literal>uicontrol()</literal>のコールにより
35             プロパティを設定する方がより効率的です.
36             Scilabと全てのグラフィックオブジェクトは
37             適当な機構により通信を行います.
38             つまり,適当なuicontrolを作成するには,
39             適当なフィールドの使用方法を知る必要があります.
40         </para>
41         <para>
42             <literal>h= uicontrol(PropertyName, PropertyValue,...)</literal>
43             は, uicontrolを作成し,指定したプロパティを割付,値を代入します.
44             値が指定されないプロパティにはデフォルト値が代入されます.
45             デフォルトの uicontrol の形式は "Pushbutton" です.
46             デフォルトの親は,カレントの図です.
47             これらおよび他のプロパティに関する情報についてはプロパティの節を
48             参照ください.
49         </para>
50         <para>
51             <literal>h= uicontrol(parent, PropertyName,
52                 PropertyValue,...)
53             </literal>
54             はハンドルparentで指定されたオブジェクトにuicontrolを作成します.
55             親プロパティと異なる値を指定する場合,
56             親プロパティの値が優先されます.
57             parentは図のハンドルです.
58         </para>
59         <para>
60             <literal>h= uicontrol(uich)</literal> はuichにより指定された
61             uicontrolにフォーカスを与えます.
62         </para>
63         <para>
64             利用可能な全プロパティとその説明を
65             <link linkend="uicontrol_properties">uicontrolプロパティ</link>
66             ヘルプページで参照可能です.
67         </para>
68         <para>
69             uicontrolsレンダリングとプロパティ表示は
70             <link linkend="console_properties">コンソールプロパティ</link>
71             によりカスタマイズできます.
72         </para>
73     </refsection>
74     <refsection>
75         <title>利用可能なスタイル</title>
76         <para>
77             利用可能なスタイルを以下に示します.
78             <literal>uicontrol</literal>の<literal>style</literal>は
79             作成時に<literal>"Style"</literal>プロパティにより設定する
80             必要があり, <literal>uicontrol</literal> の作成後は変更できません.
81         </para>
82         <itemizedlist>
83             <listitem>
84                 <para>Checkbox: 2種類の状態を有するボタン (複数の独立した選択で使用されます).
85                 </para>
86             </listitem>
87             <listitem>
88                 <para>Edit: 編集可能なテキスト領域.</para>
89             </listitem>
90             <listitem>
91                 <para>Frame: 他のuicontrolのコンテナ.
92                 </para>
93             </listitem>
94             <listitem>
95                 <para>Image: 指定した画像が表示されるコンポーネント.</para>
96             </listitem>
97             <listitem>
98                 <para>
99                     Layer:
100                     <literal>frame</literal>スタイルのuicontrol用コンテナで,
101                     <literal>value</literal> プロパティを用いてプログラムにより
102                     切替できます.
103                 </para>
104             </listitem>
105             <listitem>
106                 <para>Listbox: スクロール可能なリスト要素を表すコントロール.
107                     要素はマウスで選択できます.
108                 </para>
109             </listitem>
110             <listitem>
111                 <para>Popupmenu: クリックした際にメニューが現れるボタン
112                 </para>
113             </listitem>
114             <listitem>
115                 <para>Pushbutton: (デフォルトのスタイル)
116                     矩形のボタンで,通常コールバックを実行する際に使用されます.
117                 </para>
118             </listitem>
119             <listitem>
120                 <para>Radiobutton: 2つの状態を有するボタン.
121                     RadioButtons は相互に排他であることを意図しています.
122                 </para>
123                 <para>
124                     グループを使用しない場合,
125                     コードに相互に排他である動作を実装する必要があります
126                     (<link linkend="uicontrol_properties">uicontrolプロパティ</link>の
127                     <literal>GroupName</literal>プロパティを参照).
128                 </para>
129             </listitem>
130             <listitem>
131                 <para>Slider: 縮尺制御, マウスで範囲内の値を設定する際に使用されます.
132                 </para>
133             </listitem>
134             <listitem>
135                 <para>Spinner:
136                     ユーザが固定刻みで範囲内の値を選択/編集することを可能とするコンポーネント.
137                 </para>
138             </listitem>
139             <listitem>
140                 <para>
141                     Tab:
142                     <literal>frame</literal> スタイルの uicontrols のコンテナで,
143                     指定したタイトルやアイコンをクリックすることにより切替できるようにします.
144                 </para>
145                 <para>
146                     フレームに指定されたフォント関連プロパティは
147                     タブレベルにも使用されます.
148                 </para>
149             </listitem>
150             <listitem>
151                 <para>Table: 編集可能な表.</para>
152             </listitem>
153             <listitem>
154                 <para>Text: テキストコントロールl (通常 static).</para>
155             </listitem>
156         </itemizedlist>
157     </refsection>
158     <refsection>
159         <title>Examples</title>
160         <programlisting role="example"><![CDATA[
161 // 図を作成
162 f = scf();
163
164 // リストボックスを作成
165 h = uicontrol(f,'style','listbox','position', [10 10 150 160]);
166
167 // Set labels
168 h.string = "item 1|item 2|item 3";
169
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]);
172  ]]></programlisting>
173         <para>uicontrol関数はオーバーロードできます</para>
174         <programlisting role="example"><![CDATA[
175 // mlistを作成
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);
183   result = %t;
184 endfunction
185 res = uicontrol(mymlist,'property');
186  ]]></programlisting>
187         <para>Pushbuttons or Text can have LaTeX or MathML label</para>
188         <programlisting role="example"><![CDATA[
189 // LaTeX
190 f=figure();
191 h=uicontrol(f,"style","pushbutton","string","$x^2$");
192 // MathML
193 hh=uicontrol(f,"style","pushbutton","string","<msup><mi>x</mi><mn>2</mn></msup>");
194 hh.Position = h.Position + [50, 0, 0, 0];
195 // Text
196 h=uicontrol(f,"Style","text","string","$\Gamma(s)=\int_0^\infty t^{s-1}\mathrm{e}^{-t}\,\mathrm{d}t$");
197 // 小さすぎる場合
198 h.fontsize=20
199  ]]></programlisting>
200         <programlisting role="example"><![CDATA[
201 // 編集可能な表を図に含める:
202 // データの表を構築:
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 ]]
209 f = gcf();
210 clf
211 as = f.axes_size;  // [width height]
212 ut = uicontrol("style","table",..
213                "string",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))
218  ]]></programlisting>
219     </refsection>
220     <refsection role="see also">
221         <title>参照</title>
222         <simplelist type="inline">
223             <member>
224                 <link linkend="uicontrol_properties">uicontrol_properties</link>
225             </member>
226             <member>
227                 <link linkend="figure">figure</link>
228             </member>
229             <member>
230                 <link linkend="set">set</link>
231             </member>
232             <member>
233                 <link linkend="get">get</link>
234             </member>
235             <member>
236                 <link linkend="uimenu">uimenu</link>
237             </member>
238             <member>
239                 <link linkend="math_rendering_features_in_graphic">LaTeXおよびMathML</link>
240             </member>
241         </simplelist>
242     </refsection>
243     <refsection>
244         <title>履歴</title>
245         <revhistory>
246             <revision>
247                 <revnumber>5.5.0</revnumber>
248                 <revremark>
249                     <para>
250                         新スタイルが追加されました:
251                     </para>
252                     <itemizedlist>
253                         <listitem>Tab</listitem>
254                         <listitem>Spinner</listitem>
255                         <listitem>Layer</listitem>
256                     </itemizedlist>
257                     <para>
258                         uicontrolsレンダリングはオペレーティングシステムの
259                         ルックアンドフィールに基づくようになりました
260                         (<link linkend="console_properties">コンソールプロパティ</link>
261                         参照).
262                     </para>
263                     <para>
264                         uicontrolsハンドルの表示はJavaレンダリングにより使用される
265                         プロパティに制限されるようになりました
266                         (<link linkend="console_properties">コンソールプロパティ</link>
267                         参照).
268                     </para>
269                 </revremark>
270             </revision>
271         </revhistory>
272     </refsection>
273 </refentry>