Porthole.xml revision 5ec34c4c
1<sect1 id="Porthole_Widget">
2<title>Porthole Widget</title>
3<para>
4<!-- .LP -->
5<!-- .XS -->
6<!-- 	Porthole Widget -->
7<!-- .XE -->
8<indexterm significance="preferred"><primary>Porthole widget</primary></indexterm>
9<literallayout class="monospaced">
10<!-- .TA 2.0i -->
11<!-- .ta 2.0i -->
12<!-- .sp -->
13Application Header file	&lt;X11/Xaw/Porthole.h&gt;
14<indexterm><primary>Porthole.h</primary></indexterm>
15Class Header file	&lt;X11/Xaw/PortholeP.h&gt;
16<indexterm><primary>PortholeP.h</primary></indexterm>
17Class		portholeWidgetClass
18<indexterm><primary>portholeWidgetClass</primary></indexterm>
19Class Name	Porthole
20<indexterm><primary>Porthole widget</primary><secondary>class name</secondary></indexterm>
21Superclass	Composite
22<!-- .sp -->
23</literallayout>
24</para>
25<para>
26<!-- .LP -->
27The Porthole widget provides geometry management of a list of arbitrary
28widgets, only one of which may be managed at any particular time.
29The managed child widget is reparented within the porthole and is moved around
30by 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 -->
36When creating a Porthole widget instance, the following resources are
37retrieved from the argument list or from the resource database:
38</para>
39<para>
40<!-- .LP -->
41<indexterm><primary>Porthole widget</primary><secondary>resources</secondary></indexterm>
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>
233A list of functions to invoke whenever the managed child widget changes
234size 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<indexterm><primary>Porthole widget</primary><secondary>layout semantics</secondary></indexterm>
248<para>
249<!-- .LP -->
250The Porthole widget allows its managed child to request any size
251that is as large
252or larger than the Porthole itself and any location so long as the child
253still obscures all of the Porthole.  This widget typically is used with a
254Panner widget.
255</para>
256</sect2>
257<sect2 id="Porthole_Callbacks">
258<title>Porthole Callbacks</title>
259<indexterm><primary>Porthole widget</primary><secondary>callbacks</secondary></indexterm>
260<para>
261<!-- .LP -->
262The functions registered on the <function>reportCallback</function> list are invoked whenever
263the managed child changes size or position:
264<indexterm significance="preferred"><primary>ReportProc</primary></indexterm>
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 -->
281Specifies 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 -->
290Specifies 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 -->
299Specifies a pointer to an <function>XawPannerReport</function> structure containing
300the location and size of the slider and the size of the canvas.
301      </para>
302    </listitem>
303  </varlistentry>
304</variablelist>
305</sect2>
306</sect1>
307