upload tizen2.0 source
[framework/uifw/xorg/lib/libxaw.git] / specs / Porthole.xml
1 <sect1 id="Porthole_Widget">
2 <title>Porthole Widget</title>
3 <para>
4 <!-- .LP -->
5 <!-- .XS -->
6 <!--    Porthole Widget -->
7 <!-- .XE -->
8 <!-- .IN "Porthole widget" "" "@DEF@" -->
9 <literallayout class="monospaced">
10 <!-- .TA 2.0i -->
11 <!-- .ta 2.0i -->
12 <!-- .sp -->
13 Application Header file &lt;X11/Xaw/Porthole.h&gt;
14 <!-- .IN "Porthole.h" "" -->
15 Class Header file       &lt;X11/Xaw/PortholeP.h&gt;
16 <!-- .IN "PortholeP.h" "" -->
17 Class           portholeWidgetClass
18 <!-- .IN "portholeWidgetClass" "" -->
19 Class Name      Porthole
20 <!-- .IN "Porthole widget" "class name" -->
21 Superclass      Composite
22 <!-- .sp -->
23 </literallayout>
24 </para>
25 <para>
26 <!-- .LP -->
27 The Porthole widget provides geometry management of a list of arbitrary
28 widgets, only one of which may be managed at any particular time.
29 The managed child widget is reparented within the porthole and is moved around
30 by the application (typically under the control of a Panner widget).
31 </para>
32 <sect2 id='Porthole::Resources'>
33 <title>Resources</title>
34 <para>
35 <!-- .LP -->
36 When creating a Porthole widget instance, the following resources are
37 retrieved from the argument list or from the resource database:
38 </para>
39 <para>
40 <!-- .LP -->
41 <!-- .IN "Porthole widget" "resources" -->
42 <informaltable>
43   <tgroup cols='5' align='center'>
44   <colspec colname='c1'/>
45   <colspec colname='c2'/>
46   <colspec colname='c3'/>
47   <colspec colname='c4'/>
48   <colspec colname='c5'/>
49   <thead>
50     <row>
51       <entry>Name</entry>
52       <entry>Class</entry>
53       <entry>Type</entry>
54       <entry>Notes</entry>
55       <entry>Default Value</entry>
56     </row>
57   </thead>
58   <tbody>
59     <row>
60       <entry>accelerators</entry>
61       <entry>Accelerators</entry>
62       <entry>AcceleratorTable</entry>
63       <entry></entry>
64       <entry>NULL</entry>
65     </row>
66     <row>
67       <entry>ancestorSensitive</entry>
68       <entry>AncestorSensitive</entry>
69       <entry>Boolean</entry>
70       <entry>D</entry>
71       <entry>True</entry>
72     </row>
73     <row>
74       <entry>background</entry>
75       <entry>Background</entry>
76       <entry>Pixel</entry>
77       <entry></entry>
78       <entry>XtDefaultBackground</entry>
79     </row>
80     <row>
81       <entry>backgroundPixmap</entry>
82       <entry>Pixmap</entry>
83       <entry>Pixmap</entry>
84       <entry></entry>
85       <entry>XtUnspecifiedPixmap</entry>
86     </row>
87     <row>
88       <entry>borderColor</entry>
89       <entry>BorderColor</entry>
90       <entry>Pixel</entry>
91       <entry></entry>
92       <entry>XtDefaultForeground</entry>
93     </row>
94     <row>
95       <entry>borderPixmap</entry>
96       <entry>Pixmap</entry>
97       <entry>Pixmap</entry>
98       <entry></entry>
99       <entry>XtUnspecifiedPixmap</entry>
100     </row>
101     <row>
102       <entry>borderWidth</entry>
103       <entry>BorderWidth</entry>
104       <entry>Dimension</entry>
105       <entry></entry>
106       <entry>1</entry>
107     </row>
108     <row>
109       <entry>children</entry>
110       <entry>ReadOnly</entry>
111       <entry>WidgetList</entry>
112       <entry>R</entry>
113       <entry>NULL</entry>
114     </row>
115     <row>
116       <entry>colormap</entry>
117       <entry>Colormap</entry>
118       <entry>Colormap</entry>
119       <entry></entry>
120       <entry>Parent's Colormap</entry>
121     </row>
122     <row>
123       <entry>depth</entry>
124       <entry>Depth</entry>
125       <entry>int</entry>
126       <entry>C</entry>
127       <entry>Parent's Depth</entry>
128     </row>
129     <row>
130       <entry>destroyCallback</entry>
131       <entry>Callback</entry>
132       <entry>XtCallbackList</entry>
133       <entry></entry>
134       <entry>NULL</entry>
135     </row>
136     <row>
137       <entry>height</entry>
138       <entry>Height</entry>
139       <entry>Dimension</entry>
140       <entry>A</entry>
141       <entry>see <function>Layout Semantics</function></entry>
142     </row>
143     <row>
144       <entry>mappedWhenManaged</entry>
145       <entry>MappedWhenManaged</entry>
146       <entry>Boolean</entry>
147       <entry></entry>
148       <entry>True</entry>
149     </row>
150     <row>
151       <entry>numChildren</entry>
152       <entry>ReadOnly</entry>
153       <entry>Cardinal</entry>
154       <entry>R</entry>
155       <entry>0</entry>
156     </row>
157     <row>
158       <entry>reportCallback</entry>
159       <entry>ReportCallback</entry>
160       <entry>Callback</entry>
161       <entry></entry>
162       <entry>NULL</entry>
163     </row>
164     <row>
165       <entry>screen</entry>
166       <entry>Screen</entry>
167       <entry>Screen</entry>
168       <entry>R</entry>
169       <entry>Parent's Screen</entry>
170     </row>
171     <row>
172       <entry>sensitive</entry>
173       <entry>Sensitive</entry>
174       <entry>Boolean</entry>
175       <entry></entry>
176       <entry>True</entry>
177     </row>
178     <row>
179       <entry>translations</entry>
180       <entry>Translations</entry>
181       <entry>TranslationTable</entry>
182       <entry></entry>
183       <entry>NULL</entry>
184     </row>
185     <row>
186       <entry>width</entry>
187       <entry>Width</entry>
188       <entry>Dimension</entry>
189       <entry>A</entry>
190       <entry>see <function>Layout Semantics</function></entry>
191     </row>
192     <row>
193       <entry>x</entry>
194       <entry>Position</entry>
195       <entry>Position</entry>
196       <entry></entry>
197       <entry>0</entry>
198     </row>
199     <row>
200       <entry>y</entry>
201       <entry>Position</entry>
202       <entry>Position</entry>
203       <entry></entry>
204       <entry>0</entry>
205     </row>
206     <row>
207       <entry>_</entry>
208     </row>
209   </tbody>
210   </tgroup>
211 </informaltable>
212 <!-- .Ac -->
213 <!-- .As -->
214 <!-- .Bg -->
215 <!-- .Gp -->
216 <!-- .Bc -->
217 <!-- .Bp -->
218 <!-- .Bw -->
219 <!-- .Ch -->
220 <!-- .Cm -->
221 <!-- .Dp -->
222 <!-- .Dc -->
223 <!-- .Hw -->
224 <!-- .Mm -->
225 <!-- .Nc -->
226 <variablelist>
227   <varlistentry>
228     <term>
229       <function>reportCallback</function>
230     </term>
231     <listitem>
232       <para>
233 A list of functions to invoke whenever the managed child widget changes
234 size or position.
235       </para>
236     </listitem>
237   </varlistentry>
238 </variablelist>
239 <!-- .Sc -->
240 <!-- .Se -->
241 <!-- .Tr -->
242 <!-- .Xy -->
243 </para>
244 </sect2>
245 <sect2 id='Porthole::Layout_Semantics'>
246 <title>Layout Semantics</title>
247 <!-- .IN "Porthole widget" "layout semantics" -->
248 <para>
249 <!-- .LP -->
250 The Porthole widget allows its managed child to request any size
251 that is as large
252 or larger than the Porthole itself and any location so long as the child
253 still obscures all of the Porthole.  This widget typically is used with a
254 Panner widget.
255 </para>
256 </sect2>
257 <sect2 id="Porthole_Callbacks">
258 <title>Porthole Callbacks</title>
259 <!-- .IN "Porthole widget" "callbacks" -->
260 <para>
261 <!-- .LP -->
262 The functions registered on the <function>reportCallback</function> list are invoked whenever
263 the managed child changes size or position:
264 <!-- .IN "ReportProc" "" "@DEF@" -->
265 <funcsynopsis id='Porthole::ReportProc'>
266 <funcprototype>
267   <funcdef>void<function> ReportProc</function></funcdef>
268   <paramdef>Widget<parameter> porthole</parameter></paramdef>
269   <paramdef>XtPointer<parameter> client_data</parameter></paramdef>
270   <paramdef>XtPointer<parameter> report</parameter></paramdef>
271 </funcprototype>
272 </funcsynopsis>
273 <!-- .FN -->
274 </para>
275 <variablelist>
276   <varlistentry>
277     <term>porthole</term>
278     <listitem>
279       <para>
280 <!-- .IP <emphasis remap='I'>porthole</emphasis> 1i -->
281 Specifies the Porthole widget.
282       </para>
283     </listitem>
284   </varlistentry>
285   <varlistentry>
286     <term>client_data</term>
287     <listitem>
288       <para>
289 <!-- .IP <emphasis remap='I'>client_data</emphasis> 1i -->
290 Specifies the client data.
291       </para>
292     </listitem>
293   </varlistentry>
294   <varlistentry>
295     <term>report</term>
296     <listitem>
297       <para>
298 <!-- .IP <emphasis remap='I'>report</emphasis> 1i -->
299 Specifies a pointer to an <function>XawPannerReport</function> structure containing
300 the location and size of the slider and the size of the canvas.
301       </para>
302     </listitem>
303   </varlistentry>
304 </variablelist>
305 </sect2>
306 </sect1>