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 <X11/Xaw/Porthole.h> 145ec34c4cSmrg<indexterm><primary>Porthole.h</primary></indexterm> 15994689c1SmrgClass Header file <X11/Xaw/PortholeP.h> 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