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