1994689c1Smrg<sect1 id="Porthole_Widget">
2994689c1Smrg<title>Porthole Widget</title>
3994689c1Smrg<para>
4994689c1Smrg<!-- .LP -->
5994689c1Smrg<!-- .XS -->
6994689c1Smrg<!-- 	Porthole Widget -->
7994689c1Smrg<!-- .XE -->
85ec34c4cSmrg<indexterm significance="preferred"><primary>Porthole widget</primary></indexterm>
9994689c1Smrg<literallayout class="monospaced">
10994689c1Smrg<!-- .TA 2.0i -->
11994689c1Smrg<!-- .ta 2.0i -->
12994689c1Smrg<!-- .sp -->
13994689c1SmrgApplication Header file	&lt;X11/Xaw/Porthole.h&gt;
145ec34c4cSmrg<indexterm><primary>Porthole.h</primary></indexterm>
15994689c1SmrgClass Header file	&lt;X11/Xaw/PortholeP.h&gt;
165ec34c4cSmrg<indexterm><primary>PortholeP.h</primary></indexterm>
17994689c1SmrgClass		portholeWidgetClass
185ec34c4cSmrg<indexterm><primary>portholeWidgetClass</primary></indexterm>
19994689c1SmrgClass Name	Porthole
205ec34c4cSmrg<indexterm><primary>Porthole widget</primary><secondary>class name</secondary></indexterm>
21994689c1SmrgSuperclass	Composite
22994689c1Smrg<!-- .sp -->
23994689c1Smrg</literallayout>
24994689c1Smrg</para>
25994689c1Smrg<para>
26994689c1Smrg<!-- .LP -->
27994689c1SmrgThe Porthole widget provides geometry management of a list of arbitrary
28994689c1Smrgwidgets, only one of which may be managed at any particular time.
29994689c1SmrgThe managed child widget is reparented within the porthole and is moved around
30994689c1Smrgby the application (typically under the control of a Panner widget).
31994689c1Smrg</para>
32421c997bSmrg<sect2 id='Porthole::Resources'>
33994689c1Smrg<title>Resources</title>
34994689c1Smrg<para>
35994689c1Smrg<!-- .LP -->
36994689c1SmrgWhen creating a Porthole widget instance, the following resources are
37994689c1Smrgretrieved from the argument list or from the resource database:
38994689c1Smrg</para>
39994689c1Smrg<para>
40994689c1Smrg<!-- .LP -->
415ec34c4cSmrg<indexterm><primary>Porthole widget</primary><secondary>resources</secondary></indexterm>
42994689c1Smrg<informaltable>
43994689c1Smrg  <tgroup cols='5' align='center'>
44994689c1Smrg  <colspec colname='c1'/>
45994689c1Smrg  <colspec colname='c2'/>
46994689c1Smrg  <colspec colname='c3'/>
47994689c1Smrg  <colspec colname='c4'/>
48994689c1Smrg  <colspec colname='c5'/>
49994689c1Smrg  <thead>
50994689c1Smrg    <row>
51994689c1Smrg      <entry>Name</entry>
52994689c1Smrg      <entry>Class</entry>
53994689c1Smrg      <entry>Type</entry>
54994689c1Smrg      <entry>Notes</entry>
55994689c1Smrg      <entry>Default Value</entry>
56994689c1Smrg    </row>
57994689c1Smrg  </thead>
58994689c1Smrg  <tbody>
59994689c1Smrg    <row>
60994689c1Smrg      <entry>accelerators</entry>
61994689c1Smrg      <entry>Accelerators</entry>
62994689c1Smrg      <entry>AcceleratorTable</entry>
63994689c1Smrg      <entry></entry>
64994689c1Smrg      <entry>NULL</entry>
65994689c1Smrg    </row>
66994689c1Smrg    <row>
67994689c1Smrg      <entry>ancestorSensitive</entry>
68994689c1Smrg      <entry>AncestorSensitive</entry>
69994689c1Smrg      <entry>Boolean</entry>
70994689c1Smrg      <entry>D</entry>
71994689c1Smrg      <entry>True</entry>
72994689c1Smrg    </row>
73994689c1Smrg    <row>
74994689c1Smrg      <entry>background</entry>
75994689c1Smrg      <entry>Background</entry>
76994689c1Smrg      <entry>Pixel</entry>
77994689c1Smrg      <entry></entry>
78994689c1Smrg      <entry>XtDefaultBackground</entry>
79994689c1Smrg    </row>
80994689c1Smrg    <row>
81994689c1Smrg      <entry>backgroundPixmap</entry>
82994689c1Smrg      <entry>Pixmap</entry>
83994689c1Smrg      <entry>Pixmap</entry>
84994689c1Smrg      <entry></entry>
85994689c1Smrg      <entry>XtUnspecifiedPixmap</entry>
86994689c1Smrg    </row>
87994689c1Smrg    <row>
88994689c1Smrg      <entry>borderColor</entry>
89994689c1Smrg      <entry>BorderColor</entry>
90994689c1Smrg      <entry>Pixel</entry>
91994689c1Smrg      <entry></entry>
92994689c1Smrg      <entry>XtDefaultForeground</entry>
93994689c1Smrg    </row>
94994689c1Smrg    <row>
95994689c1Smrg      <entry>borderPixmap</entry>
96994689c1Smrg      <entry>Pixmap</entry>
97994689c1Smrg      <entry>Pixmap</entry>
98994689c1Smrg      <entry></entry>
99994689c1Smrg      <entry>XtUnspecifiedPixmap</entry>
100994689c1Smrg    </row>
101994689c1Smrg    <row>
102994689c1Smrg      <entry>borderWidth</entry>
103994689c1Smrg      <entry>BorderWidth</entry>
104994689c1Smrg      <entry>Dimension</entry>
105994689c1Smrg      <entry></entry>
106994689c1Smrg      <entry>1</entry>
107994689c1Smrg    </row>
108994689c1Smrg    <row>
109994689c1Smrg      <entry>children</entry>
110994689c1Smrg      <entry>ReadOnly</entry>
111994689c1Smrg      <entry>WidgetList</entry>
112994689c1Smrg      <entry>R</entry>
113994689c1Smrg      <entry>NULL</entry>
114994689c1Smrg    </row>
115994689c1Smrg    <row>
116994689c1Smrg      <entry>colormap</entry>
117994689c1Smrg      <entry>Colormap</entry>
118994689c1Smrg      <entry>Colormap</entry>
119994689c1Smrg      <entry></entry>
120994689c1Smrg      <entry>Parent's Colormap</entry>
121994689c1Smrg    </row>
122994689c1Smrg    <row>
123994689c1Smrg      <entry>depth</entry>
124994689c1Smrg      <entry>Depth</entry>
125994689c1Smrg      <entry>int</entry>
126994689c1Smrg      <entry>C</entry>
127994689c1Smrg      <entry>Parent's Depth</entry>
128994689c1Smrg    </row>
129994689c1Smrg    <row>
130994689c1Smrg      <entry>destroyCallback</entry>
131994689c1Smrg      <entry>Callback</entry>
132994689c1Smrg      <entry>XtCallbackList</entry>
133994689c1Smrg      <entry></entry>
134994689c1Smrg      <entry>NULL</entry>
135994689c1Smrg    </row>
136994689c1Smrg    <row>
137994689c1Smrg      <entry>height</entry>
138994689c1Smrg      <entry>Height</entry>
139994689c1Smrg      <entry>Dimension</entry>
140994689c1Smrg      <entry>A</entry>
141994689c1Smrg      <entry>see <function>Layout Semantics</function></entry>
142994689c1Smrg    </row>
143994689c1Smrg    <row>
144994689c1Smrg      <entry>mappedWhenManaged</entry>
145994689c1Smrg      <entry>MappedWhenManaged</entry>
146994689c1Smrg      <entry>Boolean</entry>
147994689c1Smrg      <entry></entry>
148994689c1Smrg      <entry>True</entry>
149994689c1Smrg    </row>
150994689c1Smrg    <row>
151994689c1Smrg      <entry>numChildren</entry>
152994689c1Smrg      <entry>ReadOnly</entry>
153994689c1Smrg      <entry>Cardinal</entry>
154994689c1Smrg      <entry>R</entry>
155994689c1Smrg      <entry>0</entry>
156994689c1Smrg    </row>
157994689c1Smrg    <row>
158994689c1Smrg      <entry>reportCallback</entry>
159994689c1Smrg      <entry>ReportCallback</entry>
160994689c1Smrg      <entry>Callback</entry>
161994689c1Smrg      <entry></entry>
162994689c1Smrg      <entry>NULL</entry>
163994689c1Smrg    </row>
164994689c1Smrg    <row>
165994689c1Smrg      <entry>screen</entry>
166994689c1Smrg      <entry>Screen</entry>
167994689c1Smrg      <entry>Screen</entry>
168994689c1Smrg      <entry>R</entry>
169994689c1Smrg      <entry>Parent's Screen</entry>
170994689c1Smrg    </row>
171994689c1Smrg    <row>
172994689c1Smrg      <entry>sensitive</entry>
173994689c1Smrg      <entry>Sensitive</entry>
174994689c1Smrg      <entry>Boolean</entry>
175994689c1Smrg      <entry></entry>
176994689c1Smrg      <entry>True</entry>
177994689c1Smrg    </row>
178994689c1Smrg    <row>
179994689c1Smrg      <entry>translations</entry>
180994689c1Smrg      <entry>Translations</entry>
181994689c1Smrg      <entry>TranslationTable</entry>
182994689c1Smrg      <entry></entry>
183994689c1Smrg      <entry>NULL</entry>
184994689c1Smrg    </row>
185994689c1Smrg    <row>
186994689c1Smrg      <entry>width</entry>
187994689c1Smrg      <entry>Width</entry>
188994689c1Smrg      <entry>Dimension</entry>
189994689c1Smrg      <entry>A</entry>
190994689c1Smrg      <entry>see <function>Layout Semantics</function></entry>
191994689c1Smrg    </row>
192994689c1Smrg    <row>
193994689c1Smrg      <entry>x</entry>
194994689c1Smrg      <entry>Position</entry>
195994689c1Smrg      <entry>Position</entry>
196994689c1Smrg      <entry></entry>
197994689c1Smrg      <entry>0</entry>
198994689c1Smrg    </row>
199994689c1Smrg    <row>
200994689c1Smrg      <entry>y</entry>
201994689c1Smrg      <entry>Position</entry>
202994689c1Smrg      <entry>Position</entry>
203994689c1Smrg      <entry></entry>
204994689c1Smrg      <entry>0</entry>
205994689c1Smrg    </row>
206994689c1Smrg    <row>
207994689c1Smrg      <entry>_</entry>
208994689c1Smrg    </row>
209994689c1Smrg  </tbody>
210994689c1Smrg  </tgroup>
211994689c1Smrg</informaltable>
212994689c1Smrg<!-- .Ac -->
213994689c1Smrg<!-- .As -->
214994689c1Smrg<!-- .Bg -->
215994689c1Smrg<!-- .Gp -->
216994689c1Smrg<!-- .Bc -->
217994689c1Smrg<!-- .Bp -->
218994689c1Smrg<!-- .Bw -->
219994689c1Smrg<!-- .Ch -->
220994689c1Smrg<!-- .Cm -->
221994689c1Smrg<!-- .Dp -->
222994689c1Smrg<!-- .Dc -->
223994689c1Smrg<!-- .Hw -->
224994689c1Smrg<!-- .Mm -->
225994689c1Smrg<!-- .Nc -->
226994689c1Smrg<variablelist>
227994689c1Smrg  <varlistentry>
228994689c1Smrg    <term>
229994689c1Smrg      <function>reportCallback</function>
230994689c1Smrg    </term>
231994689c1Smrg    <listitem>
232994689c1Smrg      <para>
233994689c1SmrgA list of functions to invoke whenever the managed child widget changes
234994689c1Smrgsize or position.
235994689c1Smrg      </para>
236994689c1Smrg    </listitem>
237994689c1Smrg  </varlistentry>
238994689c1Smrg</variablelist>
239994689c1Smrg<!-- .Sc -->
240994689c1Smrg<!-- .Se -->
241994689c1Smrg<!-- .Tr -->
242994689c1Smrg<!-- .Xy -->
243994689c1Smrg</para>
244994689c1Smrg</sect2>
245421c997bSmrg<sect2 id='Porthole::Layout_Semantics'>
246994689c1Smrg<title>Layout Semantics</title>
2475ec34c4cSmrg<indexterm><primary>Porthole widget</primary><secondary>layout semantics</secondary></indexterm>
248994689c1Smrg<para>
249994689c1Smrg<!-- .LP -->
250994689c1SmrgThe Porthole widget allows its managed child to request any size
251994689c1Smrgthat is as large
252994689c1Smrgor larger than the Porthole itself and any location so long as the child
253994689c1Smrgstill obscures all of the Porthole.  This widget typically is used with a
254994689c1SmrgPanner widget.
255994689c1Smrg</para>
256994689c1Smrg</sect2>
257994689c1Smrg<sect2 id="Porthole_Callbacks">
258994689c1Smrg<title>Porthole Callbacks</title>
2595ec34c4cSmrg<indexterm><primary>Porthole widget</primary><secondary>callbacks</secondary></indexterm>
260994689c1Smrg<para>
261994689c1Smrg<!-- .LP -->
262994689c1SmrgThe functions registered on the <function>reportCallback</function> list are invoked whenever
263994689c1Smrgthe managed child changes size or position:
2645ec34c4cSmrg<indexterm significance="preferred"><primary>ReportProc</primary></indexterm>
265421c997bSmrg<funcsynopsis id='Porthole::ReportProc'>
266994689c1Smrg<funcprototype>
267994689c1Smrg  <funcdef>void<function> ReportProc</function></funcdef>
268994689c1Smrg  <paramdef>Widget<parameter> porthole</parameter></paramdef>
269994689c1Smrg  <paramdef>XtPointer<parameter> client_data</parameter></paramdef>
270994689c1Smrg  <paramdef>XtPointer<parameter> report</parameter></paramdef>
271994689c1Smrg</funcprototype>
272994689c1Smrg</funcsynopsis>
273994689c1Smrg<!-- .FN -->
274994689c1Smrg</para>
275994689c1Smrg<variablelist>
276994689c1Smrg  <varlistentry>
277994689c1Smrg    <term>porthole</term>
278994689c1Smrg    <listitem>
279994689c1Smrg      <para>
280994689c1Smrg<!-- .IP <emphasis remap='I'>porthole</emphasis> 1i -->
281994689c1SmrgSpecifies the Porthole widget.
282994689c1Smrg      </para>
283994689c1Smrg    </listitem>
284421c997bSmrg  </varlistentry>
285994689c1Smrg  <varlistentry>
286994689c1Smrg    <term>client_data</term>
287994689c1Smrg    <listitem>
288994689c1Smrg      <para>
289994689c1Smrg<!-- .IP <emphasis remap='I'>client_data</emphasis> 1i -->
290994689c1SmrgSpecifies the client data.
291994689c1Smrg      </para>
292994689c1Smrg    </listitem>
293421c997bSmrg  </varlistentry>
294994689c1Smrg  <varlistentry>
295994689c1Smrg    <term>report</term>
296994689c1Smrg    <listitem>
297994689c1Smrg      <para>
298994689c1Smrg<!-- .IP <emphasis remap='I'>report</emphasis> 1i -->
299994689c1SmrgSpecifies a pointer to an <function>XawPannerReport</function> structure containing
300994689c1Smrgthe location and size of the slider and the size of the canvas.
301994689c1Smrg      </para>
302994689c1Smrg    </listitem>
303421c997bSmrg  </varlistentry>
304994689c1Smrg</variablelist>
305994689c1Smrg</sect2>
306994689c1Smrg</sect1>
307