1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2	"http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4
5<head>
6<title>Poly/ML for Motif</title>
7</head>
8
9<body bgcolor="#FFFFFF">
10
11<h1 align="center">Poly/ML for Motif</h1>
12
13<h1 align="center">Quick Reference Manual</h1>
14
15<h2 align="center">Mike Crawley</h2>
16
17<h2 align="center">Chris Read</h2>
18
19<p>&nbsp;</p>
20
21<p>Copyright (c) 2000 Cambridge University Technical Services Limited<br>
22Copyright (c) 1992 Abstract Hardware Limited.<br>
23Copyright (c) 1992 Open Software Foundation, Inc.<br>
24Copyright (c) 1989 Digital Equipment Corporation.<br>
25Copyright (c) 1988 Massachusetts Institute of Technology.<br>
26All Rights Reserved.</p>
27
28<p>Permission to use, copy, modify, and distribute these signatures and their
29documentation for any purpose and without fee is hereby granted, provided that the above
30copyright notices appear in all copies and that both the copyright notices and this
31permission notice appear in supporting documentation, and that the names of Digital, MIT,
32OSF, AHL and CUTS not be used in advertising or publicity pertaining to distribution of
33the signatures and their documentation without specific, written prior permission.
34Digital, MIT, OSF, AHL and CUTS disclaim all warranties with regard to these signatures
35and their documentation, including all implied warranties of merchantability and fitness,
36in no event shall Digital, MIT, OSF, AHL or CUTS be liable for any special, indirect or
37consequential damages or any damages whatsoever resulting from loss of use, data or
38profits, whether in an action of contract, negligence or other tortious action, arising
39out of or in connection with the use or performance of these signatures and their
40documentation.</p>
41
42<p>Motif is a Trademark of OSF.<br>
43X Window System is a Trademark of MIT.</p>
44
45<p>&nbsp;</p>
46
47<h2>Contents</h2>
48<div align="center"><center>
49
50<table border="0">
51  <tr>
52    <td valign="top"><strong><a href="#Getting started with Motif">1 Getting started with
53    Motif</a></strong><br>
54    <a href="#What is Motif">1.1 What is Motif</a><br>
55    <a href="#What are Widgets">1.2 What are Widgets</a><br>
56    <a href="#Creating an application">1.3 Creating an application</a><br>
57    <a href="#Managing and Realizing Widgets">1.4 Managing and Realizing Widgets</a><br>
58    <a href="#What are Arg lists and Resources">1.5 What are Arg lists and Resources</a><br>
59    <a href="#Changing and examining Widget state">1.6 Changing and examining Widget state </a><br>
60    <a href="#What are Callbacks">1.7 What are Callbacks</a><p><strong><a href="#Widget Classes">2 Widget Classes</a></strong><br>
61    <a href="#ArrowButton">2.1 ArrowButton</a><br>
62    <a href="#BulletinBoard">2.2 BulletinBoard</a><br>
63    <a href="#CascadeButton">2.3 CascadeButton</a><br>
64    <a href="#Command">2.4 Command</a><br>
65    <a href="#ErrorDialog">2.5 ErrorDialog</a><br>
66    <a href="#FileSelectionDialog">2.6 FileSelectionDialog</a><br>
67    <a href="#InformationDialog">2.7 InformationDialog</a><br>
68    <a href="#List">2.8 List</a><br>
69    <a href="#MainWindow">2.9 MainWindow</a><br>
70    <a href="#MessageDialog">2.10 MessageDialog</a><br>
71    <a href="#OptionMen">2.11 OptionMenu</a><br>
72    <a href="#PanedWindow">2.12 PanedWindow</a><br>
73    <a href="#PromptDialog">2.13 PromptDialog</a><br>
74    <a href="#QuestionDialog">2.14 QuestionDialog</a><br>
75    <a href="#Scale">2.15 Scale</a></td>
76    <td valign="top" width="33%"><a href="#ScrollBar">2.16 ScrollBar</a><br>
77    <a href="#ScrolledList">2.17 ScrolledList</a><br>
78    <a href="#ScrolledText">2.18 ScrolledText</a><br>
79    <a href="#ScrolledWindow">2.19 ScrolledWindow</a><br>
80    <a href="#SelectionDialog">2.20 SelectionDialog</a><br>
81    <a href="#Text">2.21 Text</a><br>
82    <a href="#ToggleButton">2.22 ToggleButton</a><br>
83    <a href="#WarningDialog">2.23 WarningDialog</a><br>
84    <a href="#WorkingDialog">2.24 WorkingDialog</a><p><a href="#Resource Tables"><strong>3
85    Resource Tables</strong></a><br>
86    <a href="#ApplicationShell">3.1 ApplicationShell</a><br>
87    <a href="#Composite">3.2 Composite</a><br>
88    <a href="#3.3 Core">3.3 Core</a><br>
89    <a href="#3.4 Object">3.4 Object</a><br>
90    <a href="#3.5 RectOb">3.5 RectObj</a><br>
91    <a href="#3.6 Shell">3.6 Shell</a><br>
92    <a href="#3.7 TopLevelShell">3.7 TopLevelShell</a><br>
93    <a href="#3.8 TransientShell">3.8 TransientShell</a><br>
94    <a href="#3.9 VendorShell">3.9 VendorShell</a><br>
95    <a href="#3.10 WMShell">3.10 WMShell</a><br>
96    <a href="#3.11 XmArrowButton">3.11 XmArrowButton</a><br>
97    <a href="#3.12 XmBulletinBoard">3.12 XmBulletinBoard</a><br>
98    <a href="#3.13 XmCascadeButton">3.13 XmCascadeButton</a><br>
99    <a href="#3.14 XmCommand">3.14 XmCommand</a></td>
100    <td valign="top" width="33%"><a href="#3.15 XmDrawingArea">3.15 XmDrawingArea</a><br>
101    <a href="#3.16 XmDrawnButton">3.16 XmDrawnButton</a><br>
102    <a href="#3.17 XmFileSelectionBox">3.17 XmFlleSelectionBox</a><br>
103    <a href="#3.18 XmForm">3.18 XmForm</a><br>
104    <a href="#3.19 XmFrame">3.19 XmFrame</a><br>
105    <a href="#3.20 XmGadget">3.20 XmGadget</a><br>
106    <a href="#3.21 XmLabel">3.21 XmLabel</a><br>
107    <a href="#3.22 XmList">3.22 XmList</a><br>
108    <a href="#3.23 XmMainWindow">3.23 XmMainWindow</a><br>
109    <a href="#3.24 XmManager">3.24 XmManager</a><br>
110    <a href="#3.25 XmMenuShell">3.25 XmMenuShell</a><br>
111    <a href="#3.26 XmMessageBox">3.26 XmMessageBox</a><br>
112    <a href="#3.27 XmPanedWindow">3.27 XmPanedWindow</a><br>
113    <a href="#3.28 XmPrimitive">3.28 XmPrimitive</a><br>
114    <a href="#3.29 XmPushButton">3.29 XmPushButton</a><br>
115    <a href="#3.30 XmRowColumn">3.30 XmRowColumn</a><br>
116    <a href="#3.31 XmScale">3.31 XmScale</a><br>
117    <a href="#3.32 XmScrollBar">3.32 XmScrollBar</a><br>
118    <a href="#3.33 XmScrolledWindow">3.33 XmScrolledWindow</a><br>
119    <a href="#3.34 XmSelectionBox">3.34 XmSelectionBox</a><br>
120    <a href="#3.35 XmSeparator">3.35 XmSeparator</a><br>
121    <a href="#3.36 XmText">3.36 XmText</a><br>
122    <a href="#3.37 XmTextField">3.37 XmTextField</a><br>
123    <a href="#3.38 XmToggleButton">3.38 XmToggleButton</a></td>
124  </tr>
125</table>
126</center></div>
127
128<p>&nbsp;</p>
129
130<p>&nbsp;</p>
131
132<h2>Chapter 1</h2>
133
134<h2><a name="Getting started with Motif">Getting started with Motif</a></h2>
135
136<h3>1.1 <a name="What is Motif">What is Motif</a></h3>
137
138<p>Motif is a user environment built on top of the X Window System and is designed to make
139interaction with your computer easier and more productive. Applications written for Motif
140are intended to follow a particular style of appearance and behaviour, so that you do not
141have to learn new techniques for working with each separate application program.</p>
142
143<p>This document is intended to give enough information so that you can start programming
144Motif applications in Poly/ML without having to read all the standard OSF (Open Software
145Foundation) material. However, you will need more detailed information at later stages in
146your work and you should have the following three books at hand.</p>
147
148<table border="0" width="761">
149  <tr>
150    <td width="216">OSF/Motif Style Guide&nbsp;&nbsp; </td>
151    <td width="537">This will guide the programmer to design and implement applications so
152    that they are consistent with the OSF/Motif user interface.</td>
153  </tr>
154  <tr>
155    <td width="216">OSF/Motif Programmer's Reference&nbsp;&nbsp; </td>
156    <td width="537">This describes in detail each Motif function and its associated resources.</td>
157  </tr>
158  <tr>
159    <td width="216">PolyML for X Reference&nbsp;&nbsp; </td>
160    <td width="537">This describes how to use each individual function provided in the Poly/ML
161    implementation of Xlib - the low level interface to the X Window System.</td>
162  </tr>
163</table>
164
165<p>In addition to the reference material in these books, we recommend that you read a
166Motif programming manual from the following list.</p>
167
168<table border="0">
169  <tr>
170    <td><strong>Motif Programming Manual&nbsp;&nbsp; </strong></td>
171    <td>Volume 6 of the well known O'Reilly set of manuals for X. Written by Dan Heller.</td>
172  </tr>
173  <tr>
174    <td><strong>Programming OSF/Motif&nbsp;&nbsp; </strong></td>
175    <td>Prentice-Hall publish this book by Douglas Young.</td>
176  </tr>
177  <tr>
178    <td><strong>Visual Design with OSF/Motif&nbsp;&nbsp; </strong></td>
179    <td>Addison-Wesley publish this book by Shiz Kobara.</td>
180  </tr>
181</table>
182
183<h3>1.2 <a name="What are Widgets">What are Widgets</a></h3>
184
185<p>The Motif widget set is constructed on top of the Xt intrinsics, which are in turn
186constructed on top of the X Window System. A widget is an object providing a user
187interface abstraction, for example, a scroll bar. The Motif widget set aims to provide a
188set of useful abstractions that a programmer can join together to construct the
189application, often without having to invent any new additional behaviour or abstractions.
190The main advantages of the widget set are that all applications built with the same widget
191set provide the same set of abstractions, and the time to implement the application is
192drastically reduced, leaving the programmer more time to improve the program that is
193behind the user interface.</p>
194
195<p>Each widget is a combination of an X Window, a well defined behaviour, and some state
196information. Each widget is a member of exactly one widget class which provides the
197functions and data for all members of that class. Widget classes may be inherited by
198subclassing.</p>
199
200<p>A great deal of the visual appearance and some of the behaviour of each individual
201widget or an entire widget class can be customised by the user. This is typically done by
202using files of settings for the fields within the widget classes that affect colours,
203fonts, sizes, and so on. These fields are collectively known as resources, and this
204document contains tables of the permitted resources for each widget class.</p>
205
206<h3>1.3 <a name="Creating an application">Creating an application</a></h3>
207
208<p>An application must create a set of widgets to present to the user. First of all the
209application must create the application shell widget. Most applications only have one
210shell widget - this is the window which the window manager places and resizes on the
211screen. All the other widgets created by the application are typically children of this
212shell widget.</p>
213
214<p>The structure XWindows contains all the definitions for the Xlib level of the
215interface. The structure Motif contains all the definitions for the Motif interface.</p>
216
217<p><tt>open XWindows ;<br>
218open Motif ;<br>
219...</tt></p>
220
221<p><tt>val XtAppInitialise: string -&gt; string -&gt; string -&gt;<br>
222&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
223string list -&gt; Arg list -&gt; Widget<br>
224...</tt></p>
225
226<p>The first parameter to <tt>XtAppInitialise</tt> is the name of the <tt>Display</tt> to
227open in the manner of the Xlib function <tt>X0penDisplay</tt> - this function is
228documented along with all the other Xlib functions in the Poly/ML for X Reference Manual.
229The second parameter is the name of this application, and the third parameter is the name
230of this class of application. Both these names are significant in loading the resource
231database and finding the resource values for all the widgets used inside this application.
232Finding resource values is discussed in more detail in a later section. The string list
233parameter is a list of fallback resource values and the <tt>Arg list</tt> parameter is a
234list of preset resource values. The preset resource values are always used in preference
235to resource values found in the database or in the fallback list. The fallback list
236provides values to use when values are not found in either the preset list or in the
237resource database. The resource values that each class of widget can accept are described
238in the sections about each individual widget class later in this document. The widget
239returned is an <tt>ApplicationShell</tt> widget on that display.</p>
240
241<p>The following is the start of a small example program.</p>
242
243<p><tt>val shell =<br>
244&nbsp;&nbsp;&nbsp; XtAppInitialise &quot;&quot; &quot;xed&quot; &quot;Editor&quot; []
245[XmNwidth 400, XmNheight 400] ;</tt></p>
246
247<p>The display is opened and the first shell widget is created with preset width and
248height values.</p>
249
250<p>Now that a shell widget has been created the other widgets in the application can be
251created. The functions to create different types of Motif widgets have differing names but
252they all have the same type.</p>
253
254<p><tt>val XmCreate&lt;...&gt;: Widget -&gt; string -&gt; Arg list -&gt; Widget</tt></p>
255
256<p>The parameters specify the parent widget, the name of this widget, and any preset
257resource values. If no resource values are preset then they default to values in the
258user's resource files, or values in the fallback list, or to compiled-in defaults.</p>
259
260<p>The next part of our example is as follows.</p>
261
262<p><tt>val main = XmCreateMainWindow shell &quot;main&quot; [] ;</tt></p>
263
264<p><tt>val bar = XmCreateMenuBar main &quot;bar&quot; [] ;</tt></p>
265
266<p><tt>val fileMenu = XmCreateCascadeButton bar &quot;file&quot; [XmNlabelString
267&quot;File&quot;] ;<br>
268val editMenu = XmCreateCascadeButton bar &quot;edit&quot; [XmNlabelString
269&quot;Edit&quot;] ;<br>
270val viewMenu = XmCreateCascadeButton bar &quot;view&quot; [XmNlabelString
271&quot;View&quot;] ;<br>
272val helpMenu = XmCreateCascadeButton bar &quot;help&quot; [XmNlabelString
273&quot;Help&quot;] ;</tt></p>
274
275<p><tt>val command = XmCreateText main &quot;command&quot; [XmNeditMode
276XmSINGLE_LINE_EDIT] ;</tt></p>
277
278<p><tt>val hscroll = XmCreateScrollBar main &quot;hscroll&quot; [XmNorientation
279XmHORIZONTAL] ;<br>
280val vscroll = XmCreateScrollBar main &quot;vscroll&quot; [XmNorientation XmVERTICAL] ;</tt></p>
281
282<p><tt>val work = XmCreateDrawingArea main &quot;work&quot; [] ;</tt></p>
283
284<p>The code above creates a hierarchy of widgets. Each class of widget that can have child
285widgets is a subclass of Composite and provides a behaviour that manages those children.
286For example, in the code above, a MenuBar widget has four children which are all
287CascadeButtons. The MenuBar lays out the buttons horizontally and provides a behaviour for
288the buttons according to the movement of the mouse and the pressing of the mouse buttons.
289The MainWindow widget has the MenuBar, scroll bars and a drawing area as children, and
290provides a standard layout for these widgets.</p>
291
292<h3>1.4 <a name="Managing and Realizing Widgets">Managing and Realizing Widgets</a></h3>
293
294<p>When a widget is managed it is added to the geometry-managed displayable subset of its
295parent's children. If a widget is not managed then it cannot be displayed and does not
296have its size and position changed by its parent. Managing and unmanaging can therefore be
297used to make different parts of an application appear and disappear, without the expense
298of creating and destroying widgets.</p>
299
300<p>Realizing a widget is the process of creating and mapping an X window for the widget,
301and then recursively realizing the managed subset of the widget's children. Changing the
302managed subset will only have visible effects if the parent is already realized, or when
303the parent widget becomes realized later.</p>
304
305<p><tt>val XtManageChild: Widget -&gt; unit<br>
306val XtUnmanageChild: Widget -&gt; unit</tt></p>
307
308<p><tt>val XtManageChildren: Widget list -&gt; unit<br>
309val XtUnmanageChildren: Widget list -&gt; unit</tt></p>
310
311<p><tt>val XtRealizeWidget: Widget -&gt; unit<br>
312val XtUnrealizeWidget: Widget -&gt; unit</tt></p>
313
314<p><tt>XtManageChild</tt> and <tt>XtUnmanageChild</tt> will manage and unmanage one widget
315at a time. <tt>XtManageChildren</tt> and <tt>XtUnmanageChildren</tt> can be given lists of
316widgets with a common parent and can be quicker than working on one widget at a time.</p>
317
318<p><tt>XtRealizeWidget</tt> is given the root of a widget tree and recursively creates and
319maps all the X windows required by the managed children in the tree.</p>
320
321<p><tt>XtUnrealizeWidget</tt> is given the root of a widget tree and recursively destroys
322all the X windows created by the managed children in the tree.</p>
323
324<p>Our example continues with managing and realizing the widgets we have just created.</p>
325
326<p><tt>XtManageChildren [fileMenu, editMenu, viewMenu, helpMenu] ;<br>
327XtManageChildren [bar, command, hscroll, vscroll, work] ;</tt></p>
328
329<p><tt>XmMainWindowSetAreas main bar command hscroll vscroll work ;</tt></p>
330
331<p><tt>XtManageChild main ;<br>
332XtRealizeWidget shell ;</tt></p>
333
334<p>At this point the application becomes visible on the display and will look very similar
335to the application below.</p>
336
337<p align="center"><img src="Appl-1-4.gif" alt="Appl-1-4.gif (2353 bytes)" WIDTH="384" HEIGHT="194"></p>
338
339<h3>1.5 <a name="What are Arg lists and Resources">What are Arg lists and Resources</a></h3>
340
341<p>A resource is a named field inside a widget that can be set with a value by the user in
342one of several ways. These resources are used to change the behaviour or the appearance of
343the widget. The names of all these resources are printed in tables in this manual for
344every widget class that is available in Motif. For example</p>
345
346<table border="1">
347  <tr>
348    <td colspan="3" align="center">XmCascadeButton Resources</td>
349  </tr>
350  <tr>
351    <td><strong>Name</strong></td>
352    <td><strong>Class</strong></td>
353    <td><strong>Type</strong></td>
354  </tr>
355  <tr>
356    <td>XmNactivateCallback</td>
357    <td>XmCCallback</td>
358    <td>(callback)</td>
359  </tr>
360  <tr>
361    <td>XmNcascadePixmap</td>
362    <td>XmCPixmap</td>
363    <td>Drawable</td>
364  </tr>
365  <tr>
366    <td>XmNcascadingCallback</td>
367    <td>XmCCallback</td>
368    <td>(callback)</td>
369  </tr>
370  <tr>
371    <td>XmNmappingDelay</td>
372    <td>XmCMappingDelay</td>
373    <td>int</td>
374  </tr>
375  <tr>
376    <td>XmNsubMenuId</td>
377    <td>XmCMenuWidget</td>
378    <td>Widget</td>
379  </tr>
380</table>
381
382<p>The purpose of each resource is fully documented in the OSF/Motif Programmer's
383Reference.</p>
384
385<h4>1.5.1 Initialising with Arg lists</h4>
386
387<p>There are several ways to set the initial value of a resource. When a widget is created
388the user passes in an Arg list which contains preset resource values. These values are
389copied into the widget in preference to all other values. The Arg datatype is designed to
390provide an easy way of passing in values of many different types as a single Arg list. The
391constructors have names such as</p>
392
393<p><tt>val XmNshadowThickness: int -&gt; Arg<br>
394val XmNsliderSize: int -&gt; Arg</tt></p>
395
396<p>and can be used as destructors as well. Arg is actually implemented as an infinite
397datatype - it is the type exn - which means that signatures for functors that use only a
398few of the Arg destructors need not know the names of all the other destructors - which
399would be the case with a standard datatype. Instead they need only include the lines they
400need, as in the following example.</p>
401
402<p><tt>signature MOTIF_SIG = sig<br>
403&nbsp;&nbsp; type Widget</tt></p>
404
405<p><tt>&nbsp;&nbsp; type Arg sharing type Arg = exn</tt></p>
406
407<p><tt>&nbsp;&nbsp; val XmCreateCascadeButton: Widget -&gt; string -&gt; Arg list -&gt;
408Widget</tt></p>
409
410<p><tt>&nbsp;&nbsp; exception XmNshadowThickness of int<br>
411&nbsp;&nbsp; exception XmNsliderSize of int<br>
412end ;</tt></p>
413
414<p>When compiling code that uses the signature above the compiler knows that the Arg list
415needed by XmCreateCascadeButton is the same type as exn list, and this will allow you to
416construct and destruct these lists using the exception constructors. If you pass in an exn
417that is not recognised by the Motif interface then it is rejected and an exception is
418raised.</p>
419
420<h4>1.5.2 Loading the resource database</h4>
421
422<p>If a resource value is not specified in the Arg list at creation time then the widget
423searches the resource database for that field.</p>
424
425<p>A complicated process of merging together separate resource files into a single
426resource database is performed when the function <tt>XtAppInitialise</tt> is called. This
427process is fully documented in user manuals for X Windows, especially in Chapter 11 of Vol
4281 of the O'Reilly series of X Manuals. Here we only give a simple example of how the
429resource files are located - which is enough for most users.</p>
430
431<p>First the process attempts to load a class-specific resource file using the application
432class name and a search path which is stored in an environment variable. The third
433parameter to <tt>XtAppInitialise</tt> is the name of this class of application, and the
434search path is typically stored in the <tt>XFILESEARCHPATH</tt> environment variable as
435follows.</p>
436
437<p><tt>setenv XFILESEARCHPATH $HOME/%T/%N%S</tt></p>
438
439<p>The loading process replaces the <tt>%T</tt> component of the path with app-defaults
440and the <tt>%N</tt> component with the class name. The suffix component <tt>%S</tt> is not
441normally used here. In simpler terms, if the user has a directory called <tt>app-defaults</tt>
442in his home directory, and in that directory there is a file with the same name as the
443class name of the application, for example <tt>Editor</tt>, then that file is loaded into
444the resource database. Note that class names start with a capital letter by convention.</p>
445
446<p>Then the process attempts to load another class-specific resource file using the
447application class name and a search path which is stored in the <tt>XAPPLRESDIR</tt>
448environment variable, which typically has a value like</p>
449
450<p><tt>/usr/motif/lib/app-defaults</tt></p>
451
452<p>If, in this directory, there is a file with the same name as the class name of the
453application then that file is merged into the resource database we have constructed so
454far.</p>
455
456<p>The process then looks for a property which holds the default resources on the root
457window of the user's display. These defaults are often put in place by the xrdb program.
458These are merged into the database if they are found, otherwise the process looks for a
459file called <tt>$HOME/.Xdefaults</tt> and merges that into the database instead. Often the
460root property set by <tt>xrdb</tt> is a copy of the <tt>.Xdefaults</tt> file at the time
461the X server was started. If the user changes the <tt>.Xdefaults</tt> file then he should
462use</p>
463
464<p><tt>xrdb .Xdefaults</tt></p>
465
466<p>to copy the new version into the server.</p>
467
468<p>Note the order of the merging process. The preset Arg list parameter overrides the
469values in the <tt>.Xdefaults</tt> file, which override the values in the <tt>XAPPLRESDIR</tt>
470directory, which override the values in the <tt>XFILESEARCHPATH</tt> directory, which
471override the values in the fallback resource list parameter.</p>
472
473<p>Typically the user creates a file for each application class in his app-defaults
474directory. This keeps the resource settings for each application separate from one
475another, and keeps the <tt>.Xdefaults</tt> file small.</p>
476
477<h4>1.5.3 Finding resources in the database</h4>
478
479<p>The second and third parameters to XtAppInitialise are the name of this application
480instance, and name of this class of application. These names are used to construct the
481full names of the resource fields in the widgets.</p>
482
483<p>For example, if the application name is <tt>xed</tt> and there is an <tt>XmMainWindow</tt>
484widget with the name <tt>main</tt>, then the resource fields <tt>XmNforeground</tt> and <tt>XmNshowSeparator</tt>
485have the full names</p>
486
487<p><tt>xed.main.foreground<br>
488xed.main.showSeparator</tt></p>
489
490<p>The levels in the widget hierarchy are represented by the names of the widgets from
491oldest parent down to youngest child with dots as separators. Therefore it is not a good
492idea to place dots inside the ML strings to be used for widget names.</p>
493
494<p>The resource constructors/destructors have the prefix <tt>XmN</tt> in order to make
495them distinct from other ML identifiers. This prefix is not needed in the resource
496database and explains why the resource field <tt>XmNforeground</tt> of the widget main is
497printed as main.foreground in the example above.</p>
498
499<p>If any entries in the database match these names then those values will be copied into
500the widget. Here are some example lines from a resource database</p>
501
502<table border="0">
503  <tr>
504    <td><tt>xed*foreground:&nbsp;&nbsp; </tt></td>
505    <td><tt>black</tt></td>
506  </tr>
507  <tr>
508    <td><tt>xed.main.showSeparator:&nbsp;&nbsp; </tt></td>
509    <td><tt>True</tt></td>
510  </tr>
511  <tr>
512    <td><tt>Editor.main.background:&nbsp;&nbsp; </tt></td>
513    <td><tt>wheat</tt></td>
514  </tr>
515  <tr>
516    <td><tt>*XmMainWindow.commandWindowLocation:&nbsp;&nbsp; </tt></td>
517    <td><tt>COMMAND_ABOVE_WORKSPACE</tt></td>
518  </tr>
519  <tr>
520    <td><tt>xed*ShowArrows:&nbsp;&nbsp; </tt></td>
521    <td><tt>False</tt></td>
522  </tr>
523</table>
524
525<p>The full name<tt> xed.main.foreground</tt> matches the database line <tt>xed*foreground</tt>
526because the <tt>*</tt> character is a wildcard character that matches any number of levels
527in the widget hierarchy. The value from the database is automatically converted to the
528correct type for the resource field. In this case, the value <tt>black</tt> is converted
529to a <tt>Pixel</tt> by the built-in converter that allocates named colours and returns
530their pixel values. If a conversion fails then a message is output to the user and the
531resource field defaults to a compiled-in default.</p>
532
533<p>The full name <tt>xed.main.showSeparator</tt> matches the database line <tt>xed.main.showSeparator</tt>
534exactly and the string <tt>True</tt> is converted to the corresponding ML boolean value <tt>true</tt>.</p>
535
536<p>If resources cannot be matched by name, then the search tries to match by class
537instead. There are three classes to be aware of: firstly the application class, secondly
538the widget class, and thirdly the resource class. Resource classes are listed in the
539resource tables for each widget class. Each class name is prefixed by <tt>XmC</tt> to make
540them distinct from other ML identifiers. This prefix is not needed in the resource
541database.</p>
542
543<p>In our example the application class is <tt>Editor</tt>, which means that the database
544line <tt>Editor.main.background</tt> will set the <tt>XmNbackground</tt> field of the main
545widget to <tt>wheat</tt>. If we had other applications with different names, but they were
546members of the same <tt>Editor</tt> application class, then they too would have their <tt>main.background</tt>
547resources set to <tt>wheat</tt>. In this way it is possible to change the user preferences
548for a whole class of applications with one line in the resource database.</p>
549
550<p>In our example the widget class for main is XmMainWindow, which means that the database
551line <tt>*XmMainWindow.commandWindowLocation</tt> will set the <tt>XmNcommandWindowLocation</tt>
552field of the main widget to <tt>XmCOMMAND_ABOVE_WORKSPACE</tt>. In fact, because of the <tt>*</tt>
553wildcard it will set this field in every <tt>XmMainWindow</tt> in every application we
554run. In this way it is possible to change the user preferences for a whole class of
555widgets with one line in the resource database.</p>
556
557<p>Note that the resource database string <tt>COMMAND_ABOVE_WORKSPACE</tt> has a
558corresponding ML value called <tt>XmCOMMAND_ABOVE_WORKSPACE</tt> which is one of the
559constant constructors of the <tt>XmCommandWindowLocatio</tt>n datatype.</p>
560
561<table border="0">
562  <tr>
563    <td><tt>datatype XmCommandWindowLocation&nbsp;&nbsp; </tt></td>
564    <td><tt>= XmCOMMAND_ABOVE_WORKSPACE</tt></td>
565  </tr>
566  <tr>
567    <td></td>
568    <td><tt>| XmCOMMAND_BELOW_WORKSPACE</tt></td>
569  </tr>
570</table>
571
572<p>To specify one value from a range of predefined constants, remove the <tt>Xm</tt> from
573the ML constant and use the remaining letters and underscores in the resource database.</p>
574
575<p>The last line of our example is <tt>xed*ShowArrow</tt>s. This will set all resource
576fields in the <tt>xed</tt> application that have a class of <tt>XmCShowArrows</tt>. The
577resource field <tt>XmNshowArrow</tt>s in the scroll bars that we manage inside the main
578window have this resource class. In this way it is possible to change the user preferences
579for a whole class of resources with one line in the resource database.</p>
580
581<p>If the resource value could not be found in the resource database then it looks through
582the fallback resources specified with the <tt>XtAppInitialise</tt> function. If the
583resource value has still not been found then it is set to a compiled-in default.</p>
584
585<h3>1.6 <a name="Changing and examining Widget state">Changing and examining Widget state</a></h3>
586
587<p>The current value of widget resources make up the widget's state. To get the current
588value of a resource, or a list of resources, use the following functions.</p>
589
590<p><tt>val XtGetValue: Widget -&gt; string -&gt; Arg<br>
591val XtGetValues: Widget -&gt; string list -&gt; Arg list</tt></p>
592
593<p>The string to pass in is the resource name corresponding to the <tt>Arg</tt> required.
594For example, the <tt>Arg</tt> constructor <tt>XmNforeground</tt> has the corresponding
595string <tt>&quot;foreground&quot;</tt>. The code for this example would look like</p>
596
597<p><tt>val (XmNforeground pixel) = XtGetValue widget &quot;foreground&quot; ;</tt></p>
598
599<p>Because the <tt>Arg</tt> type is an infinite datatype - it is the type <tt>exn</tt> -
600you must use the exception names as destructors to get the values out. In the above
601example the identifier pixel will be bound to the int returned inside the <tt>XmNforeground</tt>
602exception packet. This allows the system to be flexible and allow any type to be packaged
603up and stored as a widget resource.</p>
604
605<p>To set a widget's resource value use one of the following functions.</p>
606
607<p><tt>val XtSetValue: Widget -&gt; Arg -&gt; unit<br>
608val XtSetValues: Widget -&gt; Arg list -&gt; unit</tt></p>
609
610<p>Construct the <tt>Arg</tt> values by applying the <tt>Arg</tt> exception constructors
611to the basic ML values. The widget will decide if it wants to accept the new value, or
612reject it, and may decide to move, resize or redraw itself - the user does not have to do
613this. For example, setting the current value and slider size on a XmScale widget is done
614by</p>
615
616<p><tt>XtSetValues scale [XmNvalue 42,XmNsliderSize 100] ;</tt></p>
617
618<h3>1.7 <a name="What are Callbacks">What are Callbacks</a></h3>
619
620<p>Callbacks are used to apply ML functions when the user performs some user interface
621abstraction, such as clicking on a scrollbar, or selecting from a menu. This is a much
622higher level of abstraction than programming at the X Event level using Xlib. Each widget
623typically provides several callbacks that the programmer can attach ML functions to. These
624functions get called when specific user actions are performed - the resource tables later
625in this manual indicate which callbacks are valid for each widget, and the OSF/Motif
626Programmer's Reference can tell you more details about the actions that trigger the
627callbacks. Each callback within a widget has one of the following names from the
628XtCallback datatype.</p>
629
630<p>datatype XtCallback = XmNactivateCallback | XmNapplyCallback</p>
631
632<p>| XmNarmCallback | XmNbrowseSelectionCallback</p>
633
634<p>| XmNcancelCallback | XmNcascadingCallback</p>
635
636<p>| XmNcommandChangedCallback | XmNcommandEnteredCallback</p>
637
638<p>| XmNdecrementCallback | XmNdefaultActionCallback</p>
639
640<p>| XmNdestroyCallback | XmNdisarmCallback</p>
641
642<p>| XmNdragCallback | XmNentryCallback</p>
643
644<p>| XmNexposeCallback | XmNextendedSelectionCallback</p>
645
646<p>| XmNfocusCallback | XmNgainPrimaryCallback</p>
647
648<p>| XmNhelpCallback | XmNincrementCallback</p>
649
650<p>| XmNinputCallback | XmNlosePrimaryCallback</p>
651
652<p>| XmNlosingFocusCallback | XmNmapCallback</p>
653
654<p>| XmNmessageCallback | XmNmodifyVerifyCallback</p>
655
656<p>| XmNmotionVerifyCallback | XmNmultipleSelectionCallback</p>
657
658<p>| XmNnoMatchCallback | XmNokCallback</p>
659
660<p>| XmNpageDecrementCallback | XmNpageIncrementCallback</p>
661
662<p>| XmNpopdownCallback | XmNpopupCallback</p>
663
664<p>| XmNresizeCallback | XmNsimpleCallback</p>
665
666<p>| XmNsingleSelectionCallback | XmNtoBottomCallback</p>
667
668<p>| XmNtoTopCallback | XmNunmapCallback</p>
669
670<p>| XmNvalueChangedCallback</p>
671
672<p>The function XtSetCallbacks is used to attach a list of (XtCallback,function) pairs to
673a Widget. It has the following interesting type</p>
674
675<p>val XtSetCallbacks: Widget -&gt;</p>
676
677<p>(XtCallback * (Widget * 'a XEvent * 'b -&gt; 'b)) list -&gt;</p>
678
679<p>'b -&gt;</p>
680
681<p>int -&gt; 'a -&gt; unit</p>
682
683<p>The first parameter is the widget to set the callbacks on. The second parameter is a
684list of (XtCallback,function) pairs which will replace the current set of callbacks for
685this widget. This works in the following way - if the user performs an action which causes
686the widget to trigger its XmNvalueChangedCallback, and if there is a corresponding pair
687(XmNvalueChangedCallback,f) in the list then the function f will be applied. Each function
688in the list has the same type</p>
689
690<p>Widget * 'a XEvent * 'b -&gt; 'b</p>
691
692<p>When the widget calls the function, it passes itself as the first element of the tuple
693followed by the 'a XEvent that triggered the callback, and lastly the 'b user defined
694state for the widget. The function must return a new 'b value to use as the user defined
695widget state.</p>
696
697<p>The next parameter to XtSetCallbacks is the 'b to use as the initial state for this
698widget. Only one callback is ever applied at any one time - the 'b state is passed from
699one callback to another in a series of state transformations. If a callback function
700wishes to look at or change part of the widget resource state it can call XtGetValues and
701XtSetValues.</p>
702
703<p>XtSetCallbacks then returns a function of type</p>
704
705<p>int -&gt; 'a -&gt; unit</p>
706
707<p>which can be used for sending 'a messages to the widget. If the pair
708(XmNmessageCallback, f) is included in the callback list then f will receive 'a XEvent
709messages which it can destruct with the Message XEvent destructor. This is a way of
710sending strongly typed message information between collections of widgets. The int
711parameter is the delay in milliseconds before sending the message - this is often useful
712for sending wakeup messages, or for performing auto-repeats.</p>
713
714<p>&nbsp;</p>
715
716<p>&nbsp;</p>
717
718<h2>Chapter 2</h2>
719
720<h2><a name="Widget Classes">Widget Classes</a></h2>
721
722<p>This chapter describes the major widget classes available in Motif and gives a picture
723showing their appearance. A diagram next to each picture shows the widget class hierarchy
724for this class. Tables are included showing the resource names that are applicable to each
725class. The ML types of related Motif functions are also shown, along with a short
726description of how the widget is generally used.</p>
727
728<p>Resource names such as XmNforeground begin with an XmN prefix when used as Arg
729destructors or constructors. When compiling resource files the prefix is not needed.</p>
730
731<p>Resource class names such as XmCPosition begin with an XmC prefix when used as the
732names of ML strings. When compiling resource files the prefix is not needed.</p>
733
734<p>Constant constructors in datatypes such as XmARROW_DOWN have an Xm prefix in ML, but
735when used as values in a resource file the prefix is not needed.</p>
736
737<h3>2.1 <a name="ArrowButton">ArrowButton</a></h3>
738
739<table border="0">
740  <tr>
741    <td align="center">Core</td>
742  </tr>
743  <tr>
744    <td align="center">XmPrimitive</td>
745  </tr>
746  <tr>
747    <td align="center">XmArrowButton</td>
748  </tr>
749</table>
750
751<h4>Description:</h4>
752
753<p>ArrowButton widgets are button widgets generally used to change the geometry or view of
754part of an application. The widget consists of an arrow indicating the direction of the
755desired change. Shadows are placed around the arrow to give the appearance that the
756ArrowButton has been pressed in when the button is selected. The XmNarrowDirection
757resource is used to choose which way the arrow will point.</p>
758
759<h4>Resources:</h4>
760
761<table border="1">
762  <tr>
763    <td colspan="3" align="center">XmArrowButton Resources</td>
764  </tr>
765  <tr>
766    <td><strong>Name&nbsp;&nbsp; </strong></td>
767    <td><strong>Class&nbsp;&nbsp; </strong></td>
768    <td><strong>Type</strong></td>
769  </tr>
770  <tr>
771    <td>XmNactivateCallback&nbsp;&nbsp; </td>
772    <td>XmCCallback&nbsp;&nbsp; </td>
773    <td>(callback)</td>
774  </tr>
775  <tr>
776    <td>XmNarmCallback&nbsp;&nbsp; </td>
777    <td>XmCCallback&nbsp;&nbsp; </td>
778    <td>(callback)</td>
779  </tr>
780  <tr>
781    <td>XmNarrowDirection&nbsp;&nbsp; </td>
782    <td>XmCArrowDirection&nbsp;&nbsp; </td>
783    <td>XmArrowDirection</td>
784  </tr>
785  <tr>
786    <td>XmNdisarmCallback&nbsp;&nbsp; </td>
787    <td>XmCDisarmCal1back&nbsp;&nbsp; </td>
788    <td>(callback)</td>
789  </tr>
790  <tr>
791    <td>XmNmultiClick&nbsp;&nbsp; </td>
792    <td>XmCMultiClick&nbsp;&nbsp; </td>
793    <td>XmMultiClickType</td>
794  </tr>
795</table>
796
797<h4>Functions:</h4>
798
799<p>datatype XmArrowDirection = XmARROW_UP | XmARROW_DOWN | XmARROW_LEFT | XmARROW_RIGHT</p>
800
801<p>datatype XmMultiClickType = XmMULTICLICK_DISCARD | XmMULTICLICK_KEEP</p>
802
803<p>val XmCreateArrowButton: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
804val XmCreateArrowButtonGadget: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
805
806<p>val XmIsArrowButton: Widget -&gt; bool<br>
807val XinIsArrowButtonGadget: Widget -&gt; bool</p>
808
809<h4>2.2 <a name="BulletinBoard">BulletinBoard</a></h4>
810
811<table border="0">
812  <tr>
813    <td align="center">Core</td>
814  </tr>
815  <tr>
816    <td align="center">Composite</td>
817  </tr>
818  <tr>
819    <td align="center">Constraint</td>
820  </tr>
821  <tr>
822    <td align="center">XmManager</td>
823  </tr>
824  <tr>
825    <td align="center">XmBulletinBoard</td>
826  </tr>
827</table>
828
829<h4>Description:</h4>
830
831<p>BulletinBoard is a general container widget used as the basis for most dialog widgets.
832It provides simple geometry management for its children, without forcing any positioning
833constraints on them. It can be set to reject geometry requests that result in overlapping
834children by changing the XmNallowOverlap resource to false.</p>
835
836<h4>Resources:</h4>
837
838<table border="1" width="313">
839  <tr>
840    <td colspan="3" align="center" width="329">XmBulletinBoard Resources</td>
841  </tr>
842  <tr>
843    <td width="115"><strong>Name</strong></td>
844    <td width="113"><strong>Class</strong></td>
845    <td width="93"><strong>Type</strong></td>
846  </tr>
847  <tr>
848    <td width="115">XmNallowOverlap</td>
849    <td width="113">XmCAllowOverlap</td>
850    <td width="93">bool</td>
851  </tr>
852  <tr>
853    <td width="115">XmNautoUnmanage</td>
854    <td width="113">XmCAutoUnmanage</td>
855    <td width="93">bool</td>
856  </tr>
857  <tr>
858    <td width="115">XmNbuttonFontList</td>
859    <td width="113">XmCButtonFontList</td>
860    <td width="93">XFontStruct list</td>
861  </tr>
862  <tr>
863    <td width="115">XmNcancelButton</td>
864    <td width="113">XmCWidget</td>
865    <td width="93">Widget</td>
866  </tr>
867  <tr>
868    <td width="115">XmNdefaultButton</td>
869    <td width="113">XmCWidget</td>
870    <td width="93">Widget</td>
871  </tr>
872  <tr>
873    <td width="115">XmNdefaultPosition</td>
874    <td width="113">XmCDefaultPosition</td>
875    <td width="93">bool</td>
876  </tr>
877  <tr>
878    <td width="115">XmNdialogStyle</td>
879    <td width="113">XmCDialogStyle</td>
880    <td width="93">XmDialogStyle</td>
881  </tr>
882  <tr>
883    <td width="115">XmNdialogTitle</td>
884    <td width="113">XmCDialogTitle</td>
885    <td width="93">XmString</td>
886  </tr>
887  <tr>
888    <td width="115">XmNfocusCallback</td>
889    <td width="113">XmCCallback</td>
890    <td width="93">(callback)</td>
891  </tr>
892  <tr>
893    <td width="115">XmNlabelFontList</td>
894    <td width="113">XmCLabelFontList</td>
895    <td width="93">XFontStruct list</td>
896  </tr>
897  <tr>
898    <td width="115">XmNmapCallback</td>
899    <td width="113">XmCCallback</td>
900    <td width="93">(callback)</td>
901  </tr>
902  <tr>
903    <td width="115">XmNmarginHeight</td>
904    <td width="113">XmCMarginHeight</td>
905    <td width="93">int</td>
906  </tr>
907  <tr>
908    <td width="115">XmNmarginWidth</td>
909    <td width="113">XmCMarginWidth</td>
910    <td width="93">int</td>
911  </tr>
912  <tr>
913    <td width="115">XmNnoResize</td>
914    <td width="113">XmCNoResize</td>
915    <td width="93">bool</td>
916  </tr>
917  <tr>
918    <td width="115">XmNresizePolicy</td>
919    <td width="113">XmCResizePolicy</td>
920    <td width="93">XmResizePolicy</td>
921  </tr>
922  <tr>
923    <td width="115">XmNshadowType</td>
924    <td width="113">XmCShadowType</td>
925    <td width="93">XmShadowType</td>
926  </tr>
927  <tr>
928    <td width="115">XmNtextFontList</td>
929    <td width="113">XmCTextFontList</td>
930    <td width="93">XFontStruct list</td>
931  </tr>
932  <tr>
933    <td width="115">XmNtextTranslations</td>
934    <td width="113">XmCTranslations</td>
935    <td width="93">XtTranslations</td>
936  </tr>
937  <tr>
938    <td width="115">XmNunmapCallback</td>
939    <td width="113">XmCCallback</td>
940    <td width="93">(callback)</td>
941  </tr>
942</table>
943
944<h4>Functions:</h4>
945
946<p>datatype XmDialogStyle = XmDIALOG_MODELESS | XmDIALOG_PRIMARY_APPLICATION_MODAL |
947XmDIALOG_FULL_APPLICATION_MODAL | XmDIALOG_SYSTEM_MODAL</p>
948
949<p>datatype XmResizePolicy = XmRESIZE_NONE | XmRESIZE_ANY | XmRESIZE_GROW</p>
950
951<p>datatype XmShadowType = XmSHADOW_ETCHED_IN | XmSHADOW_ETCHED_OUT | XmSHADOW_IN |
952XmSHADOW_OUT</p>
953
954<p>val XmCreateBulletinBoard: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
955val XmCreateBulletinBoardDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
956val XmCreateForm: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
957val XmCreateFormDialog: Widget-&gt; string -&gt; Arg list -&gt; Widget</p>
958
959<p>val XmIsBulletinBoard: Widget-&gt; bool<br>
960val XmIsForm: Widget-&gt; bool</p>
961
962<h3>2.3 <a name="CascadeButton">CascadeButton</a></h3>
963
964<table border="0">
965  <tr>
966    <td align="center">Core</td>
967  </tr>
968  <tr>
969    <td align="center">XmPrimitive</td>
970  </tr>
971  <tr>
972    <td align="center">XmLabel</td>
973  </tr>
974  <tr>
975    <td align="center">XmCascadeButton</td>
976  </tr>
977</table>
978
979<h4>Description:</h4>
980
981<p>CascadeButton widgets are used to construct menu systems. It is the only widget that
982can have a Pulldown MenuPane attached to it as a submenu via the XmNsubMenuId resource.</p>
983
984<p>To create a menu system CascadeButtons are placed inside a MenuBar. Each of these
985buttons has a MenuPane attached to it as a submenu. These submenus may also contain
986CascadeButtons which have further submenus, and so on.</p>
987
988<p>CascadeButtons must have RowColumn parents - a MenuPane and a MenuBar are special cases
989of a RowColumn widget.</p>
990
991<h4>Resources:</h4>
992
993<table border="1">
994  <tr>
995    <td colspan="3" align="center">XmCascadeButton Resources</td>
996  </tr>
997  <tr>
998    <td><strong>Name</strong></td>
999    <td><strong>Class</strong></td>
1000    <td><strong>Type</strong></td>
1001  </tr>
1002  <tr>
1003    <td>XmNactivateCallback</td>
1004    <td>XmCCallback</td>
1005    <td>(callback)</td>
1006  </tr>
1007  <tr>
1008    <td>XmNcascadePixmap</td>
1009    <td>XmCPixmap</td>
1010    <td>Drawable</td>
1011  </tr>
1012  <tr>
1013    <td>XmNcascadingCallback</td>
1014    <td>XmCCallback</td>
1015    <td>(callback)</td>
1016  </tr>
1017  <tr>
1018    <td>XmNmappingDelay</td>
1019    <td>XmCMappingDelay</td>
1020    <td>int</td>
1021  </tr>
1022  <tr>
1023    <td>XmNsubMenuld</td>
1024    <td>XmCMenuWidget</td>
1025    <td>Widget</td>
1026  </tr>
1027</table>
1028
1029<h4>Functions:</h4>
1030
1031<p>val XmCreateCascadeButton: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1032val XmCreateCascadeButtonGadget: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1033val XmCreateSeparator: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1034val XmCreateSeparatorGadget: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1035val XmCreateMenuBar: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1036val XmCreateOptioMenu: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1037val XmCreatePopupMenu: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1038val XmCreatePulldowrLMenu: Widget-&gt; string -&gt; Arg list -&gt; Widget</p>
1039
1040<p>val XmCascadeButtonHighlight: Widget-&gt; bool -&gt; unit</p>
1041
1042<p>val XmIsCascadeButton: Widget-&gt; bool<br>
1043val XmIsCascadeButtonGadget: Widget-&gt; bool</p>
1044
1045<h3>2.4 <a name="Command">Command</a></h3>
1046
1047<table border="0">
1048  <tr>
1049    <td align="center">Core</td>
1050  </tr>
1051  <tr>
1052    <td align="center">Composite</td>
1053  </tr>
1054  <tr>
1055    <td align="center">Constraint</td>
1056  </tr>
1057  <tr>
1058    <td align="center">XmManager</td>
1059  </tr>
1060  <tr>
1061    <td align="center">XmBulletinBoard</td>
1062  </tr>
1063  <tr>
1064    <td align="center">XmSelectionBox</td>
1065  </tr>
1066  <tr>
1067    <td align="center">XmCommandBox</td>
1068  </tr>
1069</table>
1070
1071<h4>Description:</h4>
1072
1073<p>Command widgets are special purpose widgets designed for the entry of textual commands
1074with a history mechanism for retaining previous commands. The widget allows new commands
1075to be entered, or old commands can be selected from a history list and edited to make new
1076commands. Each new command is automatically added to the history. The XmNcommand resource
1077is used to get or set the current command string. The XmCommandError can be used to
1078display an error message at the bottom of the history list.</p>
1079
1080<p>One additional WorkArea child may be added to a command widget.</p>
1081
1082<h4>Resources:</h4>
1083
1084<table border="1">
1085  <tr>
1086    <td colspan="3" align="center">XmCommand Resources</td>
1087  </tr>
1088  <tr>
1089    <td><strong>Name</strong></td>
1090    <td><strong>Class</strong></td>
1091    <td><strong>Type</strong></td>
1092  </tr>
1093  <tr>
1094    <td>XmNcommand</td>
1095    <td>XmCTextString</td>
1096    <td>XmString</td>
1097  </tr>
1098  <tr>
1099    <td>XmNcommandChangedCallback</td>
1100    <td>XmCCallback</td>
1101    <td>(callback)</td>
1102  </tr>
1103  <tr>
1104    <td>XmNcommandEnteredCallback</td>
1105    <td>XmCCallback</td>
1106    <td>(callback)</td>
1107  </tr>
1108  <tr>
1109    <td>XmNhistoryItemCount</td>
1110    <td>XmCItemCount</td>
1111    <td>int</td>
1112  </tr>
1113  <tr>
1114    <td>XmNhistoryItems</td>
1115    <td>XmCItems</td>
1116    <td>XmString list</td>
1117  </tr>
1118  <tr>
1119    <td>XmNhistoryMaxItems</td>
1120    <td>XmCMaxItems</td>
1121    <td>int</td>
1122  </tr>
1123  <tr>
1124    <td>XmNhistoryVisibleItemCount</td>
1125    <td>XmCVisibleItemCount</td>
1126    <td>int</td>
1127  </tr>
1128  <tr>
1129    <td>XmNpromptString</td>
1130    <td>XmCPromptString</td>
1131    <td>XmString</td>
1132    <td>&nbsp;</td>
1133  </tr>
1134</table>
1135
1136<h4>Functions:</h4>
1137
1138<p>val XmDIALOG_COMMAND: XmDialogType</p>
1139
1140<p>val XmDIALOG_COMMAND_TEXT: XmDefaultButtonType<br>
1141val XmDIALOG_PROMPT_LABEL: XmDefaultButtonType<br>
1142val XmDIALOG_HISTORY list: XmDefaultButtonType</p>
1143
1144<p>val XmCreateCommand: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
1145
1146<p>val XmCommandError: Widget -&gt; XmString -&gt; unit<br>
1147val XmCommandGetChild: Widget -&gt; XmDefaultButtonType -&gt; Widget</p>
1148
1149<p>val XmIsCommand: Widget -&gt; bool</p>
1150
1151<h3>2.5 <a name="ErrorDialog">ErrorDialog</a></h3>
1152
1153<table border="0">
1154  <tr>
1155    <td align="center">Core</td>
1156  </tr>
1157  <tr>
1158    <td align="center">Composite</td>
1159  </tr>
1160  <tr>
1161    <td align="center">Constraint</td>
1162  </tr>
1163  <tr>
1164    <td align="center">XmManager</td>
1165  </tr>
1166  <tr>
1167    <td align="center">XmBulletinBoard</td>
1168  </tr>
1169  <tr>
1170    <td align="center">XmMessageBox</td>
1171  </tr>
1172</table>
1173
1174<h4>Description:</h4>
1175
1176<p>An ErrorDialog widget is a specific instance of a MessageBox widget. It has a message
1177field, OK, Cancel and Help buttons, and the error icon which resembles a Stop sign. The
1178XmNmessageString resource is used to set the message string.</p>
1179
1180<h4>Resources:</h4>
1181
1182<table border="1">
1183  <tr>
1184    <td colspan="3" align="center">XmMessageBox Resources</td>
1185  </tr>
1186  <tr>
1187    <td><strong>Name</strong></td>
1188    <td><strong>Class</strong></td>
1189    <td><strong>Type</strong></td>
1190  </tr>
1191  <tr>
1192    <td>XmNcancelCal1back</td>
1193    <td>XmCCallback</td>
1194    <td>(callback)</td>
1195  </tr>
1196  <tr>
1197    <td>XmNcancelLabelString</td>
1198    <td>XmCCancelLabelString</td>
1199    <td>XmString</td>
1200  </tr>
1201  <tr>
1202    <td>XmNdefaultButtonType</td>
1203    <td>XmCDefaultButtonType</td>
1204    <td>XmDefaultButtonType</td>
1205  </tr>
1206  <tr>
1207    <td>XmNdialogType</td>
1208    <td>XmCDialogType</td>
1209    <td>XmDialogType</td>
1210  </tr>
1211  <tr>
1212    <td>XmNhelpLabelString</td>
1213    <td>XmCHelpLabelString</td>
1214    <td>XmString</td>
1215  </tr>
1216  <tr>
1217    <td>XmNmessageAlignment</td>
1218    <td>XmCAlignment</td>
1219    <td>XmAlignment</td>
1220  </tr>
1221  <tr>
1222    <td>XmNmessageString</td>
1223    <td>XmCMessageString</td>
1224    <td>XmString</td>
1225  </tr>
1226  <tr>
1227    <td>XmNminimizeButtons</td>
1228    <td>XmCMinimizeButtons</td>
1229    <td>bool</td>
1230  </tr>
1231  <tr>
1232    <td>XmNokCallback</td>
1233    <td>XmCCallback</td>
1234    <td>(callback)</td>
1235  </tr>
1236  <tr>
1237    <td>XmNokLabelString</td>
1238    <td>XmCOkLabelString</td>
1239    <td>XmString</td>
1240  </tr>
1241  <tr>
1242    <td>XmNsymbolPixmap</td>
1243    <td>XmCPixmap</td>
1244    <td>Drawable</td>
1245  </tr>
1246</table>
1247
1248<h4>Functions:</h4>
1249
1250<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
1251
1252<p>val XmDIALOG_ERROR: XmDialogType</p>
1253
1254<p>val XmCreateErrorDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
1255
1256<h3>2.6 <a name="FileSelectionDialog">FileSelectionDialog</a></h3>
1257
1258<table border="0">
1259  <tr>
1260    <td align="center">Core</td>
1261  </tr>
1262  <tr>
1263    <td align="center">Composite</td>
1264  </tr>
1265  <tr>
1266    <td align="center">Constraint</td>
1267  </tr>
1268  <tr>
1269    <td align="center">XmManager</td>
1270  </tr>
1271  <tr>
1272    <td align="center">XmBulletinBoard</td>
1273  </tr>
1274  <tr>
1275    <td align="center">XmSelectionBox</td>
1276  </tr>
1277  <tr>
1278    <td align="center">XmFileSelectionBox</td>
1279  </tr>
1280</table>
1281
1282<h4>Description:</h4>
1283
1284<p>A FileSelectionDialog allows the user to choose one file from among the files and
1285directories in the file system. The dialog has the following components :-</p>
1286
1287<p>The Filter text field is used for editing the mask which specifies both the base
1288directory and the filter applied to display the entries in that directory. Pressing the
1289RETURN key after editing this field resets the base directory and reapplies the filter.
1290This is equivalent to pressing the Filter button.</p>
1291
1292<p>The Files list shows the list of filenames that result from applying the filter to the
1293files in the base directory. Clicking on a filename in the list copies it to the Selection
1294field. Double clicking copies the filename to the Selection field and presses the OK
1295button.</p>
1296
1297<p>The Directories list shows the list of directories found in the base directory.
1298Clicking on a directory in the list inserts that directory name into the mask in the
1299Filter field. Double clicking inserts the directory into the mask and presses the Filter
1300button to reapply the filter to the new base directory.</p>
1301
1302<p>The Selection text field shows the currently selected filename appended to the current
1303base directory. If this is not the filename that you require you may either edit it by
1304hand, or use the methods described above to choose another filename.</p>
1305
1306<p>The OK button does not change any of the fields, it simply causes the <tt>XmNokCallback</tt>
1307to be applied. This function typically gets the value of the <tt>XmNtextString</tt>
1308resource, and then performs some action with that filename. If the <tt>XmNautoUnmanage</tt>
1309resource is set to true then the dialog automatically unmanages itself.</p>
1310
1311<p>Pressing the Filter button reapplies the filter to the filenames found in the base
1312directory, and updates the Files list.</p>
1313
1314<p>Pressing the Cancel button applies the <tt>XmNcancelCallback</tt> function, and if the <tt>XmNautoUnmanage</tt>
1315resource is set to true then the dialog automatically unmanages itself.</p>
1316
1317<p>Pressing the Help button applies the <tt>XmNhelpCallback</tt> function.</p>
1318
1319<h4>Resources: </h4>
1320
1321<table border="1">
1322  <tr>
1323    <td colspan="3" align="center">XmFileSelectionBox Resources</td>
1324  </tr>
1325  <tr>
1326    <td><strong>Name</strong></td>
1327    <td><strong>Class</strong></td>
1328    <td><strong>Type</strong></td>
1329  </tr>
1330  <tr>
1331    <td>XmNdirListItemCount</td>
1332    <td>XmCDirListItemCount</td>
1333    <td>int</td>
1334  </tr>
1335  <tr>
1336    <td>XmNdirListItems</td>
1337    <td>XmCDirListItems</td>
1338    <td>XmString list</td>
1339  </tr>
1340  <tr>
1341    <td>XmNdirListLabelString</td>
1342    <td>XmCDirListLabelString</td>
1343    <td>XmString</td>
1344  </tr>
1345  <tr>
1346    <td>XmNdirMask</td>
1347    <td>XmCDirMask</td>
1348    <td>XmString</td>
1349  </tr>
1350  <tr>
1351    <td>XmNdirSpec</td>
1352    <td>XmCDirSpec</td>
1353    <td>XmString</td>
1354  </tr>
1355  <tr>
1356    <td>XmNdirectory</td>
1357    <td>XmCDirectory</td>
1358    <td>XmString</td>
1359  </tr>
1360  <tr>
1361    <td>XmNdirectoryValid</td>
1362    <td>XmCDirectoryValid</td>
1363    <td>bool</td>
1364  </tr>
1365  <tr>
1366    <td>XmNfileListltemCount</td>
1367    <td>XmCFileListItemCount</td>
1368    <td>int</td>
1369  </tr>
1370  <tr>
1371    <td>XmNfileListIteme</td>
1372    <td>XmCFileListltems</td>
1373    <td>XmString list</td>
1374  </tr>
1375  <tr>
1376    <td>XmNfileListLabelString</td>
1377    <td>XmCFileListLabeiString</td>
1378    <td>XmString</td>
1379  </tr>
1380  <tr>
1381    <td>XmNfileTypeMask</td>
1382    <td>XmCFileTypeMask</td>
1383    <td>XmFileTypeMask</td>
1384  </tr>
1385  <tr>
1386    <td>XmNfilterLabelString</td>
1387    <td>XmCFilterLabelString</td>
1388    <td>XmString</td>
1389  </tr>
1390  <tr>
1391    <td>XmNlistUpdated</td>
1392    <td>XmCListUpdated</td>
1393    <td>bool</td>
1394  </tr>
1395  <tr>
1396    <td>XmNnoMatchString</td>
1397    <td>XmCNoMatchString</td>
1398    <td>XmString</td>
1399  </tr>
1400  <tr>
1401    <td>XmNpattem</td>
1402    <td>XmCpattern</td>
1403    <td>XmString</td>
1404  </tr>
1405</table>
1406
1407<h4>Functions:</h4>
1408
1409<p>datatype XmFileTypeMask = XmFILE_REGULAR | XmFILE_DIRECTORY | XmFILE_ANY_TYPE</p>
1410
1411<p>val XmDIALOG_FILE_SELECTION: XmDialogType</p>
1412
1413<p>val XmDIALOG_APPLY_BUTTON: XmDefaultButtonType<br>
1414val XmDIALOG_CANCEL_BUTTON: XmDefaultButtonType<br>
1415val XmDIALOG_DEFAULT_BUTTON: XmDefaultButtonType<br>
1416val XmDIALOG_DIR_LIST: XmDefaultButtonType<br>
1417val XmDIALOG_DIR_LIST_LABEL: XmDefaultButtonType<br>
1418val XmDIALOG_FILTER_LABEL: XmDefaultButtonType<br>
1419val XmDIALOG_FILTER_TEXT: XmDefaultButtonType<br>
1420val XmDIALOG_HELP_BUTTON: XmDefaultButtonType<br>
1421val XmDIALOG_LIST: XmDefaultButtonType<br>
1422val XmDIALOG_LIST_LABEL: XmDefaultButtonType<br>
1423val XmDIALOG_OK_BUTTON: XmDefaultButtonType<br>
1424val XmDIALOG_SELECTION_LABEL: XmDefaultButtonType<br>
1425val XmDIALOG_SEPARATOR: XmDefaultButtonType<br>
1426val XmDIALOG_TEXT: XmDefaultButtonType</p>
1427
1428<p>val XmCreateFileSelectionBox: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
1429val XmCreateFileSelectionDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
1430
1431<p>val XmFileSelectionBoxGetChild: Widget -&gt; XmDefaultButtonType -&gt; Widget<br>
1432val XmFileSelectionDoSearch: Widget -&gt; XmString -&gt; unit</p>
1433
1434<p>val XmIsFileSelectionBox: Widget -&gt; bool</p>
1435
1436<h3>2.7 <a name="InformationDialog">InformationDialog</a></h3>
1437
1438<table border="0">
1439  <tr>
1440    <td align="center">Core</td>
1441  </tr>
1442  <tr>
1443    <td align="center">Composite</td>
1444  </tr>
1445  <tr>
1446    <td align="center">Constraint</td>
1447  </tr>
1448  <tr>
1449    <td align="center">XmManager</td>
1450  </tr>
1451  <tr>
1452    <td align="center">XmBulletinBoard</td>
1453  </tr>
1454  <tr>
1455    <td align="center">XmMessageBox</td>
1456  </tr>
1457</table>
1458
1459<h4>Description:</h4>
1460
1461<p>An InformationDialog widget is a specific instance of a MessageBox widget. It has a
1462message field, OK, Cancel and Help buttons, and the information icon which resembles an
1463Information sign. The XmNmessageString resource is used to set the message string.</p>
1464
1465<h4>Resources:</h4>
1466
1467<table border="1">
1468  <tr>
1469    <td colspan="3" align="center">XmMessageBox Resources</td>
1470  </tr>
1471  <tr>
1472    <td><strong>Name</strong></td>
1473    <td><strong>Class</strong></td>
1474    <td><strong>Type</strong></td>
1475  </tr>
1476  <tr>
1477    <td>XmNcancelCaliback</td>
1478    <td>XmCCallback</td>
1479    <td>(callback)</td>
1480  </tr>
1481  <tr>
1482    <td>XmNcancelLabelString</td>
1483    <td>XmCCancelLabelString</td>
1484    <td>XmString</td>
1485  </tr>
1486  <tr>
1487    <td>XmNdefaultButtonType</td>
1488    <td>XmCDefaultButtonType</td>
1489    <td>XmDefaultButtonType</td>
1490  </tr>
1491  <tr>
1492    <td>XmNdialogType</td>
1493    <td>XmCDialogType</td>
1494    <td>XmDialogType</td>
1495  </tr>
1496  <tr>
1497    <td>XmNhelpLabelString</td>
1498    <td>XmCHelpLabelString</td>
1499    <td>XmString</td>
1500  </tr>
1501  <tr>
1502    <td>XmNmessageAlignment</td>
1503    <td>XmCAlignment</td>
1504    <td>XmAlignment</td>
1505  </tr>
1506  <tr>
1507    <td>XmNmessageString</td>
1508    <td>XmCMessageString</td>
1509    <td>XmString</td>
1510  </tr>
1511  <tr>
1512    <td>XmNminimizeButtons</td>
1513    <td>XmCMinimizeButtons</td>
1514    <td>bool</td>
1515  </tr>
1516  <tr>
1517    <td>XmNokCallback</td>
1518    <td>XmCCallback</td>
1519    <td>(callback)</td>
1520  </tr>
1521  <tr>
1522    <td>XmNokLabelString</td>
1523    <td>XmCOkLabelString</td>
1524    <td>XmString</td>
1525  </tr>
1526  <tr>
1527    <td>XmNsymbolPixmap</td>
1528    <td>XmCPixmap</td>
1529    <td>Drawable</td>
1530  </tr>
1531</table>
1532
1533<h4>Functions:</h4>
1534
1535<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
1536
1537<p>val XmDIALOG_INFORMATION: XmDialogType</p>
1538
1539<p>val XmCreateInformationDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
1540
1541<h3>2.8 <a name="List">List</a></h3>
1542
1543<table border="0">
1544  <tr>
1545    <td align="center">Core</td>
1546  </tr>
1547  <tr>
1548    <td align="center">XmPrimitive</td>
1549  </tr>
1550  <tr>
1551    <td align="center">XmList</td>
1552  </tr>
1553</table>
1554
1555<h4>Description:</h4>
1556
1557<p>List widgets are used to select of one or more entries from a list of text strings. The
1558XmNselectionPolicy resource determines one of several different selection modes the list
1559may operate in. The XmNitems resource is used to pass in the list of strings to select
1560from. The XmNselectedItems resource is used to set or get the currently selected items.</p>
1561
1562<h4>Resources:</h4>
1563
1564<table border="1">
1565  <tr>
1566    <td colspan="3" align="center">XmList Resources</td>
1567  </tr>
1568  <tr>
1569    <td><strong>Name</strong></td>
1570    <td><strong>Class</strong></td>
1571    <td><strong>Type</strong></td>
1572  </tr>
1573  <tr>
1574    <td>XmNautomaticSelection</td>
1575    <td>XmCAutomaticSelection</td>
1576    <td>bool</td>
1577  </tr>
1578  <tr>
1579    <td>XmNbrowseSelectionCallback</td>
1580    <td>XmCCallback</td>
1581    <td>(callback)</td>
1582  </tr>
1583  <tr>
1584    <td>XmNdefaultActionCallback</td>
1585    <td>XmCCallback</td>
1586    <td>(callback)</td>
1587  </tr>
1588  <tr>
1589    <td>XmNdoubleClickInterval</td>
1590    <td>XmCDoubleClickInterval</td>
1591    <td>int</td>
1592  </tr>
1593  <tr>
1594    <td>XmNextendedSelectionCallback</td>
1595    <td>XmCCallback</td>
1596    <td>(callback)</td>
1597  </tr>
1598  <tr>
1599    <td>XmNfontList</td>
1600    <td>XmCFontList</td>
1601    <td>XFontStruct list</td>
1602  </tr>
1603  <tr>
1604    <td>XmNitemCount</td>
1605    <td>XmCItemCount</td>
1606    <td>int</td>
1607  </tr>
1608  <tr>
1609    <td>XmNitems</td>
1610    <td>XmCItems</td>
1611    <td>XmString list</td>
1612  </tr>
1613  <tr>
1614    <td>XmNlistMarginHeight</td>
1615    <td>XmCListMarginHeight</td>
1616    <td>int</td>
1617  </tr>
1618  <tr>
1619    <td>XmNlistMarginWidth</td>
1620    <td>XmCListMarginWidth</td>
1621    <td>int</td>
1622  </tr>
1623  <tr>
1624    <td>XmNlistSizePolicy</td>
1625    <td>XmCListSizePolicy</td>
1626    <td>XmVisualPolicy</td>
1627  </tr>
1628  <tr>
1629    <td>XmNlistSpacing</td>
1630    <td>XmCListSpacing</td>
1631    <td>int</td>
1632  </tr>
1633  <tr>
1634    <td>XmNmultipleSelectionCallback</td>
1635    <td>XmCCallback</td>
1636    <td>(callback)</td>
1637  </tr>
1638  <tr>
1639    <td>XmNscrollBarDisplayPolicy</td>
1640    <td>XmCScrollBarDisplayPolicy</td>
1641    <td>XmScrollBarDisplayPolicy</td>
1642  </tr>
1643  <tr>
1644    <td>XmNselectedItemCount</td>
1645    <td>XmCSelectedItemCount</td>
1646    <td>int</td>
1647  </tr>
1648  <tr>
1649    <td>XmNselectedItems</td>
1650    <td>XmCSelectedItems</td>
1651    <td>XmString list</td>
1652  </tr>
1653  <tr>
1654    <td>XmNselectionPolicy</td>
1655    <td>XmCSelectionPolicy</td>
1656    <td>XmSelectionPolicy</td>
1657  </tr>
1658  <tr>
1659    <td>XmNsingleSelectionCallback</td>
1660    <td>XmCCallback</td>
1661    <td>(callback)</td>
1662  </tr>
1663  <tr>
1664    <td>XmNstringDirection</td>
1665    <td>XmCStringDirection</td>
1666    <td>XmStringDirection</td>
1667  </tr>
1668  <tr>
1669    <td>XmNtopItemPosition</td>
1670    <td>XmCTopItemPosition</td>
1671    <td>int</td>
1672  </tr>
1673  <tr>
1674    <td>XmNvisibleItemCount</td>
1675    <td>XmCVisibleItemCount</td>
1676    <td>int</td>
1677  </tr>
1678</table>
1679
1680<h4>Functions:</h4>
1681
1682<p>datatype XmScrollBarDisplayPolicy = XmSTATIC | XmAS_NEEDED</p>
1683
1684<p>datatype XmSelectionPolicy = XmSINGLE_SELECT | XmMULTIPLE_SELECT | XmEXTENDED_SELECT |
1685XmBROWSE_SELECT</p>
1686
1687<p>datatype XmVisualPolicy = XmVARIABLE | XmCONSTANT | XmRESIZE_IF_POSSIBLE</p>
1688
1689<p>val XmCreateList: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
1690val XmCreateScrolledList: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
1691
1692<p>val XmIsList: Widget -&gt; bool<br>
1693val XmIsScrolledWindow: Widget -&gt; bool</p>
1694
1695<h3>2.9 <a name="MainWindow">MainWindow</a></h3>
1696
1697<table border="0">
1698  <tr>
1699    <td align="center">Core</td>
1700  </tr>
1701  <tr>
1702    <td align="center">Composite</td>
1703  </tr>
1704  <tr>
1705    <td align="center">Constraint</td>
1706  </tr>
1707  <tr>
1708    <td align="center">XmManager</td>
1709  </tr>
1710  <tr>
1711    <td align="center">XmScrolledWindow</td>
1712  </tr>
1713  <tr>
1714    <td align="center">XmMainWindow</td>
1715  </tr>
1716</table>
1717
1718<h4>Description:</h4>
1719
1720<p>The MainWindow widget can be used to manage the primary view of an application. This
1721widget has a number of optional components including a menu bar, a command window, a
1722message window, scroll bars, and a work area. The required components are first created
1723and managed and are then passed to the function XmMainWindowSetAreas so that they can be
1724organised together to create the application's primary view. The XmNcommandWindowLocation
1725resource can be used to control the positioning of the command window relative to the
1726other windows.</p>
1727
1728<h4>Resources:</h4>
1729
1730<table border="1">
1731  <tr>
1732    <td colspan="3" align="center">XmMainWindow Resources</td>
1733  </tr>
1734  <tr>
1735    <td><strong>Name</strong></td>
1736    <td><strong>Class</strong></td>
1737    <td><strong>Type</strong></td>
1738  </tr>
1739  <tr>
1740    <td>XmNcommandWindow</td>
1741    <td>XmCCommandWindow</td>
1742    <td>Widget</td>
1743  </tr>
1744  <tr>
1745    <td>XmNcommandWindowLocation</td>
1746    <td>XmCCommandWindowLocation</td>
1747    <td>XmCommandWindowLocation</td>
1748  </tr>
1749  <tr>
1750    <td>XmNmainWindowMarginHeight</td>
1751    <td>XmCMainWindowMarginHeight</td>
1752    <td>int</td>
1753  </tr>
1754  <tr>
1755    <td>XmNmainWindowMarginWidth</td>
1756    <td>XmCMainWindowMarginWidth</td>
1757    <td>int</td>
1758  </tr>
1759  <tr>
1760    <td>XmNmenuBar</td>
1761    <td>XmCMenuBar</td>
1762    <td>Widget</td>
1763  </tr>
1764  <tr>
1765    <td>XmNmessageWindow</td>
1766    <td>XmCMessageWindow</td>
1767    <td>Widget</td>
1768  </tr>
1769  <tr>
1770    <td>XmNshowSeparator</td>
1771    <td>XmCShowSeparator</td>
1772    <td>bool</td>
1773  </tr>
1774</table>
1775
1776<p>&nbsp;</p>
1777
1778<h4>Functions:</h4>
1779
1780<p>datatype XmCommandWindowLocation = XmCOMMAND_ABOVE_WORKSPACE |
1781XmCOMMAND_BELOW_WORKSPACE</p>
1782
1783<p>val XmCreateMainWindow: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
1784
1785<p>val XmMainWindowSetAreas: Widget -&gt; Widget -&gt; Widget -&gt; Widget -&gt; Widget
1786-&gt; Widget -&gt; unit</p>
1787
1788<p>val XmMainWindowSepl: Widget -&gt; Widget</p>
1789
1790<p>val XmMainWindowSep2: Widget -&gt; Widget</p>
1791
1792<p>val XmMainWindowSep3: Widget -&gt; Widget</p>
1793
1794<p>val XmIsMainWindow: Widget -&gt; bool</p>
1795
1796<p>&nbsp;</p>
1797
1798<h3>2.10 <a name="MessageDialog">MessageDialog</a></h3>
1799
1800<table border="0">
1801  <tr>
1802    <td align="center">Core</td>
1803  </tr>
1804  <tr>
1805    <td align="center">Composite</td>
1806  </tr>
1807  <tr>
1808    <td align="center">Constraint</td>
1809  </tr>
1810  <tr>
1811    <td align="center">XmManager</td>
1812  </tr>
1813  <tr>
1814    <td align="center">XmBulletinBoard</td>
1815  </tr>
1816  <tr>
1817    <td align="center">XmMessageBox</td>
1818  </tr>
1819</table>
1820
1821<h4>Description:</h4>
1822
1823<p>A MessageDialog widget is a specific instance of a MessageBox widget. It has a message
1824field, OK, Cancel and Help buttons, but does not have any predefined symbol icon. The
1825XmNmessageString resource is used to set the message string.</p>
1826
1827<h4>Resources:</h4>
1828
1829<table border="1">
1830  <tr>
1831    <td colspan="3" align="center">XmMessageBox Resources</td>
1832  </tr>
1833  <tr>
1834    <td><strong>Name</strong></td>
1835    <td><strong>Class</strong></td>
1836    <td><strong>Type</strong></td>
1837  </tr>
1838  <tr>
1839    <td>XmNcancelCallback</td>
1840    <td>XmCCallback</td>
1841    <td>(callback)</td>
1842  </tr>
1843  <tr>
1844    <td>XmNcancelLabelString</td>
1845    <td>XmCCancelLabelString</td>
1846    <td>XmString</td>
1847  </tr>
1848  <tr>
1849    <td>XmNdefaultButtonType</td>
1850    <td>XmCDefaultButtonType</td>
1851    <td>XmDefaultButtonType</td>
1852  </tr>
1853  <tr>
1854    <td>XmNdialogType</td>
1855    <td>XmCDialogType</td>
1856    <td>XmDialogType</td>
1857  </tr>
1858  <tr>
1859    <td>XmNhelpLabelString</td>
1860    <td>XmCHelpLabelString</td>
1861    <td>XmString</td>
1862  </tr>
1863  <tr>
1864    <td>XmNmessageAlignment</td>
1865    <td>XmCAlignment</td>
1866    <td>XmAlignment</td>
1867  </tr>
1868  <tr>
1869    <td>XmNmessageString</td>
1870    <td>XmCMessageString</td>
1871    <td>XmString</td>
1872  </tr>
1873  <tr>
1874    <td>XmNminimizeButtons</td>
1875    <td>XmCMinimizeButtons</td>
1876    <td>bool</td>
1877  </tr>
1878  <tr>
1879    <td>XmNokCallback</td>
1880    <td>XmCCallback</td>
1881    <td>(callback)</td>
1882  </tr>
1883  <tr>
1884    <td>XmNokLabelString</td>
1885    <td>XmCOkLabelString</td>
1886    <td>XmString</td>
1887  </tr>
1888  <tr>
1889    <td>XmNsymbolPixmap</td>
1890    <td>XmCPixmap</td>
1891    <td>Drawable</td>
1892  </tr>
1893</table>
1894
1895<h4>Functions:</h4>
1896
1897<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
1898
1899<p>val XmDIALOG_MESSAGE: XmDialogType</p>
1900
1901<p>val XmDIALOG_CANCEL_BUTTON: XmDefaultButtonType<br>
1902val XmDIALOG_DEFAULT_BUTTON: XmDefaultButtonType<br>
1903val XmDIALOG_HELP_BUTTON: XmDefaultButtonType<br>
1904val XmDIALOG_MESSAGE_LABEL: XmDefaultButtonType<br>
1905val XmDIALOG OK BUTTON: XmDefaultButtonType<br>
1906val XmDIALOG_SEPARATOR: XmDefaultButtonType<br>
1907val XmDIALOG_SYMBOL_LABEL: XmDefaultButtonType</p>
1908
1909<p>val XmCreateMessageBox: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
1910val XmCreateMessageDialog: Widget-&gt; string -&gt; Arg list -&gt; Widget</p>
1911
1912<p>val XmIsMessageBox: Widget-&gt; bool</p>
1913
1914<p>val XmMessageBoxGetChild: Widget -&gt; XmDefaultButtonType -&gt; Widget</p>
1915
1916<h3>2.11 <a name="OptionMen">OptionMen</a>u</h3>
1917
1918<table border="0">
1919  <tr>
1920    <td align="center">Core</td>
1921  </tr>
1922  <tr>
1923    <td align="center">Composite</td>
1924  </tr>
1925  <tr>
1926    <td align="center">Constraint</td>
1927  </tr>
1928  <tr>
1929    <td align="center">XmManager</td>
1930  </tr>
1931  <tr>
1932    <td align="center">XmRowcolumn</td>
1933  </tr>
1934</table>
1935
1936<h4>Description:</h4>
1937
1938<p>An OptionMenu is a specific instance of a RowColumn widget containing a label and a
1939cascade button. Pressing the cascade button pulls down a menu pane so that one of the menu
1940pane items can be selected. The menu pane is then removed and the selected item is
1941displayed inside the cascade button. The XmNlabelString resource is used to set the label,
1942and the XmNsubMenuId resource is used to set the menu pane.</p>
1943
1944<h4>Resources:</h4>
1945
1946<table border="1">
1947  <tr>
1948    <td colspan="3" align="center">XmRowColumn Resources</td>
1949  </tr>
1950  <tr>
1951    <td><strong>Name</strong></td>
1952    <td><strong>Class</strong></td>
1953    <td><strong>Type</strong></td>
1954  </tr>
1955  <tr>
1956    <td>XmNadjustLast</td>
1957    <td>XmCAdjustLast</td>
1958    <td>bool</td>
1959  </tr>
1960  <tr>
1961    <td>XmNadjustMargin</td>
1962    <td>XmCAdjustMargin</td>
1963    <td>bool</td>
1964  </tr>
1965  <tr>
1966    <td>XmNbuttonAcceleratorText</td>
1967    <td>XmCButtonAcceleratorText</td>
1968    <td>XmString list</td>
1969  </tr>
1970  <tr>
1971    <td>XmNbuttonAccelerators</td>
1972    <td>XmCButtonAccelerators</td>
1973    <td>string list</td>
1974  </tr>
1975  <tr>
1976    <td>XmNbuttonCount</td>
1977    <td>XmCButtonCount</td>
1978    <td>int</td>
1979  </tr>
1980  <tr>
1981    <td>XmNbuttonMnemonicCharSets</td>
1982    <td>XmCButtonMnemonicCharSets</td>
1983    <td>XmString list</td>
1984  </tr>
1985  <tr>
1986    <td>XmNbuttonMnemonics</td>
1987    <td>XmCButtonMnemonics</td>
1988    <td>KeySym list</td>
1989  </tr>
1990  <tr>
1991    <td>XmNbuttonSet</td>
1992    <td>XmCButtonSet</td>
1993    <td>int</td>
1994  </tr>
1995  <tr>
1996    <td>XmNbuttonType</td>
1997    <td>XmCButtonType</td>
1998    <td>XmButtonType list</td>
1999  </tr>
2000  <tr>
2001    <td>XmNbuttons</td>
2002    <td>XmCButtons</td>
2003    <td>XmString list</td>
2004  </tr>
2005  <tr>
2006    <td>XmNentryAlignment</td>
2007    <td>XmCAlignment</td>
2008    <td>XmAlignment</td>
2009  </tr>
2010  <tr>
2011    <td>XmNentryBorder</td>
2012    <td>XmCEntryBorder</td>
2013    <td>int</td>
2014  </tr>
2015  <tr>
2016    <td>XmNentryCallback</td>
2017    <td>XmCCallback</td>
2018    <td>(callback)</td>
2019  </tr>
2020  <tr>
2021    <td>XmNisAligned</td>
2022    <td>XmCIsAligned</td>
2023    <td>bool</td>
2024  </tr>
2025  <tr>
2026    <td>XmNisHomogeneous</td>
2027    <td>XmCIsHomogeneous</td>
2028    <td>bool</td>
2029  </tr>
2030  <tr>
2031    <td>XmNlabelString</td>
2032    <td>XmCLabelString</td>
2033    <td>XmString</td>
2034  </tr>
2035  <tr>
2036    <td>XmNmapCallback</td>
2037    <td>XmCCallback</td>
2038    <td>(callback)</td>
2039  </tr>
2040  <tr>
2041    <td>XmNmarginHeight</td>
2042    <td>XmCMarginHeight</td>
2043    <td>int</td>
2044  </tr>
2045  <tr>
2046    <td>XmNmarginWidth</td>
2047    <td>XmCMarginWidth</td>
2048    <td>int</td>
2049  </tr>
2050  <tr>
2051    <td>XmNmenuAccelerator</td>
2052    <td>XmCAccelerators</td>
2053    <td>string</td>
2054  </tr>
2055  <tr>
2056    <td>XmNmenuCursor</td>
2057    <td>XmCCursor</td>
2058    <td>Cursor</td>
2059  </tr>
2060  <tr>
2061    <td>XmNmenuHelpWidget</td>
2062    <td>XmCMenuWidget</td>
2063    <td>Widget</td>
2064  </tr>
2065  <tr>
2066    <td>XmNmenuHistory</td>
2067    <td>XmCMenuWidget</td>
2068    <td>Widget</td>
2069  </tr>
2070  <tr>
2071    <td>XmNmenuPost</td>
2072    <td>XmCMenuPost</td>
2073    <td>string</td>
2074  </tr>
2075  <tr>
2076    <td>XmNmnemonic</td>
2077    <td>XmCMnemonic</td>
2078    <td>int</td>
2079  </tr>
2080  <tr>
2081    <td>XmNmnemonicCharSet</td>
2082    <td>XmCMnemonicCharSet</td>
2083    <td>string</td>
2084  </tr>
2085  <tr>
2086    <td>XmNnumColumns</td>
2087    <td>XmCNumColumns</td>
2088    <td>int</td>
2089  </tr>
2090  <tr>
2091    <td>XmNoptionLabel</td>
2092    <td>XmCOptionLabel</td>
2093    <td>XmString</td>
2094  </tr>
2095  <tr>
2096    <td>XmNoptionMnemonic</td>
2097    <td>XmCOptionMnemonic</td>
2098    <td>int</td>
2099  </tr>
2100  <tr>
2101    <td>XmNorientation</td>
2102    <td>XmCOrientation</td>
2103    <td>XmOrientation</td>
2104  </tr>
2105  <tr>
2106    <td>XmNpacking</td>
2107    <td>XmCPacking</td>
2108    <td>XmPacking</td>
2109  </tr>
2110  <tr>
2111    <td>XmNpopupEnabled</td>
2112    <td>XmCPopupEnabled</td>
2113    <td>bool</td>
2114  </tr>
2115  <tr>
2116    <td>XmNpostFromButton</td>
2117    <td>XmCPostFromButton</td>
2118    <td>int</td>
2119  </tr>
2120  <tr>
2121    <td>XmNradioAlwaysOne</td>
2122    <td>XmCRadioAlwaysOne</td>
2123    <td>bool</td>
2124  </tr>
2125  <tr>
2126    <td>XmNradioBehavior</td>
2127    <td>XmCRadioBehavior</td>
2128    <td>bool</td>
2129  </tr>
2130  <tr>
2131    <td>XmNresizeHeight</td>
2132    <td>XmCResizeHeight</td>
2133    <td>bool</td>
2134  </tr>
2135  <tr>
2136    <td>XmNresizeWidth</td>
2137    <td>XmCResizeWidth</td>
2138    <td>bool</td>
2139  </tr>
2140  <tr>
2141    <td>XmNrowColumnType</td>
2142    <td>XmCRowColumnType</td>
2143    <td>XmRowColumnType</td>
2144  </tr>
2145  <tr>
2146    <td>XmNsimpleCallback</td>
2147    <td>XmCCallback</td>
2148    <td>(callback)</td>
2149  </tr>
2150  <tr>
2151    <td>XmNspacing</td>
2152    <td>XmCSpacing</td>
2153    <td>int</td>
2154  </tr>
2155  <tr>
2156    <td>XmNsubMenuld</td>
2157    <td>XmCMenuWidget</td>
2158    <td>Widget</td>
2159  </tr>
2160  <tr>
2161    <td>XmNunmapCallback</td>
2162    <td>XmCCallback</td>
2163    <td>(callback)</td>
2164  </tr>
2165</table>
2166
2167<h4>Functions:</h4>
2168
2169<p>val XmCreateOptionMenu: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
2170val XmCreateSimpleOptionMenu: Widget-&gt; string -&gt; Arg list -&gt; Widget</p>
2171
2172<p>val XmOptionButtonGadget: Widget -&gt; Widget<br>
2173val XmOptionLabelGadget: Widget -&gt; Widget</p>
2174
2175<h3>2.12 <a name="PanedWindow">PanedWindow</a></h3>
2176
2177<table border="0">
2178  <tr>
2179    <td align="center">Core</td>
2180  </tr>
2181  <tr>
2182    <td align="center">Composite</td>
2183  </tr>
2184  <tr>
2185    <td align="center">Constraint</td>
2186  </tr>
2187  <tr>
2188    <td align="center">XmManager</td>
2189  </tr>
2190  <tr>
2191    <td align="center">XmPanedWindow</td>
2192  </tr>
2193</table>
2194
2195<h4>Description:</h4>
2196
2197<p>A PanedWindow is a composite widget that arranges its children vertically. The width of
2198a paned window is equal to the widest child. The height of each pane can be adjusted by
2199dragging the sash in the separators between the panes.</p>
2200
2201<h4>Resources:</h4>
2202
2203<table border="1">
2204  <tr>
2205    <td colspan="3" align="center">XmPanedWindow Resources</td>
2206  </tr>
2207  <tr>
2208    <td><strong>Name</strong></td>
2209    <td><strong>Class</strong></td>
2210    <td><strong>Type</strong></td>
2211  </tr>
2212  <tr>
2213    <td>XmNallowResize</td>
2214    <td>XmCBoolean</td>
2215    <td>bool</td>
2216  </tr>
2217  <tr>
2218    <td>XmNmarginHeight</td>
2219    <td>XmCMarginHeight</td>
2220    <td>int</td>
2221  </tr>
2222  <tr>
2223    <td>XmNmarginWidth</td>
2224    <td>XmCMarginWidth</td>
2225    <td>int</td>
2226  </tr>
2227  <tr>
2228    <td>XmNpaneMaximum</td>
2229    <td>XmCPaneMaximum</td>
2230    <td>int</td>
2231  </tr>
2232  <tr>
2233    <td>XmNpaneMinimum</td>
2234    <td>XmCPaneMinimum</td>
2235    <td>int</td>
2236  </tr>
2237  <tr>
2238    <td>XmNrefigureMode</td>
2239    <td>XmCBoolean</td>
2240    <td>bool</td>
2241  </tr>
2242  <tr>
2243    <td>XmNsashHeight</td>
2244    <td>XmCSashHeight</td>
2245    <td>int</td>
2246  </tr>
2247  <tr>
2248    <td>XmNsashIndent</td>
2249    <td>XmCSashIndent</td>
2250    <td>int</td>
2251  </tr>
2252  <tr>
2253    <td>XmNsashShadowThickness</td>
2254    <td>XmCShadowThickness</td>
2255    <td>int</td>
2256  </tr>
2257  <tr>
2258    <td>XmNsashWidth</td>
2259    <td>XmCSashWidth</td>
2260    <td>int</td>
2261  </tr>
2262  <tr>
2263    <td>XmNseparatorOn</td>
2264    <td>XmCSeparatorOn</td>
2265    <td>bool</td>
2266  </tr>
2267  <tr>
2268    <td>XmNskipAdjust</td>
2269    <td>XmCBoolean</td>
2270    <td>bool</td>
2271  </tr>
2272  <tr>
2273    <td>XmNspacing</td>
2274    <td>XmCSpacing</td>
2275    <td>int</td>
2276  </tr>
2277</table>
2278
2279<h4>Functions:</h4>
2280
2281<p>val XmCreatePanedWindow: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
2282
2283<p>val XmIsPanedWindow: Widget -&gt; bool</p>
2284
2285<h3>2.13 <a name="PromptDialog">PromptDialog</a></h3>
2286
2287<table border="0">
2288  <tr>
2289    <td align="center">Core</td>
2290  </tr>
2291  <tr>
2292    <td align="center">Composite</td>
2293  </tr>
2294  <tr>
2295    <td align="center">Constraint</td>
2296  </tr>
2297  <tr>
2298    <td align="center">XmManager</td>
2299  </tr>
2300  <tr>
2301    <td align="center">XmBulletinboard</td>
2302  </tr>
2303  <tr>
2304    <td align="center">XmSelectionBox</td>
2305  </tr>
2306</table>
2307
2308<h4>Description:</h4>
2309
2310<p>A PromptDialog widget is a specific instance of a MessageBox widget. It has an editable
2311text field, OK, Cancel and Help buttons, and a prompt label. The XmNtextString resource is
2312used to set the editable text string, and the XmNselectionLabelString resource is used to
2313set the prompt.</p>
2314
2315<h4>Resources:</h4>
2316
2317<table border="1">
2318  <tr>
2319    <td colspan="3" align="center">XmMessageBox Resources</td>
2320  </tr>
2321  <tr>
2322    <td><strong>Name</strong></td>
2323    <td><strong>Class</strong></td>
2324    <td><strong>Type</strong></td>
2325  </tr>
2326  <tr>
2327    <td>XmNcancelCal1back</td>
2328    <td>XmCCallback</td>
2329    <td>(callback)</td>
2330  </tr>
2331  <tr>
2332    <td>XmNcancelLabelString</td>
2333    <td>XmCCancelLabelString</td>
2334    <td>XmString</td>
2335  </tr>
2336  <tr>
2337    <td>XmNdefaultButtonType</td>
2338    <td>XmCDefaultButtonType</td>
2339    <td>XmDefaultButtonType</td>
2340  </tr>
2341  <tr>
2342    <td>XmNdialogType</td>
2343    <td>XmCDialogType</td>
2344    <td>XmDialogType</td>
2345  </tr>
2346  <tr>
2347    <td>XmNhelpLabelString</td>
2348    <td>XmCHelpLabelString</td>
2349    <td>XmString</td>
2350  </tr>
2351  <tr>
2352    <td>XmNmessageAlignment</td>
2353    <td>XmCAlignment</td>
2354    <td>XmAlignment</td>
2355  </tr>
2356  <tr>
2357    <td>XmNmessageString</td>
2358    <td>XmCMessageString</td>
2359    <td>XmString</td>
2360  </tr>
2361  <tr>
2362    <td>XmNminimizeButtons</td>
2363    <td>XmCMinimizeButtons</td>
2364    <td>bool</td>
2365  </tr>
2366  <tr>
2367    <td>XmNokCallback</td>
2368    <td>XmCCallback</td>
2369    <td>(callback)</td>
2370  </tr>
2371  <tr>
2372    <td>XmNokLabelString</td>
2373    <td>XmCOkLabelString</td>
2374    <td>XmString</td>
2375  </tr>
2376  <tr>
2377    <td>XmNsymbolPixmap</td>
2378    <td>XmCPixmap</td>
2379    <td>Drawable</td>
2380  </tr>
2381</table>
2382
2383<h4>Functions:</h4>
2384
2385<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
2386
2387<p>val XmDIALOG_PROMPT: XmDialogType</p>
2388
2389<p>val XmCreatePromptDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
2390
2391<h3>2.14 <a name="QuestionDialog">QuestionDialog</a></h3>
2392
2393<table border="0">
2394  <tr>
2395    <td align="center">Core</td>
2396  </tr>
2397  <tr>
2398    <td align="center">Composite</td>
2399  </tr>
2400  <tr>
2401    <td align="center">Constraint</td>
2402  </tr>
2403  <tr>
2404    <td align="center">XmManager</td>
2405  </tr>
2406  <tr>
2407    <td align="center">XmBulletinBoard</td>
2408  </tr>
2409  <tr>
2410    <td align="center">XmMessageBox</td>
2411  </tr>
2412</table>
2413
2414<h4>Description:</h4>
2415
2416<p>A QuestionDialog widget is a specific instance of a MessageBox widget. It has a message
2417field, OK, Cancel and Help buttons, and the question icon which resembles a question mark.
2418The XmNmessageString resource is used to set the message string.</p>
2419
2420<h4>Resources:</h4>
2421
2422<table border="1">
2423  <tr>
2424    <td colspan="3" align="center">XmMessageBox Resources</td>
2425  </tr>
2426  <tr>
2427    <td><strong>Name</strong></td>
2428    <td><strong>Class</strong></td>
2429    <td><strong>Type</strong></td>
2430  </tr>
2431  <tr>
2432    <td>XmNcancelCallback</td>
2433    <td>XmCCallback</td>
2434    <td>(callback)</td>
2435  </tr>
2436  <tr>
2437    <td>XmNcancelLabelString</td>
2438    <td>XmCCancelLabelString</td>
2439    <td>XmString</td>
2440  </tr>
2441  <tr>
2442    <td>XmNdefaultButtonType</td>
2443    <td>XmCDefaultButtonType</td>
2444    <td>XmDefaultButtonType</td>
2445  </tr>
2446  <tr>
2447    <td>XmNdialogType</td>
2448    <td>XmCDialogType</td>
2449    <td>XmDialogType</td>
2450  </tr>
2451  <tr>
2452    <td>XmNhelpLabelString</td>
2453    <td>XmCHelpLabelString</td>
2454    <td>XmString</td>
2455  </tr>
2456  <tr>
2457    <td>XmNmessageAlignment</td>
2458    <td>XmCAlignment</td>
2459    <td>XmAlignment</td>
2460  </tr>
2461  <tr>
2462    <td>XmNmessageString</td>
2463    <td>XmCMessageString</td>
2464    <td>XmString</td>
2465  </tr>
2466  <tr>
2467    <td>XmNminimizeButtons</td>
2468    <td>XmCMinimizeButtons</td>
2469    <td>bool</td>
2470  </tr>
2471  <tr>
2472    <td>XmNokCallback</td>
2473    <td>XmCCailback</td>
2474    <td>(callback)</td>
2475  </tr>
2476  <tr>
2477    <td>XmNokLabelString</td>
2478    <td>XmCOkLabelString</td>
2479    <td>XmString</td>
2480  </tr>
2481  <tr>
2482    <td>XmNsymbolPixmap</td>
2483    <td>XmCPixmap</td>
2484    <td>Drawable</td>
2485  </tr>
2486</table>
2487
2488<h4>Functions:</h4>
2489
2490<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
2491
2492<p>val XmDIALOG_QUESTION: XmDialogType</p>
2493
2494<p>val XmCreateQuestionDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
2495
2496<h3>2.15 <a name="Scale">Scale</a></h3>
2497
2498<table border="0">
2499  <tr>
2500    <td align="center">Core</td>
2501  </tr>
2502  <tr>
2503    <td align="center">Composite</td>
2504  </tr>
2505  <tr>
2506    <td align="center">Constraint</td>
2507  </tr>
2508  <tr>
2509    <td align="center">XmManager</td>
2510  </tr>
2511  <tr>
2512    <td align="center">XmScale</td>
2513  </tr>
2514</table>
2515
2516<h4>Description:</h4>
2517
2518<p>A Scale widget is used to display and select a value from within a range of values. The
2519XmNminimum and XmNmaximum resources set the range of the values, and the XmNvalue resource
2520can be used to set and get the current value. The XmNtitleString resource is used to set
2521the title label.</p>
2522
2523<h4>Resources:</h4>
2524
2525<table border="1">
2526  <tr>
2527    <td colspan="3" align="center">XmScale Resources</td>
2528  </tr>
2529  <tr>
2530    <td><strong>Name</strong></td>
2531    <td><strong>Class</strong></td>
2532    <td><strong>Type</strong></td>
2533  </tr>
2534  <tr>
2535    <td>XmNdecimalPoints</td>
2536    <td>XmCDecimalPoints</td>
2537    <td>int</td>
2538  </tr>
2539  <tr>
2540    <td>XmNdragCallback</td>
2541    <td>XmCCallback</td>
2542    <td>(callback)</td>
2543  </tr>
2544  <tr>
2545    <td>XmNfontList</td>
2546    <td>XmCFontList</td>
2547    <td>XFontStruct list</td>
2548  </tr>
2549  <tr>
2550    <td>XmNhighlightOnEnter</td>
2551    <td>XmCHighlightOnEnter</td>
2552    <td>bool</td>
2553  </tr>
2554  <tr>
2555    <td>XmNhighlightThickness</td>
2556    <td>XmCHighlightThickness</td>
2557    <td>int</td>
2558  </tr>
2559  <tr>
2560    <td>XmNmaximum</td>
2561    <td>XmCMaximum</td>
2562    <td>int</td>
2563  </tr>
2564  <tr>
2565    <td>XmNminimum</td>
2566    <td>XmCMinimum</td>
2567    <td>int</td>
2568  </tr>
2569  <tr>
2570    <td>XmNorientation</td>
2571    <td>XmCOrientation</td>
2572    <td>XmOrientation</td>
2573  </tr>
2574  <tr>
2575    <td>XmNprocessingDirection</td>
2576    <td>XmCProcessingDirection</td>
2577    <td>XmProcessingDirection</td>
2578  </tr>
2579  <tr>
2580    <td>XmNscaleHeight</td>
2581    <td>XmCScaleHeight</td>
2582    <td>int</td>
2583  </tr>
2584  <tr>
2585    <td>XmNscaleMultiple</td>
2586    <td>XmCScaleMultiple</td>
2587    <td>int</td>
2588  </tr>
2589  <tr>
2590    <td>XmNscaleWidth</td>
2591    <td>XmCScaleWidth</td>
2592    <td>int</td>
2593  </tr>
2594  <tr>
2595    <td>XmNshowValue</td>
2596    <td>XmCShowValue</td>
2597    <td>bool</td>
2598  </tr>
2599  <tr>
2600    <td>XmNtitleString</td>
2601    <td>XmCTitleString</td>
2602    <td>XmString</td>
2603  </tr>
2604  <tr>
2605    <td>XmNvalue</td>
2606    <td>XmCValue</td>
2607    <td>int</td>
2608  </tr>
2609  <tr>
2610    <td>XmNvalueChangedCallback</td>
2611    <td>XmCCallback</td>
2612    <td>(callback)</td>
2613  </tr>
2614</table>
2615
2616<h4>Functions:</h4>
2617
2618<p>datatype XmOrientation = XmVERTICAL | XmHORIZONTAL</p>
2619
2620<p>datatype XmProcessingDirection = XmMAX_ON_TOP | XmMAX_ON_BOTTOM | XmMAX_ON_LEFT |
2621XmMAX_ON_RIGHT</p>
2622
2623<p>val XmCreateScale: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
2624
2625<p>val XmIsScale: Widget -&gt; bool</p>
2626
2627<h3>2.16 <a name="ScrollBar">ScrollBar</a></h3>
2628
2629<table border="0">
2630  <tr>
2631    <td align="center">Core</td>
2632  </tr>
2633  <tr>
2634    <td align="center">XmPrimitive</td>
2635  </tr>
2636  <tr>
2637    <td align="center">XmScrollBar</td>
2638  </tr>
2639</table>
2640
2641<h4>Description:</h4>
2642
2643<p>A ScrollBar widget is used to indicate how much of a data set is currently being
2644displayed in some other widget. The scrollbar can be adjusted by the user so that any part
2645of the data set is displayed. The XmNminimum and XmNmaximum resources set the range of the
2646data set, and the XmNvalue resource can be used to set and get the current position. The
2647XmNsliderSize resource should be set to indicate how much of the set is currently visible.</p>
2648
2649<h4>Resources:</h4>
2650
2651<table border="1">
2652  <tr>
2653    <td colspan="3" align="center">XmScrollBar Resources</td>
2654  </tr>
2655  <tr>
2656    <td><strong>Name</strong></td>
2657    <td><strong>Class</strong></td>
2658    <td><strong>Type</strong></td>
2659  </tr>
2660  <tr>
2661    <td>XmNdecrementCallback</td>
2662    <td>XmCCallback</td>
2663    <td>(callback)</td>
2664  </tr>
2665  <tr>
2666    <td>XmNdragCallback</td>
2667    <td>XmCCallback</td>
2668    <td>(callback)</td>
2669  </tr>
2670  <tr>
2671    <td>XmNincrement</td>
2672    <td>XmCIncrement</td>
2673    <td>int</td>
2674  </tr>
2675  <tr>
2676    <td>XmNincrementCallback</td>
2677    <td>XmCCallback</td>
2678    <td>(callback)</td>
2679  </tr>
2680  <tr>
2681    <td>XmNinitialDelay</td>
2682    <td>XmCInitialDelay</td>
2683    <td>int</td>
2684  </tr>
2685  <tr>
2686    <td>XmNmaximum</td>
2687    <td>XmCMaximum</td>
2688    <td>int</td>
2689  </tr>
2690  <tr>
2691    <td>XmNminimum</td>
2692    <td>XmCMinimum</td>
2693    <td>int</td>
2694  </tr>
2695  <tr>
2696    <td>XmNorientation</td>
2697    <td>XmCOrientation</td>
2698    <td>XmOrientation</td>
2699  </tr>
2700  <tr>
2701    <td>XmNpageDecrementCallback</td>
2702    <td>XmCCallback</td>
2703    <td>(callback)</td>
2704  </tr>
2705  <tr>
2706    <td>XmNpageIncrement</td>
2707    <td>XmCPageIncrement</td>
2708    <td>int</td>
2709  </tr>
2710  <tr>
2711    <td>XmNpageIncrementCallback</td>
2712    <td>XmCCallback</td>
2713    <td>(callback)</td>
2714  </tr>
2715  <tr>
2716    <td>XmNprocessingDirection</td>
2717    <td>XmCProcessingDirection</td>
2718    <td>XmProcessingDirection</td>
2719  </tr>
2720  <tr>
2721    <td>XmNrepeatDelay</td>
2722    <td>XmCRepeatDelay</td>
2723    <td>int</td>
2724  </tr>
2725  <tr>
2726    <td>XmNshowArrows</td>
2727    <td>XmCShowArrows</td>
2728    <td>bool</td>
2729  </tr>
2730  <tr>
2731    <td>XmNsliderSize</td>
2732    <td>XmCSliderSize</td>
2733    <td>int</td>
2734  </tr>
2735  <tr>
2736    <td>XmNtoBottomCallback</td>
2737    <td>XmCCallback</td>
2738    <td>(callback)</td>
2739  </tr>
2740  <tr>
2741    <td>XmNtoTopCallback</td>
2742    <td>XmCCallback</td>
2743    <td>(callback)</td>
2744  </tr>
2745  <tr>
2746    <td>XmNtroughColor</td>
2747    <td>XmCtroughColor</td>
2748    <td>int</td>
2749  </tr>
2750  <tr>
2751    <td>XmNvalue</td>
2752    <td>XmCValue</td>
2753    <td>int</td>
2754  </tr>
2755  <tr>
2756    <td>XmNvalueChangedCallback</td>
2757    <td>XmCCallback</td>
2758    <td>(callback)</td>
2759  </tr>
2760</table>
2761
2762<h4>Functions:</h4>
2763
2764<p>datatype XmOrientation = XmVERTICAL | XmHORIZONTAL</p>
2765
2766<p>datatype XmProcessingDirection = XmMAX_ON_TOP | XmMAX_ON_BOTTOM | XmMAX_ON_LEFT |
2767XmMAX_ON_RIGHT</p>
2768
2769<p>val XmCreateScrollBar: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
2770
2771<p>val XinIsScrollBar: Widget -&gt; bool</p>
2772
2773<h3>2.17 <a name="ScrolledList">ScrolledList</a></h3>
2774
2775<table border="0">
2776  <tr>
2777    <td align="center">Core</td>
2778  </tr>
2779  <tr>
2780    <td align="center">Composite</td>
2781  </tr>
2782  <tr>
2783    <td align="center">Constraint</td>
2784  </tr>
2785  <tr>
2786    <td align="center">XmManager</td>
2787  </tr>
2788  <tr>
2789    <td align="center">XmScrolledWindow</td>
2790  </tr>
2791</table>
2792
2793<h4>Description:</h4>
2794
2795<p>A ScrolledList widget is a composite widget consisting of a list widget contained
2796within a scrolled window. list widgets are used to select of one or more entries from a
2797list of text strings. The XmNselectionPolicy resource determines one of several selection
2798different modes the list may operate in. The XmNitems resource is used to pass in the list
2799of strings to select from. The XmNselectedItems resource is used to set or get the
2800currently selected items.</p>
2801
2802<h4>Resources:</h4>
2803
2804<table border="1">
2805  <tr>
2806    <td colspan="3" align="center">XmScrolledWindow Resources</td>
2807  </tr>
2808  <tr>
2809    <td><strong>Name</strong></td>
2810    <td><strong>Class</strong></td>
2811    <td><strong>Type</strong></td>
2812  </tr>
2813  <tr>
2814    <td>XmNclipWindow</td>
2815    <td>XmCClipWindow</td>
2816    <td>Widget</td>
2817  </tr>
2818  <tr>
2819    <td>XmNhorizontalScrollBar</td>
2820    <td>XmCHorizontalScrollBar</td>
2821    <td>Widget</td>
2822  </tr>
2823  <tr>
2824    <td>XmNscrollBarDisplayPolicy</td>
2825    <td>XmCScrollBarDisplayPolicy</td>
2826    <td>XmScrollBarDisplayPolicy</td>
2827  </tr>
2828  <tr>
2829    <td>XmNscrollBarPlacement</td>
2830    <td>XmCScrollBarPlacement</td>
2831    <td>XmScrollBarPlacement</td>
2832  </tr>
2833  <tr>
2834    <td>XmNscrolledWindowMarginHeight</td>
2835    <td>XmCScrolledWindowMarginHeight</td>
2836    <td>int</td>
2837  </tr>
2838  <tr>
2839    <td>XmNscrolledWindowMarginWidth</td>
2840    <td>XmCScrolledWindowMarginWidth</td>
2841    <td>int</td>
2842  </tr>
2843  <tr>
2844    <td>XmNserollingPolicy</td>
2845    <td>XmCScrollingPolicy</td>
2846    <td>XmScrollingPolicy</td>
2847  </tr>
2848  <tr>
2849    <td>XmNspacing</td>
2850    <td>XmCSpacing</td>
2851    <td>int</td>
2852  </tr>
2853  <tr>
2854    <td>XmNverticalScrollBar</td>
2855    <td>XmCVerticalScrollBar</td>
2856    <td>Widget</td>
2857  </tr>
2858  <tr>
2859    <td>XmNvisualPolicy</td>
2860    <td>XmCVisualPolicy</td>
2861    <td>XmVisualPolicy</td>
2862  </tr>
2863  <tr>
2864    <td>XmNworkWindow</td>
2865    <td>XmCWorkWindow</td>
2866    <td>Widget</td>
2867  </tr>
2868</table>
2869
2870<h4>Functions:</h4>
2871
2872<p>datatype XmScrollBarDisplayPolicy = XmSTATIC | XmAS_NEEDED</p>
2873
2874<p>datatype XmSelectionPolicy = XmSINGLE_SELECT | XmMULTIPLE_SELECT | XmEXTENDED_SELECT |
2875XmBROWSE_SELECT</p>
2876
2877<p>datatype XmVisualPolicy = XmVARIABLE | XmCONSTANT | XmRESIZE_IF_POSSIBLE</p>
2878
2879<p>val XmCreateList: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
2880val XmCreateScrolledList: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
2881
2882<p>val XmIsList: Widget -&gt; bool<br>
2883val XmIsScrolledWindow: Widget -&gt; bool</p>
2884
2885<h3>2.18 <a name="ScrolledText">ScrolledText</a></h3>
2886
2887<table border="0">
2888  <tr>
2889    <td align="center">Core</td>
2890  </tr>
2891  <tr>
2892    <td align="center">Composite</td>
2893  </tr>
2894  <tr>
2895    <td align="center">Constraint</td>
2896  </tr>
2897  <tr>
2898    <td align="center">XmManager</td>
2899  </tr>
2900  <tr>
2901    <td align="center">XmScrolledWindow</td>
2902  </tr>
2903</table>
2904
2905<h4>Description:</h4>
2906
2907<p>A ScrolledText widget is a composite widget consisting of a text widget contained
2908within a scrolled window.</p>
2909
2910<h4>Resources:</h4>
2911
2912<table border="1">
2913  <tr>
2914    <td colspan="3" align="center">XmText Resources</td>
2915  </tr>
2916  <tr>
2917    <td><strong>Name</strong></td>
2918    <td><strong>Class</strong></td>
2919    <td><strong>Type</strong></td>
2920  </tr>
2921  <tr>
2922    <td>XmNactivateCallback</td>
2923    <td>XmCCallback</td>
2924    <td>(callback)</td>
2925  </tr>
2926  <tr>
2927    <td>XmNautoShowCursorPosition</td>
2928    <td>XmCAutoShowCursorPosition</td>
2929    <td>bool</td>
2930  </tr>
2931  <tr>
2932    <td>XmNblinkRate</td>
2933    <td>XmCBlinkRate</td>
2934    <td>int</td>
2935  </tr>
2936  <tr>
2937    <td>XmNcolumns</td>
2938    <td>XmCColumns</td>
2939    <td>int</td>
2940  </tr>
2941  <tr>
2942    <td>XmNcursorPosition</td>
2943    <td>XmCCursorPosition</td>
2944    <td>int</td>
2945  </tr>
2946  <tr>
2947    <td>XmNcursorPositionVisible</td>
2948    <td>XmCCursorPositionVisible</td>
2949    <td>bool</td>
2950  </tr>
2951  <tr>
2952    <td>XmNeditMode</td>
2953    <td>XmCEditMode</td>
2954    <td>XmEditMode</td>
2955  </tr>
2956  <tr>
2957    <td>XmNeditable</td>
2958    <td>XmCEditable</td>
2959    <td>bool</td>
2960  </tr>
2961  <tr>
2962    <td>XmNfocusCallback</td>
2963    <td>XmCCallback</td>
2964    <td>(callback)</td>
2965  </tr>
2966  <tr>
2967    <td>XmNfontList</td>
2968    <td>XmCFontList</td>
2969    <td>XFontStruct list</td>
2970  </tr>
2971  <tr>
2972    <td>XmNgainPrimaryCallback</td>
2973    <td>XmCCallback</td>
2974    <td>(callback)</td>
2975  </tr>
2976  <tr>
2977    <td>XmNlosePrimaryCallback</td>
2978    <td>XmCCallback</td>
2979    <td>(callback)</td>
2980  </tr>
2981  <tr>
2982    <td>XmNlosingFocusCallback</td>
2983    <td>XmCCallback</td>
2984    <td>(callback)</td>
2985  </tr>
2986  <tr>
2987    <td>XmNmarginHeight</td>
2988    <td>XmCMarginHeight</td>
2989    <td>int</td>
2990  </tr>
2991  <tr>
2992    <td>XmNmarginWidth</td>
2993    <td>XmCMarginWidth</td>
2994    <td>int</td>
2995  </tr>
2996  <tr>
2997    <td>XmNmaxLength</td>
2998    <td>XmCMaxLength</td>
2999    <td>int</td>
3000  </tr>
3001  <tr>
3002    <td>XmNmodifyVerifyCallback</td>
3003    <td>XmCCallback</td>
3004    <td>(callback)</td>
3005  </tr>
3006  <tr>
3007    <td>XmNmotionVerifyCallback</td>
3008    <td>XmCCallback</td>
3009    <td>(callback)</td>
3010  </tr>
3011  <tr>
3012    <td>XmNpendingDelete</td>
3013    <td>XmCPendingDelete</td>
3014    <td>bool</td>
3015  </tr>
3016  <tr>
3017    <td>XmNresizeHeight</td>
3018    <td>XmCResizeHeight</td>
3019    <td>bool</td>
3020  </tr>
3021  <tr>
3022    <td>XmNresizeWidth</td>
3023    <td>XmCResizeWidth</td>
3024    <td>bool</td>
3025  </tr>
3026  <tr>
3027    <td>XmNrows</td>
3028    <td>XmCRows</td>
3029    <td>int</td>
3030  </tr>
3031  <tr>
3032    <td>XmNscrollHorizontal</td>
3033    <td>XmCScroll</td>
3034    <td>bool</td>
3035  </tr>
3036  <tr>
3037    <td>XmNscrollLeftSide</td>
3038    <td>XmCScrollSide</td>
3039    <td>bool</td>
3040  </tr>
3041  <tr>
3042    <td>XmNscrollTopSide</td>
3043    <td>XmCScrollSide</td>
3044    <td>bool</td>
3045  </tr>
3046  <tr>
3047    <td>XmNscrollVertical</td>
3048    <td>XmCScroll</td>
3049    <td>bool</td>
3050  </tr>
3051  <tr>
3052    <td>XmNselectThreshold</td>
3053    <td>XmCSelectThreshold</td>
3054    <td>int</td>
3055  </tr>
3056  <tr>
3057    <td>XmNselectionArray</td>
3058    <td>XmCSelectionArray</td>
3059    <td>XmTextScanType list</td>
3060  </tr>
3061  <tr>
3062    <td>XmNselectionArrayCount</td>
3063    <td>XmCSelectionArrayCount</td>
3064    <td>int</td>
3065  </tr>
3066  <tr>
3067    <td>XmNtopCharacter</td>
3068    <td>XmCTextPosition</td>
3069    <td>int</td>
3070  </tr>
3071  <tr>
3072    <td>XmNvalueChangedCallback</td>
3073    <td>XmCCallback</td>
3074    <td>(callback)</td>
3075  </tr>
3076  <tr>
3077    <td>XmNverifyBell</td>
3078    <td>XmCVerifyBell</td>
3079    <td>bool</td>
3080  </tr>
3081  <tr>
3082    <td>XmNwordWrap</td>
3083    <td>XmCWordWrap</td>
3084    <td>bool</td>
3085  </tr>
3086</table>
3087
3088<h4>Functions:</h4>
3089
3090<p>datatype XmScrollBarDisplayPolicy = XmSTATIC | XmAS_NEEDED</p>
3091
3092<p>datatype XmScrollingPolicy = XmAUTOMATIC | XmAPPLICATION_DEFINED</p>
3093
3094<p>datatype XmTextScanType = XmSELECT_POSITION | XmSELECT_WHITESPACE | XmSELECT_WORD |
3095XmSELECT_LINE | XmSELECT_ALL | XmSELECT_PARAGRAPH</p>
3096
3097<p>val XmCreateText: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
3098val XmCreateScrolledText: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
3099
3100<p>val XmTextGetString: Widget -&gt; string<br>
3101val XmTextSetString: Widget -&gt; string -&gt; unit<br>
3102val XmTextSetInsertionPosition: Widget -&gt; int -&gt; unit</p>
3103
3104<p>val XmIsText: Widget -&gt; bool<br>
3105val XmIsScrolledWindow: Widget -&gt; bool</p>
3106
3107<h3>2.19 <a name="ScrolledWindow">ScrolledWindow</a></h3>
3108
3109<table border="0">
3110  <tr>
3111    <td align="center">Core</td>
3112  </tr>
3113  <tr>
3114    <td align="center">Composite</td>
3115  </tr>
3116  <tr>
3117    <td align="center">Constraint</td>
3118  </tr>
3119  <tr>
3120    <td align="center">XmManager</td>
3121  </tr>
3122  <tr>
3123    <td align="center">XmScrolledWindow</td>
3124  </tr>
3125</table>
3126
3127<h4>Description:</h4>
3128
3129<p>A ScrolledWindow is a widget that can manage two scroll bars and a work area. If the
3130XmNscrollingPolicy resource is set to XmAUTOMATIC then all the scrolling behaviour is
3131provided by the ScrolledWindow widget and the user just has to make the work area big
3132enough to display all of the data. Other modes of operation exist for cases where this is
3133inappropriate, such as displaying the text from a very long file.</p>
3134
3135<h4>Resources:</h4>
3136
3137<table border="1">
3138  <tr>
3139    <td colspan="3" align="center">XmScrolledWindow Resources</td>
3140  </tr>
3141  <tr>
3142    <td><strong>Name</strong></td>
3143    <td><strong>Class</strong></td>
3144    <td><strong>Type</strong></td>
3145  </tr>
3146  <tr>
3147    <td>XmNclipWindow</td>
3148    <td>XmCClipWindow</td>
3149    <td>Widget</td>
3150  </tr>
3151  <tr>
3152    <td>XmNhorizontalScrollBar</td>
3153    <td>XmCHorizontalScroliBar</td>
3154    <td>Widget</td>
3155  </tr>
3156  <tr>
3157    <td>XmNscrollBarDisplayPolicy</td>
3158    <td>XmCScrollBarDisplayPolicy</td>
3159    <td>XmScrollBarDisplayPolicy</td>
3160  </tr>
3161  <tr>
3162    <td>XmNscrollBarPlacement</td>
3163    <td>XmCScrollBarPlacement</td>
3164    <td>XmScrollBarPlacement</td>
3165  </tr>
3166  <tr>
3167    <td>XmNserolledWindowMarginHeight</td>
3168    <td>XmCScrolledWindowMarginHeight</td>
3169    <td>int</td>
3170  </tr>
3171  <tr>
3172    <td>XmNscrolledWindowMarginWidth</td>
3173    <td>XmCScrolledWindowMarginWidth</td>
3174    <td>int</td>
3175  </tr>
3176  <tr>
3177    <td>XmNscrollingPolicy</td>
3178    <td>XmCScrollingPolicy</td>
3179    <td>XmScrollingPolicy</td>
3180  </tr>
3181  <tr>
3182    <td>XmNspacing</td>
3183    <td>XmCSpacing</td>
3184    <td>int</td>
3185  </tr>
3186  <tr>
3187    <td>XmNverticalScrollBar</td>
3188    <td>XmCVerticalScrollBar</td>
3189    <td>Widget</td>
3190  </tr>
3191  <tr>
3192    <td>XmNvisualPolicy</td>
3193    <td>XmCVisualPolicy</td>
3194    <td>XmVisualPolicy</td>
3195  </tr>
3196  <tr>
3197    <td>XmNworkWindow</td>
3198    <td>XmCWorkWindow</td>
3199    <td>Widget</td>
3200  </tr>
3201</table>
3202
3203<h4>Functions:</h4>
3204
3205<p>datatype XmScrollBarDisplayPolicy = XmSTATIC | XmAS_NEEDED</p>
3206
3207<p>datatype XmScrollBarPlacement = XmBOTTOM_RIGHT | XmTOP_RIGHT | XmBOTTOM_LEFT |
3208XmTOP_LEFT</p>
3209
3210<p>datatype XmScrollingPolicy = XmAUTOMATIC | XmAPPLICATION_DEFINED</p>
3211
3212<p>datatype XmVisualPolicy = XmVARIABLE | XmCONSTANT | XmRESIZE_IF_POSSIBLE</p>
3213
3214<p>val XmCreateScrolledWindow: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
3215
3216<p>val XmScrolledWindowSetAreas: Widget -&gt; Widget -&gt; Widget -&gt; Widget -&gt; unit</p>
3217
3218<p>val XmIsScrolledWindow: Widget -&gt; bool</p>
3219
3220<h3>2.20 <a name="SelectionDialog">SelectionDialog</a></h3>
3221
3222<table border="0">
3223  <tr>
3224    <td align="center">Core</td>
3225  </tr>
3226  <tr>
3227    <td align="center">Composite</td>
3228  </tr>
3229  <tr>
3230    <td align="center">Constraint</td>
3231  </tr>
3232  <tr>
3233    <td align="center">XmManager</td>
3234  </tr>
3235  <tr>
3236    <td align="center">XmBulletinBoard</td>
3237  </tr>
3238  <tr>
3239    <td align="center">XmSelectionBox</td>
3240  </tr>
3241</table>
3242
3243<h4>Description:</h4>
3244
3245<p>A SelectionDialog includes a scrolled list, an editable text field, labels and four
3246buttons which are labelled OK, Cancel, Apply and Help by default. Use the XmNlistItems
3247resource to set the contents of the scrolled list, and the XmNtextString resource to set
3248and get the value of the editable text field.</p>
3249
3250<h4>Resources:</h4>
3251
3252<table border="1">
3253  <tr>
3254    <td colspan="3" align="center">XmSelectionBox Resources</td>
3255  </tr>
3256  <tr>
3257    <td><strong>Name</strong></td>
3258    <td><strong>Class</strong></td>
3259    <td><strong>Type</strong></td>
3260  </tr>
3261  <tr>
3262    <td>XmNapplyCallback</td>
3263    <td>XmCCallback</td>
3264    <td>(callback)</td>
3265  </tr>
3266  <tr>
3267    <td>XmNapplyLabelString</td>
3268    <td>XmCApplyLabelString</td>
3269    <td>XmString</td>
3270  </tr>
3271  <tr>
3272    <td>XmNcancelCallback</td>
3273    <td>XmCCallback</td>
3274    <td>(callback)</td>
3275  </tr>
3276  <tr>
3277    <td>XmNcancelLabelString</td>
3278    <td>XmCCancelLabelString</td>
3279    <td>XmString</td>
3280  </tr>
3281  <tr>
3282    <td>XmNdialogType</td>
3283    <td>XmCDialogType</td>
3284    <td>XmDialogType</td>
3285  </tr>
3286  <tr>
3287    <td>XmNhelpLabelString</td>
3288    <td>XmCHelpLabelString</td>
3289    <td>XmString</td>
3290  </tr>
3291  <tr>
3292    <td>XmNlistItemCount</td>
3293    <td>XmCItemCount</td>
3294    <td>int</td>
3295  </tr>
3296  <tr>
3297    <td>XmNlistItems</td>
3298    <td>XmCItems</td>
3299    <td>XmString list</td>
3300  </tr>
3301  <tr>
3302    <td>XmNlistLabelString</td>
3303    <td>XmCListLabelString</td>
3304    <td>XmString</td>
3305  </tr>
3306  <tr>
3307    <td>XmNlistVisibleltemCount</td>
3308    <td>XmCVisibleItemCount</td>
3309    <td>int</td>
3310  </tr>
3311  <tr>
3312    <td>XmNminimizeButtons</td>
3313    <td>XmCMinimizeButtons</td>
3314    <td>bool</td>
3315  </tr>
3316  <tr>
3317    <td>XmNmustMatch</td>
3318    <td>XmCMustMatch</td>
3319    <td>bool</td>
3320  </tr>
3321  <tr>
3322    <td>XmNnoMatchCallback</td>
3323    <td>XmCCallback</td>
3324    <td>(callback)</td>
3325  </tr>
3326  <tr>
3327    <td>XmNokCallback</td>
3328    <td>XmCCallback</td>
3329    <td>(callback)</td>
3330  </tr>
3331  <tr>
3332    <td>XmNokLabelString</td>
3333    <td>XmCOkLabelString</td>
3334    <td>XmString</td>
3335  </tr>
3336  <tr>
3337    <td>XmNselectionLabelString</td>
3338    <td>XmCSelectionLabelString</td>
3339    <td>XmString</td>
3340  </tr>
3341  <tr>
3342    <td>XmNtextAccelerators</td>
3343    <td>XmCAccelerators</td>
3344    <td>XtAccelerators</td>
3345  </tr>
3346  <tr>
3347    <td>XmNtextColumns</td>
3348    <td>XmCColumns</td>
3349    <td>int</td>
3350  </tr>
3351  <tr>
3352    <td>XmNtextString</td>
3353    <td>XmCTextString</td>
3354    <td>XmString</td>
3355  </tr>
3356</table>
3357
3358<h4>Functions:</h4>
3359
3360<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
3361
3362<p>val XmDIALOG_SELECTION: XmDialogType</p>
3363
3364<p>val XmDIALOG_APPLY_BUTTON: XmDefaultButtonType<br>
3365val XmDIALOG_CANCEL_BUTTON: XmDefaultButtonType<br>
3366val XmDIALOG_DEFAULT_BUTTON: XmDefaultButtonType<br>
3367val XmDIALOG_HELP_BUTTON: XmDefaultButtonType<br>
3368val XmDIALOG_LIST: XmDefaultButtonType<br>
3369val XmDIALOG_LIST_LABEL: XmDefaultButtonType<br>
3370val XmDIALOG_OK_BUTTON: XmDefaultButtonType<br>
3371val XmDIALOG_SELECTION_LABEL: XmDefaultButtonType<br>
3372val XmDIALOG_SEPARATOR: XmDefaultButtonType<br>
3373val XmDIALOG_TEXT: XmDefaultButtonType</p>
3374
3375<p>val XmCreateSelectionBox: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
3376val XmCreateSelectionDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
3377
3378<p>val XmSelectionBoxGetChild: Widget -&gt; XmDefaultButtonType -&gt; Widget</p>
3379
3380<p>val XmIsSelectionBox: Widget -&gt; bool</p>
3381
3382<h3>2.21 <a name="Text">Text</a></h3>
3383
3384<table border="0">
3385  <tr>
3386    <td align="center">Core</td>
3387  </tr>
3388  <tr>
3389    <td align="center">XmPrimitive</td>
3390  </tr>
3391  <tr>
3392    <td align="center">XmText</td>
3393  </tr>
3394</table>
3395
3396<h4>Description:</h4>
3397
3398<p>The text widget provides both single and multi-line text editors with cut/copy/paste
3399facilities. Use the XmNeditMode resource to choose single or multi-line editing. Use the
3400function XmTextSetString to copy a string into the widget, and the function
3401XmTextGetString to get it back again. Line breaks within multi-line strings are
3402represented by &quot;\n&quot; characters.</p>
3403
3404<h4>Resources:</h4>
3405
3406<table border="1">
3407  <tr>
3408    <td colspan="3" align="center">XmText Resources</td>
3409  </tr>
3410  <tr>
3411    <td><strong>Name</strong></td>
3412    <td><strong>Class</strong></td>
3413    <td><strong>Type</strong></td>
3414  </tr>
3415  <tr>
3416    <td>XmNactivateCallback</td>
3417    <td>XmCCallback</td>
3418    <td>(callback)</td>
3419  </tr>
3420  <tr>
3421    <td>XmNautoShowCursorPosition</td>
3422    <td>XmCAutoShowCursorPosition</td>
3423    <td>bool</td>
3424  </tr>
3425  <tr>
3426    <td>XmNblinkRate</td>
3427    <td>XmCBlinkRate</td>
3428    <td>int</td>
3429  </tr>
3430  <tr>
3431    <td>XmNcolumns</td>
3432    <td>XmCColumns</td>
3433    <td>int</td>
3434  </tr>
3435  <tr>
3436    <td>XmNcursorPosition</td>
3437    <td>XmCCursorPosition</td>
3438    <td>int</td>
3439  </tr>
3440  <tr>
3441    <td>XmNcursorPositionVisible</td>
3442    <td>XmCCursorPositionVisible</td>
3443    <td>bool</td>
3444  </tr>
3445  <tr>
3446    <td>XmNeditMode</td>
3447    <td>XmCEditMode</td>
3448    <td>XmEditMode</td>
3449  </tr>
3450  <tr>
3451    <td>XmNeditable</td>
3452    <td>XmCEditable</td>
3453    <td>bool</td>
3454  </tr>
3455  <tr>
3456    <td>XmNfocusCallback</td>
3457    <td>XmCCallback</td>
3458    <td>(callback)</td>
3459  </tr>
3460  <tr>
3461    <td>XmNfontList</td>
3462    <td>XmCFontList</td>
3463    <td>XFontStruct list</td>
3464  </tr>
3465  <tr>
3466    <td>XmNgainPrimaryCallback</td>
3467    <td>XmCCallback</td>
3468    <td>(callback)</td>
3469  </tr>
3470  <tr>
3471    <td>XmNlosePrimaryCallback</td>
3472    <td>XmCCallback</td>
3473    <td>(callback)</td>
3474  </tr>
3475  <tr>
3476    <td>XmNlosingFocusCallback</td>
3477    <td>XmCCallback</td>
3478    <td>(callback)</td>
3479  </tr>
3480  <tr>
3481    <td>XmNmarginHeight</td>
3482    <td>XmCMarginHeight</td>
3483    <td>int</td>
3484  </tr>
3485  <tr>
3486    <td>XmNmarginWidth</td>
3487    <td>XmCMarginWidth</td>
3488    <td>int</td>
3489  </tr>
3490  <tr>
3491    <td>XmNmaxLength</td>
3492    <td>XmCMaxLength</td>
3493    <td>int</td>
3494  </tr>
3495  <tr>
3496    <td>XmNmodifyVerifyCallback</td>
3497    <td>XmCCallback</td>
3498    <td>(callback)</td>
3499  </tr>
3500  <tr>
3501    <td>XmNmotionVerifyCallback</td>
3502    <td>XmCCallback</td>
3503    <td>(callback)</td>
3504  </tr>
3505  <tr>
3506    <td>XmNpendingDelete</td>
3507    <td>XmCPendingDelete</td>
3508    <td>bool</td>
3509  </tr>
3510  <tr>
3511    <td>XmNresizeHeight</td>
3512    <td>XmCResizeHeight</td>
3513    <td>bool</td>
3514  </tr>
3515  <tr>
3516    <td>XmNresizeWidth</td>
3517    <td>XmCResizeWidth</td>
3518    <td>bool</td>
3519  </tr>
3520  <tr>
3521    <td>XmNrows</td>
3522    <td>XmCRows</td>
3523    <td>int</td>
3524  </tr>
3525  <tr>
3526    <td>XmNscrollHorizontal</td>
3527    <td>XmCScroll</td>
3528    <td>bool</td>
3529  </tr>
3530  <tr>
3531    <td>XmNscrollLeftSide</td>
3532    <td>XmCScrollSide</td>
3533    <td>bool</td>
3534  </tr>
3535  <tr>
3536    <td>XmNscrollTopSide</td>
3537    <td>XmCScrollSide</td>
3538    <td>bool</td>
3539  </tr>
3540  <tr>
3541    <td>XmNscrollVertical</td>
3542    <td>XmCScroll</td>
3543    <td>bool</td>
3544  </tr>
3545  <tr>
3546    <td>XmNselectThreshold</td>
3547    <td>XmCSelectThreshold</td>
3548    <td>int</td>
3549  </tr>
3550  <tr>
3551    <td>XmNselectionArray</td>
3552    <td>XmCSelectionArray</td>
3553    <td>XmTextScanType list</td>
3554  </tr>
3555  <tr>
3556    <td>XmNselectionArrayCount</td>
3557    <td>XmCSelectionArrayCount</td>
3558    <td>int</td>
3559  </tr>
3560  <tr>
3561    <td>XmNtopCharacter</td>
3562    <td>XmCTextPosition</td>
3563    <td>int</td>
3564  </tr>
3565  <tr>
3566    <td>XmNvalueChangedCallback</td>
3567    <td>XmCCallback</td>
3568    <td>(callback)</td>
3569  </tr>
3570  <tr>
3571    <td>XmNverifyBell</td>
3572    <td>XmCVerifyBell</td>
3573    <td>bool</td>
3574  </tr>
3575  <tr>
3576    <td>XmNwordWrap</td>
3577    <td>XmCWordWrap</td>
3578    <td>bool</td>
3579  </tr>
3580</table>
3581
3582<h4>Functions:</h4>
3583
3584<p>datatype XmTextScanType = XmSELECT_POSITION | XmSELECT_WHITESPACE | XmSELECT_WORD |
3585XmSELECT_LINE | XmSELECT_ALL | XmSELECT_PARAGRAPH</p>
3586
3587<p>val XmCreateText: Widget-&gt; string -&gt; Arg list -&gt; Widget<br>
3588val XmCreateScrolledText: Widget-&gt; string -&gt; Arg list -&gt; Widget</p>
3589
3590<p>val XmTextGetString: Widget -&gt; string<br>
3591val XmTextSetString: Widget -&gt; string unit<br>
3592val XmTextSetInsertionPosition: Widget int -&gt; unit</p>
3593
3594<p>val XmIsText: Widget -&gt; bool<br>
3595val XmIsScrolledWindow: Widget -&gt; bool</p>
3596
3597<h3>2.22 <a name="ToggleButton">ToggleButton</a></h3>
3598
3599<table border="0">
3600  <tr>
3601    <td align="center">Core</td>
3602  </tr>
3603  <tr>
3604    <td align="center">XmPrimitive</td>
3605  </tr>
3606  <tr>
3607    <td align="center">XmLabel</td>
3608  </tr>
3609  <tr>
3610    <td align="center">XmToggleButton</td>
3611  </tr>
3612</table>
3613
3614<h4>Description:</h4>
3615
3616<p>A ToggleButton is used to display and set boolean or one-of-many states. When used for
3617boolean states the ToggleButton uses a filled or empty square indicator to show the set or
3618unset state. When used for one-of-many states the ToggleButton uses a filled or empty
3619diamond to show the set and unset states. Pressing a boolean ToggleButton toggles the
3620state from set to unset. Pressing one button in a RowColumn widget that has its
3621XmNradioBehavior resource set to true, will set that button and unset all the others. In
3622this case all the ToggleButtons automatically set their XmNindicatorType resource to
3623XmONE_OF_MANY.</p>
3624
3625<h4>Resources:</h4>
3626
3627<table border="1">
3628  <tr>
3629    <td colspan="3" align="center">XmToggleButton Resources</td>
3630  </tr>
3631  <tr>
3632    <td><strong>Name</strong></td>
3633    <td><strong>Class</strong></td>
3634    <td><strong>Type</strong></td>
3635  </tr>
3636  <tr>
3637    <td>XmNarmCallback</td>
3638    <td>XmCCallback</td>
3639    <td>(callback)</td>
3640  </tr>
3641  <tr>
3642    <td>XmNdisarmCallback</td>
3643    <td>XmCDisarmCal1back</td>
3644    <td>(callback)</td>
3645  </tr>
3646  <tr>
3647    <td>XmNfillOnSelect</td>
3648    <td>XmCFillOnSelect</td>
3649    <td>bool</td>
3650  </tr>
3651  <tr>
3652    <td>XmNindicatorOn</td>
3653    <td>XmCIndicatorOn</td>
3654    <td>bool</td>
3655  </tr>
3656  <tr>
3657    <td>XmNindicatorSize</td>
3658    <td>XmCIndicatorSize</td>
3659    <td>int</td>
3660  </tr>
3661  <tr>
3662    <td>XmNindicatorType</td>
3663    <td>XmCIndicatorType</td>
3664    <td>XmIndicatorType</td>
3665  </tr>
3666  <tr>
3667    <td>XmNselectColor</td>
3668    <td>XmCSelectColor</td>
3669    <td>int</td>
3670  </tr>
3671  <tr>
3672    <td>XmNselectInsensitivePixmap</td>
3673    <td>XmCSelectInsensitivePixmap</td>
3674    <td>Drawable</td>
3675  </tr>
3676  <tr>
3677    <td>XmNselectPixmap</td>
3678    <td>XmCSelectPixmap</td>
3679    <td>Drawable</td>
3680  </tr>
3681  <tr>
3682    <td>XmNset</td>
3683    <td>XmCset</td>
3684    <td>bool</td>
3685  </tr>
3686  <tr>
3687    <td>XmNspacing</td>
3688    <td>XmCSpacing</td>
3689    <td>int</td>
3690  </tr>
3691  <tr>
3692    <td>XmNvalueChangedCallback</td>
3693    <td>XmCCallback</td>
3694    <td>(callback)</td>
3695  </tr>
3696  <tr>
3697    <td>XmNvisibleWhenOff</td>
3698    <td>XmCVisibleWhenOff</td>
3699    <td>bool</td>
3700  </tr>
3701</table>
3702
3703<h4>Functions:</h4>
3704
3705<p>datatype XmIndicatorType = XmN_OF_MANY | XmONE_OF_MANY</p>
3706
3707<p>val XmCreateToggleButton: Widget -&gt; string -&gt; Arg list -&gt; Widget<br>
3708val XmCreateToggleButtonGadget: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
3709
3710<p>val XmIsToggleButton: Widget -&gt; bool<br>
3711val XmIsToggleButtonGadget: Widget -&gt; bool</p>
3712
3713<h3>2.23 <a name="WarningDialog">WarningDialog</a></h3>
3714
3715<table border="0">
3716  <tr>
3717    <td align="center">Core</td>
3718  </tr>
3719  <tr>
3720    <td align="center">Composite</td>
3721  </tr>
3722  <tr>
3723    <td align="center">Constraint</td>
3724  </tr>
3725  <tr>
3726    <td align="center">XmManager</td>
3727  </tr>
3728  <tr>
3729    <td align="center">XmBulletinBoard</td>
3730  </tr>
3731  <tr>
3732    <td align="center">XmMessageBox</td>
3733  </tr>
3734</table>
3735
3736<h4>Description:</h4>
3737
3738<p>A WarningDialog widget is a specific instance of a MessageBox widget. It has a message
3739field, OK, Cancel and Help buttons, and the warning icon which resembles an exclamation
3740mark. The XmNmessageString resource is used to set the message string.</p>
3741
3742<h4>Resources:</h4>
3743
3744<table border="1">
3745  <tr>
3746    <td colspan="3" align="center">XmMessageBox Resources</td>
3747  </tr>
3748  <tr>
3749    <td><strong>Name</strong></td>
3750    <td><strong>Class</strong></td>
3751    <td><strong>Type</strong></td>
3752  </tr>
3753  <tr>
3754    <td>XmNcancelCallback</td>
3755    <td>XmCCallback</td>
3756    <td>(callback)</td>
3757  </tr>
3758  <tr>
3759    <td>XmNcancelLabelString</td>
3760    <td>XmCCancelLabelString</td>
3761    <td>XmString</td>
3762  </tr>
3763  <tr>
3764    <td>XmNdefaultButtonType</td>
3765    <td>XmCDefaultButtonType</td>
3766    <td>XmDefaultButtonType</td>
3767  </tr>
3768  <tr>
3769    <td>XmNdialogType</td>
3770    <td>XmCDialogType</td>
3771    <td>XmDialogType</td>
3772  </tr>
3773  <tr>
3774    <td>XmNhelpLabelString</td>
3775    <td>XmCHelpLabelString</td>
3776    <td>XmString</td>
3777  </tr>
3778  <tr>
3779    <td>XmNmessageAlignment</td>
3780    <td>XmCAlignment</td>
3781    <td>XmAlignment</td>
3782  </tr>
3783  <tr>
3784    <td>XmNmessageString</td>
3785    <td>XmCMessageString</td>
3786    <td>XmString</td>
3787  </tr>
3788  <tr>
3789    <td>XmNminimizeButtons</td>
3790    <td>XmCMinimizeButtons</td>
3791    <td>bool</td>
3792  </tr>
3793  <tr>
3794    <td>XmNokCallback</td>
3795    <td>XmCCallback</td>
3796    <td>(callback)</td>
3797  </tr>
3798  <tr>
3799    <td>XmNokLabelString</td>
3800    <td>XmCOkLabelString</td>
3801    <td>XmString</td>
3802  </tr>
3803  <tr>
3804    <td>XmNsymbolPixmap</td>
3805    <td>XmCPixmap</td>
3806    <td>Drawable</td>
3807  </tr>
3808</table>
3809
3810<h4>Functions:</h4>
3811
3812<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
3813
3814<p>val XmDIALOG_WARNING: XmDialogType</p>
3815
3816<p>val XmCreateWarningDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
3817
3818<h3>2.24 <a name="WorkingDialog">WorkingDialog</a></h3>
3819
3820<table border="0">
3821  <tr>
3822    <td align="center">Core</td>
3823  </tr>
3824  <tr>
3825    <td align="center">Composite</td>
3826  </tr>
3827  <tr>
3828    <td align="center">Constraint</td>
3829  </tr>
3830  <tr>
3831    <td align="center">XmManager</td>
3832  </tr>
3833  <tr>
3834    <td align="center">XmBulletinBoard</td>
3835  </tr>
3836  <tr>
3837    <td align="center">XmMessageBox</td>
3838  </tr>
3839</table>
3840
3841<h4>Description:</h4>
3842
3843<p>A WorkingDialog widget is a specific instance of a MessageBox widget. It has a message
3844field, OK, Cancel and Help buttons, and the working icon which resembles an hourglass. The
3845XmNmessageString resource is used to set the message string.</p>
3846
3847<h4>Resources:</h4>
3848
3849<table border="1">
3850  <tr>
3851    <td colspan="3" align="center">XmMessageBox Resources</td>
3852  </tr>
3853  <tr>
3854    <td><strong>Name</strong></td>
3855    <td><strong>Class</strong></td>
3856    <td><strong>Type</strong></td>
3857  </tr>
3858  <tr>
3859    <td>XmNcancelCallback</td>
3860    <td>XmCCallback</td>
3861    <td>(callback)</td>
3862  </tr>
3863  <tr>
3864    <td>XmNcancelLabelString</td>
3865    <td>XmCCancelLabelString</td>
3866    <td>XmString</td>
3867  </tr>
3868  <tr>
3869    <td>XmNdefaultButtonType</td>
3870    <td>XmCDefaultButtonType</td>
3871    <td>XmDefaultButtonType</td>
3872  </tr>
3873  <tr>
3874    <td>XmNdialogType</td>
3875    <td>XmCDialogType</td>
3876    <td>XmDialogType</td>
3877  </tr>
3878  <tr>
3879    <td>XmNhelpLabelString</td>
3880    <td>XmCHelpLabelString</td>
3881    <td>XmString</td>
3882  </tr>
3883  <tr>
3884    <td>XmNmessageAlignment</td>
3885    <td>XmCAlignment</td>
3886    <td>XmAlignment</td>
3887  </tr>
3888  <tr>
3889    <td>XmNmessageString</td>
3890    <td>XmCMessageString</td>
3891    <td>XmString</td>
3892  </tr>
3893  <tr>
3894    <td>XmNminimizeButtons</td>
3895    <td>XmCMinimizeButtons</td>
3896    <td>bool</td>
3897  </tr>
3898  <tr>
3899    <td>XmNokCaliback</td>
3900    <td>XmCCallback</td>
3901    <td>(callback)</td>
3902  </tr>
3903  <tr>
3904    <td>XmNokLabelString</td>
3905    <td>XmCOkLabelString</td>
3906    <td>XmString</td>
3907  </tr>
3908  <tr>
3909    <td>XmNsymbolPixmap</td>
3910    <td>XmCPixmap</td>
3911    <td>Drawable</td>
3912  </tr>
3913</table>
3914
3915<h4>Functions:</h4>
3916
3917<p>datatype XmAlignment = XmALIGNMENT_BEGINNING | XmALIGNMENT_CENTER | XmALIGNMENT_END</p>
3918
3919<p>val XmDIALOG_WORKING: XmDialogType</p>
3920
3921<p>val XmCreateWorkingDialog: Widget -&gt; string -&gt; Arg list -&gt; Widget</p>
3922
3923<p>&nbsp;</p>
3924
3925<h1><a name="Chapter 3">Chapter 3</a></h1>
3926
3927<h2><a name="Resource Tables">Resource Tables</a></h2>
3928
3929<p>The following type conversions are implicit in the Poly/ML implementation of the Motif
3930library. Wherever it refers to the C type in publications about the Motif library the
3931corresponding ML type is substituted.</p>
3932
3933<p>Note that often the Motif documentation often incorrectly specifies the type Window
3934instead of Widget when describing resource lists.</p>
3935
3936<p>Note also that in the current implementation the type XmString is identical to string.</p>
3937
3938<table border="1">
3939  <tr>
3940    <td>short&nbsp;&nbsp; </td>
3941    <td>int</td>
3942  </tr>
3943  <tr>
3944    <td>enum&nbsp;&nbsp; </td>
3945    <td>datatype</td>
3946  </tr>
3947  <tr>
3948    <td>int with predefined values&nbsp;&nbsp; </td>
3949    <td>datatype</td>
3950  </tr>
3951  <tr>
3952    <td>unsigned char with predefined values&nbsp;&nbsp; </td>
3953    <td>datatype</td>
3954  </tr>
3955  <tr>
3956    <td>Atom&nbsp;&nbsp; </td>
3957    <td>int</td>
3958  </tr>
3959  <tr>
3960    <td>Cardinal&nbsp;&nbsp; </td>
3961    <td>int</td>
3962  </tr>
3963  <tr>
3964    <td>Dimension&nbsp;&nbsp; </td>
3965    <td>int</td>
3966  </tr>
3967  <tr>
3968    <td>KeySym&nbsp;&nbsp; </td>
3969    <td>int</td>
3970  </tr>
3971  <tr>
3972    <td>Pixel&nbsp;&nbsp; </td>
3973    <td>int</td>
3974  </tr>
3975  <tr>
3976    <td>Pixmap&nbsp;&nbsp; </td>
3977    <td>Drawable</td>
3978  </tr>
3979  <tr>
3980    <td>Position&nbsp;&nbsp; </td>
3981    <td>int</td>
3982  </tr>
3983  <tr>
3984    <td>String *&nbsp;&nbsp; </td>
3985    <td>string list</td>
3986  </tr>
3987  <tr>
3988    <td>Window&nbsp;&nbsp; </td>
3989    <td>Drawable (or Widget)</td>
3990  </tr>
3991  <tr>
3992    <td>XmString&nbsp;&nbsp; </td>
3993    <td>XmString = string</td>
3994  </tr>
3995  <tr>
3996    <td>XmStringCharSetTable&nbsp;&nbsp; </td>
3997    <td>string list</td>
3998  </tr>
3999  <tr>
4000    <td>XmStringTable&nbsp;&nbsp; </td>
4001    <td>XmString list</td>
4002  </tr>
4003  <tr>
4004    <td>XmTextPosition&nbsp;&nbsp; </td>
4005    <td>int</td>
4006  </tr>
4007</table>
4008
4009<p>&nbsp;</p>
4010
4011<h3>3.1 <a name="ApplicationShell">ApplicationShell</a></h3>
4012
4013<table border="1">
4014  <tr>
4015    <td colspan="3" align="center">ApplicationShell Resources</td>
4016  </tr>
4017  <tr>
4018    <td><strong>Name</strong></td>
4019    <td><strong>Class</strong></td>
4020    <td><strong>Type</strong></td>
4021  </tr>
4022  <tr>
4023    <td>XmNargc</td>
4024    <td>XmCArgc</td>
4025    <td>int</td>
4026  </tr>
4027  <tr>
4028    <td>XmNargv</td>
4029    <td>XmCArgv</td>
4030    <td>string list</td>
4031  </tr>
4032</table>
4033
4034<p>&nbsp;</p>
4035
4036<h3>3.2 <a name="Composite">Composite</a></h3>
4037
4038<table border="1">
4039  <tr>
4040    <td colspan="3" align="center">Composite Resources</td>
4041  </tr>
4042  <tr>
4043    <td><strong>Name</strong></td>
4044    <td><strong>Class</strong></td>
4045    <td><strong>Type</strong></td>
4046  </tr>
4047  <tr>
4048    <td>XmNchildren</td>
4049    <td>XmCChildren</td>
4050    <td>Widget list</td>
4051  </tr>
4052  <tr>
4053    <td>XmNnumChildren</td>
4054    <td>XmCNumChildren</td>
4055    <td>int</td>
4056  </tr>
4057</table>
4058
4059<p>&nbsp;</p>
4060
4061<h3><a name="3.3 Core">3.3 Core</a></h3>
4062
4063<table border="1">
4064  <tr>
4065    <td colspan="3" align="center">Core Resources</td>
4066  </tr>
4067  <tr>
4068    <td><strong>Name</strong></td>
4069    <td><strong>Class</strong></td>
4070    <td><strong>Type</strong></td>
4071  </tr>
4072  <tr>
4073    <td>XmNaccelerators</td>
4074    <td>XmCAccelerators</td>
4075    <td>XtAccelerators</td>
4076  </tr>
4077  <tr>
4078    <td>XmNancestorSensitive</td>
4079    <td>XmCBoolean</td>
4080    <td>bool</td>
4081  </tr>
4082  <tr>
4083    <td>XmNbackground</td>
4084    <td>XmCBackground</td>
4085    <td>int</td>
4086  </tr>
4087  <tr>
4088    <td>XmNbackgroundPixmap</td>
4089    <td>XmCBackgroundPixmap</td>
4090    <td>Drawable</td>
4091  </tr>
4092  <tr>
4093    <td>XmNborderColor</td>
4094    <td>XmCBorderColor</td>
4095    <td>int</td>
4096  </tr>
4097  <tr>
4098    <td>XmNborderPixmap</td>
4099    <td>XmCPixmap</td>
4100    <td>Drawable</td>
4101  </tr>
4102  <tr>
4103    <td>XmNborderWidth</td>
4104    <td>XmCBorderWidth</td>
4105    <td>int</td>
4106  </tr>
4107  <tr>
4108    <td>XmNcolormap</td>
4109    <td>XmCColormap</td>
4110    <td>Colormap</td>
4111  </tr>
4112  <tr>
4113    <td>XmNdepth</td>
4114    <td>XmCDepth</td>
4115    <td>int</td>
4116  </tr>
4117  <tr>
4118    <td>XmNdestroyCallback</td>
4119    <td>XmCCallback</td>
4120    <td>(callback)</td>
4121  </tr>
4122  <tr>
4123    <td>XmNheight</td>
4124    <td>XmCHeight</td>
4125    <td>int</td>
4126  </tr>
4127  <tr>
4128    <td>XmNinitialResourcesPersistent</td>
4129    <td>XmCInitialResourcesPersistent</td>
4130    <td>bool</td>
4131  </tr>
4132  <tr>
4133    <td>XmNmappedWhenManaged</td>
4134    <td>XmCMappedWhenManaged</td>
4135    <td>bool</td>
4136  </tr>
4137  <tr>
4138    <td>XmNsensitive</td>
4139    <td>XmCSensitive</td>
4140    <td>bool</td>
4141  </tr>
4142  <tr>
4143    <td>XmNtranslations</td>
4144    <td>XmCTranslations</td>
4145    <td>XtTranslations</td>
4146  </tr>
4147  <tr>
4148    <td>XmNwidth</td>
4149    <td>XmCWidth</td>
4150    <td>int</td>
4151  </tr>
4152  <tr>
4153    <td>XmNx</td>
4154    <td>XmCX</td>
4155    <td>int</td>
4156  </tr>
4157  <tr>
4158    <td>XmNy</td>
4159    <td>XmCY</td>
4160    <td>int</td>
4161  </tr>
4162</table>
4163
4164<p>&nbsp;</p>
4165
4166<h3><a name="3.4 Object">3.4 Object</a></h3>
4167
4168<table border="1">
4169  <tr>
4170    <td colspan="3" align="center">Object Resources</td>
4171  </tr>
4172  <tr>
4173    <td><strong>Name</strong></td>
4174    <td><strong>Class</strong></td>
4175    <td><strong>Type</strong></td>
4176  </tr>
4177  <tr>
4178    <td>XmNdestroyCallback</td>
4179    <td>XmCCallback</td>
4180    <td>(callback)</td>
4181  </tr>
4182</table>
4183
4184<p>&nbsp;</p>
4185
4186<h3><a name="3.5 RectOb">3.5 RectOb</a>j</h3>
4187
4188<table border="1">
4189  <tr>
4190    <td colspan="3" align="center">RectObj Resources</td>
4191  </tr>
4192  <tr>
4193    <td><strong>Name</strong></td>
4194    <td><strong>Class</strong></td>
4195    <td><strong>Type</strong></td>
4196  </tr>
4197  <tr>
4198    <td>XmNancestorSensitive</td>
4199    <td>XmCBoolean</td>
4200    <td>bool</td>
4201  </tr>
4202  <tr>
4203    <td>XmNborderWidth</td>
4204    <td>XmCBorderWidth</td>
4205    <td>int</td>
4206  </tr>
4207  <tr>
4208    <td>XmNheight</td>
4209    <td>XmCHeight</td>
4210    <td>int</td>
4211  </tr>
4212  <tr>
4213    <td>XmNsensitive</td>
4214    <td>XmCSensitive</td>
4215    <td>bool</td>
4216  </tr>
4217  <tr>
4218    <td>XmNwidth</td>
4219    <td>XmCWidth</td>
4220    <td>int</td>
4221  </tr>
4222  <tr>
4223    <td>XmNx</td>
4224    <td>XmCX</td>
4225    <td>int</td>
4226  </tr>
4227  <tr>
4228    <td>XmNy</td>
4229    <td>XmCY</td>
4230    <td>int</td>
4231  </tr>
4232</table>
4233
4234<p>&nbsp;</p>
4235
4236<h3><a name="3.6 Shell">3.6 Shell</a></h3>
4237
4238<table border="1">
4239  <tr>
4240    <td colspan="3" align="center">Shell Resources</td>
4241  </tr>
4242  <tr>
4243    <td><strong>Name</strong></td>
4244    <td><strong>Class</strong></td>
4245    <td><strong>Type</strong></td>
4246  </tr>
4247  <tr>
4248    <td>XmNallowShellResize</td>
4249    <td>XmCAllowShellResize</td>
4250    <td>bool</td>
4251  </tr>
4252  <tr>
4253    <td>XmNgeometry</td>
4254    <td>XmCGeometry</td>
4255    <td>string</td>
4256  </tr>
4257  <tr>
4258    <td>XmNoverrideRedirect</td>
4259    <td>XmCOverrideRedireet</td>
4260    <td>bool</td>
4261  </tr>
4262  <tr>
4263    <td>XmNpopdownCallback</td>
4264    <td>XmCCallback</td>
4265    <td>(callback)</td>
4266  </tr>
4267  <tr>
4268    <td>XmNpopupCallback</td>
4269    <td>XmCCallback</td>
4270    <td>(callback)</td>
4271  </tr>
4272  <tr>
4273    <td>XmNsaveUnder</td>
4274    <td>XmCSaveUnder</td>
4275    <td>bool</td>
4276  </tr>
4277  <tr>
4278    <td>XmNvisual</td>
4279    <td>XmCVisual</td>
4280    <td>Visual</td>
4281  </tr>
4282</table>
4283
4284<p>&nbsp;</p>
4285
4286<h3><a name="3.7 TopLevelShell">3.7 TopLevelShell</a></h3>
4287
4288<table border="1">
4289  <tr>
4290    <td colspan="3" align="center">TopLevelShell Resources</td>
4291  </tr>
4292  <tr>
4293    <td><strong>Name</strong></td>
4294    <td><strong>Class</strong></td>
4295    <td><strong>Type</strong></td>
4296  </tr>
4297  <tr>
4298    <td>XmNiconName</td>
4299    <td>XmCIconName</td>
4300    <td>string</td>
4301  </tr>
4302  <tr>
4303    <td>XmNiconNameEncoding</td>
4304    <td>XmCIconNameEncoding</td>
4305    <td>int</td>
4306  </tr>
4307  <tr>
4308    <td>XmNiconic</td>
4309    <td>XmCIconic</td>
4310    <td>bool</td>
4311  </tr>
4312</table>
4313
4314<p>&nbsp;</p>
4315
4316<h3><a name="3.8 TransientShell">3.8 TransientShell</a></h3>
4317
4318<table border="1">
4319  <tr>
4320    <td colspan="3" align="center">TransientShell Resources</td>
4321  </tr>
4322  <tr>
4323    <td><strong>Name</strong></td>
4324    <td><strong>Class</strong></td>
4325    <td><strong>Type</strong></td>
4326  </tr>
4327  <tr>
4328    <td>XmNtransientFor</td>
4329    <td>XmCTransientFor</td>
4330    <td>Widget</td>
4331  </tr>
4332</table>
4333
4334<p>&nbsp;</p>
4335
4336<h3><a name="3.9 VendorShell">3.9 VendorShell</a></h3>
4337
4338<table border="1">
4339  <tr>
4340    <td colspan="3" align="center">VendorShell Resources</td>
4341  </tr>
4342  <tr>
4343    <td><strong>Name</strong></td>
4344    <td><strong>Class</strong></td>
4345    <td><strong>Type</strong></td>
4346  </tr>
4347  <tr>
4348    <td>XmNdefaultFontList</td>
4349    <td>XmCDefaultFontList</td>
4350    <td>XFontStruct list</td>
4351  </tr>
4352  <tr>
4353    <td>XmNdeleteResponse</td>
4354    <td>XmCDeleteResponse</td>
4355    <td>XmDeleteResponse</td>
4356  </tr>
4357  <tr>
4358    <td>XmNkeyboardFocusPolicy</td>
4359    <td>XmCKeyboardFocusPolicy</td>
4360    <td>XmKeyboardFocusPolicy</td>
4361  </tr>
4362  <tr>
4363    <td>XmNmwmDecorations</td>
4364    <td>XmCMwmDecorations</td>
4365    <td>int</td>
4366  </tr>
4367  <tr>
4368    <td>XmNmwmFunctions</td>
4369    <td>XmCMwmFunctions</td>
4370    <td>int</td>
4371  </tr>
4372  <tr>
4373    <td>XmNmwmInputMode</td>
4374    <td>XmCMwmInputMode</td>
4375    <td>int</td>
4376  </tr>
4377  <tr>
4378    <td>XmNmwmMenu</td>
4379    <td>XmCMwmMenu</td>
4380    <td>string</td>
4381  </tr>
4382  <tr>
4383    <td>XmNshellUnitType</td>
4384    <td>XmCShellUnitType</td>
4385    <td>XmUnitType</td>
4386  </tr>
4387  <tr>
4388    <td>XmNuseAsyncGeometry</td>
4389    <td>XmCUseAsyncGeometry</td>
4390    <td>bool</td>
4391  </tr>
4392</table>
4393
4394<p>&nbsp;</p>
4395
4396<h3><a name="3.10 WMShell">3.10 WMShell</a></h3>
4397
4398<table border="1">
4399  <tr>
4400    <td colspan="3" align="center">WMShell Resources</td>
4401  </tr>
4402  <tr>
4403    <td><strong>Name</strong></td>
4404    <td><strong>Class</strong></td>
4405    <td><strong>Type</strong></td>
4406  </tr>
4407  <tr>
4408    <td>XmNbaseHeight</td>
4409    <td>XmCBaseHeight</td>
4410    <td>int</td>
4411  </tr>
4412  <tr>
4413    <td>XmNbaseWidth</td>
4414    <td>XmCBaseWidth</td>
4415    <td>int</td>
4416  </tr>
4417  <tr>
4418    <td>XmNheightInc</td>
4419    <td>XmCHeightInc</td>
4420    <td>int</td>
4421  </tr>
4422  <tr>
4423    <td>XmNiconMask</td>
4424    <td>XmCIconMask</td>
4425    <td>Drawable</td>
4426  </tr>
4427  <tr>
4428    <td>XmNiconPixmap</td>
4429    <td>XmCIconPixmap</td>
4430    <td>Drawable</td>
4431  </tr>
4432  <tr>
4433    <td>XmNiconWindow</td>
4434    <td>XmCIconWindow</td>
4435    <td>Drawable</td>
4436  </tr>
4437  <tr>
4438    <td>XmNiconX</td>
4439    <td>XmCIconX</td>
4440    <td>int</td>
4441  </tr>
4442  <tr>
4443    <td>XmNiconY</td>
4444    <td>XmCIconY</td>
4445    <td>int</td>
4446  </tr>
4447  <tr>
4448    <td>XmNinitialState</td>
4449    <td>XmCInitialState</td>
4450    <td>XWMStateHint</td>
4451  </tr>
4452  <tr>
4453    <td>XmNinput</td>
4454    <td>XmCInput</td>
4455    <td>bool</td>
4456  </tr>
4457  <tr>
4458    <td>XmNmaxAspectX</td>
4459    <td>XmCMaxAspectX</td>
4460    <td>int</td>
4461  </tr>
4462  <tr>
4463    <td>XmNmaxAspectY</td>
4464    <td>XmCMaxAspectY</td>
4465    <td>int</td>
4466  </tr>
4467  <tr>
4468    <td>XmNmaxHeight</td>
4469    <td>XmCMaxHeight</td>
4470    <td>int</td>
4471  </tr>
4472  <tr>
4473    <td>XmNmaxWidth</td>
4474    <td>XmCMaxWidth</td>
4475    <td>int</td>
4476  </tr>
4477  <tr>
4478    <td>XmNminAspectX</td>
4479    <td>XmCMinAspectX</td>
4480    <td>int</td>
4481  </tr>
4482  <tr>
4483    <td>XmNminAspectY</td>
4484    <td>XmCMinAspectY</td>
4485    <td>int</td>
4486  </tr>
4487  <tr>
4488    <td>XmNminHeight</td>
4489    <td>XmCMinHeight</td>
4490    <td>int</td>
4491  </tr>
4492  <tr>
4493    <td>XmNminWidth</td>
4494    <td>XmCMinWidth</td>
4495    <td>int</td>
4496  </tr>
4497  <tr>
4498    <td>XmNtitle</td>
4499    <td>XmCTitle</td>
4500    <td>string</td>
4501  </tr>
4502  <tr>
4503    <td>XmNtitleEncoding</td>
4504    <td>XmCTitleEncoding</td>
4505    <td>int</td>
4506  </tr>
4507  <tr>
4508    <td>XmNtransient</td>
4509    <td>XmCTransient</td>
4510    <td>bool</td>
4511  </tr>
4512  <tr>
4513    <td>XmNwaitForWm</td>
4514    <td>XmCWaitForWm</td>
4515    <td>bool</td>
4516  </tr>
4517  <tr>
4518    <td>XmNwidthInc</td>
4519    <td>XmCWidthInc</td>
4520    <td>int</td>
4521  </tr>
4522  <tr>
4523    <td>XmNwinGravity</td>
4524    <td>XmCWinGravity</td>
4525    <td>int</td>
4526  </tr>
4527  <tr>
4528    <td>XmNwindowGroup</td>
4529    <td>XmCWindowGroup</td>
4530    <td>Drawable</td>
4531  </tr>
4532  <tr>
4533    <td>XmNwmTimeout</td>
4534    <td>XmCWmTimeout</td>
4535    <td>int</td>
4536  </tr>
4537</table>
4538
4539<p>&nbsp;</p>
4540
4541<h3><a name="3.11 XmArrowButton">3.11 XmArrowButton</a></h3>
4542
4543<table border="1">
4544  <tr>
4545    <td colspan="3" align="center">XmArrowButton Resources</td>
4546  </tr>
4547  <tr>
4548    <td><strong>Name</strong></td>
4549    <td><strong>Class</strong></td>
4550    <td><strong>Type</strong></td>
4551  </tr>
4552  <tr>
4553    <td>XmNactivateCallback</td>
4554    <td>XmCCallback</td>
4555    <td>(callback)</td>
4556  </tr>
4557  <tr>
4558    <td>XmNarmCallback</td>
4559    <td>XmCCallback</td>
4560    <td>(callback)</td>
4561  </tr>
4562  <tr>
4563    <td>XmNarrowDirection</td>
4564    <td>XmCArrowDirection</td>
4565    <td>XmArrowDirection</td>
4566  </tr>
4567  <tr>
4568    <td>XmNdisarmCal1back</td>
4569    <td>XmCDisarmCallback</td>
4570    <td>(callback)</td>
4571  </tr>
4572  <tr>
4573    <td>XmNmultiClick</td>
4574    <td>XmCMultiClick</td>
4575    <td>XmMultiClickType</td>
4576  </tr>
4577</table>
4578
4579<p>&nbsp;</p>
4580
4581<h3><a name="3.12 XmBulletinBoard">3.12 XmBulletinBoard</a></h3>
4582
4583<table border="1">
4584  <tr>
4585    <td colspan="3" align="center">XmBulletinBoard Resources</td>
4586  </tr>
4587  <tr>
4588    <td><strong>Name</strong></td>
4589    <td><strong>Class</strong></td>
4590    <td><strong>Type</strong></td>
4591  </tr>
4592  <tr>
4593    <td>XmNallowOverlap</td>
4594    <td>XmCAllowOverlap</td>
4595    <td>bool</td>
4596  </tr>
4597  <tr>
4598    <td>XmNautoUnmanage</td>
4599    <td>XmCAutoUnmanage</td>
4600    <td>bool</td>
4601  </tr>
4602  <tr>
4603    <td>XmNbuttonFontList</td>
4604    <td>XmCButtonFontList</td>
4605    <td>XFontStruct list</td>
4606  </tr>
4607  <tr>
4608    <td>XmNcancelButton</td>
4609    <td>XmCWidget</td>
4610    <td>Widget</td>
4611  </tr>
4612  <tr>
4613    <td>XmNdefaultButton</td>
4614    <td>XmCWidget</td>
4615    <td>Widget</td>
4616  </tr>
4617  <tr>
4618    <td>XmNdefaultPosition</td>
4619    <td>XmCDefaultPosition</td>
4620    <td>bool</td>
4621  </tr>
4622  <tr>
4623    <td>XmNdialogStyle</td>
4624    <td>XmCDialogStyle</td>
4625    <td>XmDialogStyle</td>
4626  </tr>
4627  <tr>
4628    <td>XmNdialogTitle</td>
4629    <td>XmCDialogTitle</td>
4630    <td>XmString</td>
4631  </tr>
4632  <tr>
4633    <td>XmNfocusCallback</td>
4634    <td>XmCCallback</td>
4635    <td>(callback)</td>
4636  </tr>
4637  <tr>
4638    <td>XmNlabelFontList</td>
4639    <td>XmCLabelFontList</td>
4640    <td>XFontStruct list</td>
4641  </tr>
4642  <tr>
4643    <td>XmNmapCallback</td>
4644    <td>XmCCallback</td>
4645    <td>(callback)</td>
4646  </tr>
4647  <tr>
4648    <td>XmNmarginHeight</td>
4649    <td>XmCMarginHeight</td>
4650    <td>int</td>
4651  </tr>
4652  <tr>
4653    <td>XmNmarginWidth</td>
4654    <td>XmCMarginWidth</td>
4655    <td>int</td>
4656  </tr>
4657  <tr>
4658    <td>XmNnoResize</td>
4659    <td>XmCNoResize</td>
4660    <td>bool</td>
4661  </tr>
4662  <tr>
4663    <td>XmNresizePolicy</td>
4664    <td>XmCResizePolicy</td>
4665    <td>XmResizePolicy</td>
4666  </tr>
4667  <tr>
4668    <td>XmNshadowType</td>
4669    <td>XmCShadowType</td>
4670    <td>XmShadowType</td>
4671  </tr>
4672  <tr>
4673    <td>XmNtextFontList</td>
4674    <td>XmCTextFontList</td>
4675    <td>XFontStruct list</td>
4676  </tr>
4677  <tr>
4678    <td>XmNtextTranslations</td>
4679    <td>XmCTranslations</td>
4680    <td>XtTranslations</td>
4681  </tr>
4682  <tr>
4683    <td>XmNunmapCallback</td>
4684    <td>XmCCallback</td>
4685    <td>(callback)</td>
4686  </tr>
4687</table>
4688
4689<p>&nbsp;</p>
4690
4691<h3><a name="3.13 XmCascadeButton">3.13 XmCascadeButton</a></h3>
4692
4693<table border="1">
4694  <tr>
4695    <td colspan="3" align="center">XmCascadeButton Resources</td>
4696  </tr>
4697  <tr>
4698    <td><strong>Name</strong></td>
4699    <td><strong>Class</strong></td>
4700    <td><strong>Type</strong></td>
4701  </tr>
4702  <tr>
4703    <td>XmNactivateCallback</td>
4704    <td>XmCCallback</td>
4705    <td>(Callback)</td>
4706  </tr>
4707  <tr>
4708    <td>XmNcascadePixmap</td>
4709    <td>XmCPixmap</td>
4710    <td>Drawable</td>
4711  </tr>
4712  <tr>
4713    <td>XmNcascadingCallback</td>
4714    <td>XmCCallback</td>
4715    <td>(callback)</td>
4716  </tr>
4717  <tr>
4718    <td>XmNmappingDelay</td>
4719    <td>XmCMappingDelay</td>
4720    <td>int</td>
4721  </tr>
4722  <tr>
4723    <td>XmNsubMenuId</td>
4724    <td>XmCMenuWidget</td>
4725    <td>Widget</td>
4726  </tr>
4727</table>
4728
4729<p>&nbsp;</p>
4730
4731<h3><a name="3.14 XmCommand">3.14 XmCommand</a></h3>
4732
4733<table border="1">
4734  <tr>
4735    <td colspan="3" align="center">XmCommand Resources</td>
4736  </tr>
4737  <tr>
4738    <td><strong>Name</strong></td>
4739    <td><strong>Class</strong></td>
4740    <td><strong>Type</strong></td>
4741  </tr>
4742  <tr>
4743    <td>XmNcommand</td>
4744    <td>XmCTextString</td>
4745    <td>XmString</td>
4746  </tr>
4747  <tr>
4748    <td>XmNcommandChangedCallback</td>
4749    <td>XmCCallback</td>
4750    <td>(callback)</td>
4751  </tr>
4752  <tr>
4753    <td>XmNcommandEnteredCallback</td>
4754    <td>XmCCallback</td>
4755    <td>(callback)</td>
4756  </tr>
4757  <tr>
4758    <td>XmNhistoryItemCount</td>
4759    <td>XmCItemCount</td>
4760    <td>int</td>
4761  </tr>
4762  <tr>
4763    <td>XmNhistoryItems</td>
4764    <td>XmCItems</td>
4765    <td>XmString list</td>
4766    <td>&nbsp;</td>
4767  </tr>
4768  <tr>
4769    <td>XmNhistoryMaxItems</td>
4770    <td>XmCMaxItems</td>
4771    <td>int</td>
4772  </tr>
4773  <tr>
4774    <td>XmNhistoryVisibleItemCount</td>
4775    <td>XmCVisibleItemCount</td>
4776    <td>int</td>
4777  </tr>
4778  <tr>
4779    <td>XmNpromptString</td>
4780    <td>XmCPromptString</td>
4781    <td>XmString</td>
4782  </tr>
4783</table>
4784
4785<p>&nbsp;</p>
4786
4787<h3><a name="3.15 XmDrawingArea">3.15 XmDrawingArea</a></h3>
4788
4789<table border="1">
4790  <tr>
4791    <td colspan="3" align="center">XmDrawingArea Resources</td>
4792  </tr>
4793  <tr>
4794    <td><strong>Name</strong></td>
4795    <td><strong>Class</strong></td>
4796    <td><strong>Type</strong></td>
4797  </tr>
4798  <tr>
4799    <td>XmNexposeCallback</td>
4800    <td>XmCCallback</td>
4801    <td>(callback)</td>
4802  </tr>
4803  <tr>
4804    <td>XmNinputCallback</td>
4805    <td>XmCCallback</td>
4806    <td>(callback)</td>
4807  </tr>
4808  <tr>
4809    <td>XmNmarginHeight</td>
4810    <td>XmCMarginHeight</td>
4811    <td>int</td>
4812  </tr>
4813  <tr>
4814    <td>XmNmarginWidth</td>
4815    <td>XmCMarginWidth</td>
4816    <td>int</td>
4817  </tr>
4818  <tr>
4819    <td>XmNresizeCallback</td>
4820    <td>XmCCallback</td>
4821    <td>(callback)</td>
4822  </tr>
4823  <tr>
4824    <td>XmNresizePolicy</td>
4825    <td>XmCResizePolicy</td>
4826    <td>XmResizePolicy</td>
4827  </tr>
4828</table>
4829
4830<p>&nbsp;</p>
4831
4832<h3><a name="3.16 XmDrawnButton">3.16 XmDrawnButton</a></h3>
4833
4834<table border="1">
4835  <tr>
4836    <td colspan="3" align="center">XmDrawnButton Resources</td>
4837  </tr>
4838  <tr>
4839    <td><strong>Name</strong></td>
4840    <td><strong>Class</strong></td>
4841    <td><strong>Type</strong></td>
4842  </tr>
4843  <tr>
4844    <td>XmNactivateCallback</td>
4845    <td>XmCCallback</td>
4846    <td>(callback)</td>
4847  </tr>
4848  <tr>
4849    <td>XmNarmCallback</td>
4850    <td>XmCCallback</td>
4851    <td>(callback)</td>
4852  </tr>
4853  <tr>
4854    <td>XmNdisarmCallback</td>
4855    <td>XmCDisarmCallback</td>
4856    <td>(callback)</td>
4857  </tr>
4858  <tr>
4859    <td>XmNexposeCallback</td>
4860    <td>XmCCallback</td>
4861    <td>(callback)</td>
4862  </tr>
4863  <tr>
4864    <td>XmNmultiClick</td>
4865    <td>XmCMultiClick</td>
4866    <td>XmMultiClickType</td>
4867  </tr>
4868  <tr>
4869    <td>XmNpushButtonEnabled</td>
4870    <td>XmCPushButtonEnabled</td>
4871    <td>bool</td>
4872  </tr>
4873  <tr>
4874    <td>XmNresizeCallback</td>
4875    <td>XmCCallback</td>
4876    <td>(callback)</td>
4877  </tr>
4878  <tr>
4879    <td>XmNshadowType</td>
4880    <td>XmCShadowType</td>
4881    <td>XmShadowType</td>
4882  </tr>
4883</table>
4884
4885<p>&nbsp;</p>
4886
4887<h3><a name="3.17 XmFileSelectionBox">3.17 XmFileSelectionBox</a></h3>
4888
4889<table border="1">
4890  <tr>
4891    <td colspan="3" align="center">XmFileSelectionBox Resources</td>
4892  </tr>
4893  <tr>
4894    <td><strong>Name</strong></td>
4895    <td><strong>Class</strong></td>
4896    <td><strong>Type</strong></td>
4897  </tr>
4898  <tr>
4899    <td>XmNdirListItemCount</td>
4900    <td>XmCDirListItemCount</td>
4901    <td>int</td>
4902  </tr>
4903  <tr>
4904    <td>XmNdirListItems</td>
4905    <td>XmCDirListItems</td>
4906    <td>XmString list</td>
4907  </tr>
4908  <tr>
4909    <td>XmNdirListLabelString</td>
4910    <td>XmCDirListLabelString</td>
4911    <td>XmString</td>
4912  </tr>
4913  <tr>
4914    <td>XmNdirMask</td>
4915    <td>XmCDirMask</td>
4916    <td>XmString</td>
4917  </tr>
4918  <tr>
4919    <td>XmNdirSpec</td>
4920    <td>XmCDirSpec</td>
4921    <td>XmString</td>
4922  </tr>
4923  <tr>
4924    <td>XmNdirectory</td>
4925    <td>XmCDirectory</td>
4926    <td>XmString</td>
4927  </tr>
4928  <tr>
4929    <td>XmNdirectoryValid</td>
4930    <td>XmCDirectoryValid</td>
4931    <td>bool</td>
4932  </tr>
4933  <tr>
4934    <td>XmNfileListItemCount</td>
4935    <td>XmCFileListItemCount</td>
4936    <td>int</td>
4937  </tr>
4938  <tr>
4939    <td>XmNfileListItems</td>
4940    <td>XmCFileListItems</td>
4941    <td>XmString list</td>
4942  </tr>
4943  <tr>
4944    <td>XmNfileListLabelString</td>
4945    <td>XmCFileListLabelString</td>
4946    <td>XmString</td>
4947  </tr>
4948  <tr>
4949    <td>XmNfileTypeMask</td>
4950    <td>XmCFileTypeMask</td>
4951    <td>XmFileTypeMask</td>
4952  </tr>
4953  <tr>
4954    <td>XmNfilterLabelString</td>
4955    <td>XmCFilterLabelString</td>
4956    <td>XmString</td>
4957  </tr>
4958  <tr>
4959    <td>XmNlistUpdated</td>
4960    <td>XmCListUpdated</td>
4961    <td>bool</td>
4962  </tr>
4963  <tr>
4964    <td>XmNnoMatchString</td>
4965    <td>XmCNoMatchString</td>
4966    <td>XmString</td>
4967  </tr>
4968  <tr>
4969    <td>XmNpattern</td>
4970    <td>XmCPattern</td>
4971    <td>XmString</td>
4972  </tr>
4973</table>
4974
4975<p>&nbsp;</p>
4976
4977<h3><a name="3.18 XmForm">3.18 XmForm</a></h3>
4978
4979<table border="1">
4980  <tr>
4981    <td colspan="3" align="center">XmForm Resources</td>
4982  </tr>
4983  <tr>
4984    <td><strong>Name</strong></td>
4985    <td><strong>Class</strong></td>
4986    <td><strong>Type</strong></td>
4987  </tr>
4988  <tr>
4989    <td>XmNbottomAttachment</td>
4990    <td>XmCAttachment</td>
4991    <td>XmAttachment</td>
4992  </tr>
4993  <tr>
4994    <td>XmNbottomOffset</td>
4995    <td>XmCOffset</td>
4996    <td>int</td>
4997  </tr>
4998  <tr>
4999    <td>XmNbottomPosition</td>
5000    <td>XmCPosition</td>
5001    <td>int</td>
5002  </tr>
5003  <tr>
5004    <td>XmNbottomWidget</td>
5005    <td>XmCWidget</td>
5006    <td>Widget</td>
5007  </tr>
5008  <tr>
5009    <td>XmNfractionBase</td>
5010    <td>XmCFraction</td>
5011    <td>int</td>
5012  </tr>
5013  <tr>
5014    <td>XmNhorizontalSpacing</td>
5015    <td>XmCSpacing</td>
5016    <td>int</td>
5017  </tr>
5018  <tr>
5019    <td>XmNleftAttachment</td>
5020    <td>XmCAttachment</td>
5021    <td>XmAttachment</td>
5022  </tr>
5023  <tr>
5024    <td>XmNleftOffset</td>
5025    <td>XmCOffset</td>
5026    <td>int</td>
5027  </tr>
5028  <tr>
5029    <td>XmNleftPosition</td>
5030    <td>XmCPosition</td>
5031    <td>int</td>
5032  </tr>
5033  <tr>
5034    <td>XmNleftWidget</td>
5035    <td>XmCWidget</td>
5036    <td>Widget</td>
5037  </tr>
5038  <tr>
5039    <td>XmNresizable</td>
5040    <td>XmCBoolean</td>
5041    <td>bool</td>
5042  </tr>
5043  <tr>
5044    <td>XmNrightAttachment</td>
5045    <td>XmCAttachment</td>
5046    <td>XmAttachment</td>
5047  </tr>
5048  <tr>
5049    <td>XmNrightOffset</td>
5050    <td>XmCOffset</td>
5051    <td>int</td>
5052  </tr>
5053  <tr>
5054    <td>XmNrightPosition</td>
5055    <td>XmCPosition</td>
5056    <td>int</td>
5057  </tr>
5058  <tr>
5059    <td>XmNrightWidget</td>
5060    <td>XmCWidget</td>
5061    <td>Widget</td>
5062  </tr>
5063  <tr>
5064    <td>XmNrubberPositioning</td>
5065    <td>XmCRubberPositioning</td>
5066    <td>bool</td>
5067  </tr>
5068  <tr>
5069    <td>XmNtopAttachment</td>
5070    <td>XmCAttachment</td>
5071    <td>XmAttachment</td>
5072  </tr>
5073  <tr>
5074    <td>XmNtop0ffset</td>
5075    <td>XmCOffset</td>
5076    <td>int</td>
5077  </tr>
5078  <tr>
5079    <td>XmNtopPosition</td>
5080    <td>XmCPosition</td>
5081    <td>int</td>
5082  </tr>
5083  <tr>
5084    <td>XmNtopWidget</td>
5085    <td>XmCWidget</td>
5086    <td>Widget</td>
5087  </tr>
5088  <tr>
5089    <td>XmNverticalSpacing</td>
5090    <td>XmCSpacing</td>
5091    <td>int</td>
5092  </tr>
5093</table>
5094
5095<p>&nbsp;</p>
5096
5097<h3><a name="3.19 XmFrame">3.19 XmFrame</a></h3>
5098
5099<table border="1">
5100  <tr>
5101    <td colspan="3" align="center">XmFrame Resources</td>
5102  </tr>
5103  <tr>
5104    <td><strong>Name</strong></td>
5105    <td><strong>Class</strong></td>
5106    <td><strong>Type</strong></td>
5107  </tr>
5108  <tr>
5109    <td>XmNmarginHeight</td>
5110    <td>XmCMarginHeight</td>
5111    <td>int</td>
5112  </tr>
5113  <tr>
5114    <td>XmNmarginWidth</td>
5115    <td>XmCMarginWidth</td>
5116    <td>int</td>
5117  </tr>
5118  <tr>
5119    <td>XmNshadowType</td>
5120    <td>XmCShadowType</td>
5121    <td>XmShadowType</td>
5122  </tr>
5123</table>
5124
5125<p>&nbsp;</p>
5126
5127<h3><a name="3.20 XmGadget">3.20 XmGadget</a></h3>
5128
5129<table border="1">
5130  <tr>
5131    <td colspan="3" align="center">XmGadget Resources</td>
5132  </tr>
5133  <tr>
5134    <td><strong>Name</strong></td>
5135    <td><strong>Class</strong></td>
5136    <td><strong>Type</strong></td>
5137  </tr>
5138  <tr>
5139    <td>XmNhelpCallback</td>
5140    <td>XmCCallback</td>
5141    <td>(callback)</td>
5142  </tr>
5143  <tr>
5144    <td>XmNhighlightOnEnter</td>
5145    <td>XmCHighlightOnEnter</td>
5146    <td>bool</td>
5147  </tr>
5148  <tr>
5149    <td>XmNhighlightThickness</td>
5150    <td>XmCHighlightThickness</td>
5151    <td>int</td>
5152  </tr>
5153  <tr>
5154    <td>XmNnavigationType</td>
5155    <td>XmCNavigationType</td>
5156    <td>XmNavigationType</td>
5157  </tr>
5158  <tr>
5159    <td>XmNshadowThickness</td>
5160    <td>XmCShadowThickness</td>
5161    <td>int</td>
5162  </tr>
5163  <tr>
5164    <td>XmNtraversalOn</td>
5165    <td>XmCTraversalOn</td>
5166    <td>bool</td>
5167  </tr>
5168  <tr>
5169    <td>XmNunitType</td>
5170    <td>XmCUnitType</td>
5171    <td>XmUnitType</td>
5172  </tr>
5173</table>
5174
5175<p>&nbsp;</p>
5176
5177<h3><a name="3.21 XmLabel">3.21 XmLabel</a></h3>
5178
5179<table border="1">
5180  <tr>
5181    <td colspan="3" align="center">XmLabel Resources</td>
5182  </tr>
5183  <tr>
5184    <td><strong>Name</strong></td>
5185    <td><strong>Class</strong></td>
5186    <td><strong>Type</strong></td>
5187  </tr>
5188  <tr>
5189    <td>XmNaccelerator</td>
5190    <td>XmCAccelerator</td>
5191    <td>string</td>
5192  </tr>
5193  <tr>
5194    <td>XmNacceleratorText</td>
5195    <td>XmCAcceleratorText</td>
5196    <td>XmString</td>
5197  </tr>
5198  <tr>
5199    <td>XmNalignment</td>
5200    <td>XmCAlignment</td>
5201    <td>XmAlignment</td>
5202  </tr>
5203  <tr>
5204    <td>XmNfontList</td>
5205    <td>XmCFontList</td>
5206    <td>XFontStruct list</td>
5207  </tr>
5208  <tr>
5209    <td>XmNlabelInsensitivePixmap</td>
5210    <td>XmCLabelInsensitivePixmap</td>
5211    <td>Drawable</td>
5212  </tr>
5213  <tr>
5214    <td>XmNlabelPixmap</td>
5215    <td>XmCLabelPixmap</td>
5216    <td>Drawable</td>
5217  </tr>
5218  <tr>
5219    <td>XmNlabelString</td>
5220    <td>XmCLabelString</td>
5221    <td>XmString</td>
5222  </tr>
5223  <tr>
5224    <td>XmNlabelType</td>
5225    <td>XmCLabelType</td>
5226    <td>XmLabelType</td>
5227  </tr>
5228  <tr>
5229    <td>XmNmarginBottom</td>
5230    <td>XmCMarginBottom</td>
5231    <td>int</td>
5232  </tr>
5233  <tr>
5234    <td>XmNmarginHeight</td>
5235    <td>XmCMarginHeight</td>
5236    <td>int</td>
5237  </tr>
5238  <tr>
5239    <td>XmNmarginLeft</td>
5240    <td>XmCMarginLeft</td>
5241    <td>int</td>
5242  </tr>
5243  <tr>
5244    <td>XmNmarginRight</td>
5245    <td>XmCMarginRight</td>
5246    <td>int</td>
5247  </tr>
5248  <tr>
5249    <td>XmNmarginTop</td>
5250    <td>XmCMarginTop</td>
5251    <td>int</td>
5252  </tr>
5253  <tr>
5254    <td>XmNmarginWidth</td>
5255    <td>XmCMarginWidth</td>
5256    <td>int</td>
5257  </tr>
5258  <tr>
5259    <td>XmNmnemonic</td>
5260    <td>XmCMnemonic</td>
5261    <td>int</td>
5262  </tr>
5263  <tr>
5264    <td>XmNmnemonicCharSet</td>
5265    <td>XmCMnemonicCharSet</td>
5266    <td>string</td>
5267  </tr>
5268  <tr>
5269    <td>XmNrecomputeSize</td>
5270    <td>XmCRecomputeSize</td>
5271    <td>bool</td>
5272  </tr>
5273  <tr>
5274    <td>XmNstringDirection</td>
5275    <td>XmCStringDirection</td>
5276    <td>XmStringDirection</td>
5277  </tr>
5278</table>
5279
5280<p>&nbsp;</p>
5281
5282<h3><a name="3.22 XmList">3.22 XmList</a></h3>
5283
5284<table border="1">
5285  <tr>
5286    <td colspan="3" align="center">XmList Resources</td>
5287  </tr>
5288  <tr>
5289    <td><strong>Name</strong></td>
5290    <td><strong>Class</strong></td>
5291    <td><strong>Type</strong></td>
5292  </tr>
5293  <tr>
5294    <td>XmNautomaticSelection</td>
5295    <td>XmCAutomaticSelection</td>
5296    <td>bool</td>
5297  </tr>
5298  <tr>
5299    <td>XmNbrowseSelectionCallback</td>
5300    <td>XmCCallback</td>
5301    <td>(callback)</td>
5302  </tr>
5303  <tr>
5304    <td>XmNdefaultActionCallback</td>
5305    <td>XmCCallback</td>
5306    <td>(callback)</td>
5307  </tr>
5308  <tr>
5309    <td>XmNdoubleClickInterval</td>
5310    <td>XmCDoubleClickInterval</td>
5311    <td>int</td>
5312  </tr>
5313  <tr>
5314    <td>XmNextendedSelectionCallback</td>
5315    <td>XmCCallback</td>
5316    <td>(callback)</td>
5317  </tr>
5318  <tr>
5319    <td>XmNfontList</td>
5320    <td>XmCFontList</td>
5321    <td>XFontStruct list</td>
5322  </tr>
5323  <tr>
5324    <td>XmNitemCount</td>
5325    <td>XmCItemCount</td>
5326    <td>int</td>
5327  </tr>
5328  <tr>
5329    <td>XmNitems</td>
5330    <td>XmCItems</td>
5331    <td>XmString list</td>
5332  </tr>
5333  <tr>
5334    <td>XmNlistMarginHeight</td>
5335    <td>XmCListMarginHeight</td>
5336    <td>int</td>
5337  </tr>
5338  <tr>
5339    <td>XmNlistMarginWidth</td>
5340    <td>XmCListMarginWidth</td>
5341    <td>int</td>
5342  </tr>
5343  <tr>
5344    <td>XmNlistSizePolicy</td>
5345    <td>XmCListSizePolicy</td>
5346    <td>XmVisualPolicy</td>
5347  </tr>
5348  <tr>
5349    <td>XmNlistSpacing</td>
5350    <td>XmCListSpacing</td>
5351    <td>int</td>
5352  </tr>
5353  <tr>
5354    <td>XmNmultipleSelectionCallback</td>
5355    <td>XmCCallback</td>
5356    <td>(callback)</td>
5357  </tr>
5358  <tr>
5359    <td>XmNscrollBarDisplayPolicy</td>
5360    <td>XmCScrollBarDisplayPolicy</td>
5361    <td>XmScrollBarDisplayPolicy</td>
5362  </tr>
5363  <tr>
5364    <td>XmNselectedItemCount</td>
5365    <td>XmCSelectedItemCount</td>
5366    <td>int</td>
5367  </tr>
5368  <tr>
5369    <td>XmNselectedItems</td>
5370    <td>XmCSelectedItems</td>
5371    <td>XmString list</td>
5372  </tr>
5373  <tr>
5374    <td>XmNselectionPolicy</td>
5375    <td>XmCSelectionPolicy</td>
5376    <td>XmSelectionPolicy</td>
5377  </tr>
5378  <tr>
5379    <td>XmNsingleSelectionCallback</td>
5380    <td>XmCCallback</td>
5381    <td>(callback)</td>
5382  </tr>
5383  <tr>
5384    <td>XmNstringDirection</td>
5385    <td>XmCStringDirection</td>
5386    <td>XmStringDirection</td>
5387  </tr>
5388  <tr>
5389    <td>XmNtopItemPosition</td>
5390    <td>XmCTopItemPosition</td>
5391    <td>int</td>
5392  </tr>
5393  <tr>
5394    <td>XmNvisibleItemCount</td>
5395    <td>XmCVisibleItemCount</td>
5396    <td>int</td>
5397  </tr>
5398</table>
5399
5400<p>&nbsp;</p>
5401
5402<h3><a name="3.23 XmMainWindow">3.23 XmMainWindow</a></h3>
5403
5404<table border="1">
5405  <tr>
5406    <td colspan="3" align="center">XmMainWindow Resources</td>
5407  </tr>
5408  <tr>
5409    <td><strong>Name</strong></td>
5410    <td><strong>Class</strong></td>
5411    <td><strong>Type</strong></td>
5412  </tr>
5413  <tr>
5414    <td>XmNcommandWindow</td>
5415    <td>XmCCommandWindow</td>
5416    <td>Widget</td>
5417  </tr>
5418  <tr>
5419    <td>XmNcommandWindowLocation</td>
5420    <td>XmCCommandWindowLocation</td>
5421    <td>XmCommandWindowLocation</td>
5422  </tr>
5423  <tr>
5424    <td>XmNmainWindowMarginHeight</td>
5425    <td>XmCMainWindowMarginHeight</td>
5426    <td>int</td>
5427  </tr>
5428  <tr>
5429    <td>XmNmainWindowMarginWidth</td>
5430    <td>XmCMainWindowMarginWidth</td>
5431    <td>int</td>
5432  </tr>
5433  <tr>
5434    <td>XmNmenuBar</td>
5435    <td>XmCMenuBar</td>
5436    <td>Widget</td>
5437  </tr>
5438  <tr>
5439    <td>XmNmessageWindow</td>
5440    <td>XmCMessageWindow</td>
5441    <td>Widget</td>
5442  </tr>
5443  <tr>
5444    <td>XmNshowSeparator</td>
5445    <td>XmCShowSeparator</td>
5446    <td>bool</td>
5447  </tr>
5448</table>
5449
5450<p>&nbsp;</p>
5451
5452<h3><a name="3.24 XmManager">3.24 XmManager</a></h3>
5453
5454<table border="1">
5455  <tr>
5456    <td colspan="3" align="center">XmManager Resources</td>
5457  </tr>
5458  <tr>
5459    <td><strong>Name</strong></td>
5460    <td><strong>Class</strong></td>
5461    <td><strong>Type</strong></td>
5462  </tr>
5463  <tr>
5464    <td>XmNbottomShadowColor</td>
5465    <td>XmCBottomShadowColor</td>
5466    <td>int</td>
5467  </tr>
5468  <tr>
5469    <td>XmNbottomShadowPixmap</td>
5470    <td>XmCBottomShadowPixmap</td>
5471    <td>Drawable</td>
5472  </tr>
5473  <tr>
5474    <td>XmNforeground</td>
5475    <td>XmCForeground</td>
5476    <td>int</td>
5477  </tr>
5478  <tr>
5479    <td>XmNhelpCallback</td>
5480    <td>XmCCallback</td>
5481    <td>(callback)</td>
5482  </tr>
5483  <tr>
5484    <td>XmNhighlightColor</td>
5485    <td>XmCHighlightColor</td>
5486    <td>int</td>
5487  </tr>
5488  <tr>
5489    <td>XmNhighlightPixmap</td>
5490    <td>XmCHighlightPixmap</td>
5491    <td>Drawable</td>
5492  </tr>
5493  <tr>
5494    <td>XmNnavigationType</td>
5495    <td>XmCNavigationType</td>
5496    <td>XmNavigationType</td>
5497  </tr>
5498  <tr>
5499    <td>XmNshadowThickness</td>
5500    <td>XmCShadowThickness</td>
5501    <td>int</td>
5502  </tr>
5503  <tr>
5504    <td>XmNstringDirection</td>
5505    <td>XmCStringDirection</td>
5506    <td>XmStringDirection</td>
5507  </tr>
5508  <tr>
5509    <td>XmNtopShadowColor</td>
5510    <td>XmCTopShadowColor</td>
5511    <td>int</td>
5512  </tr>
5513  <tr>
5514    <td>XmNtopShadowPixmap</td>
5515    <td>XmCTopShadowPixmap</td>
5516    <td>Drawable</td>
5517  </tr>
5518  <tr>
5519    <td>XmNtraversalOn</td>
5520    <td>XmCTraversalOn</td>
5521    <td>bool</td>
5522  </tr>
5523  <tr>
5524    <td>XmNunitType</td>
5525    <td>XmCUnitType</td>
5526    <td>XmUnitType</td>
5527  </tr>
5528</table>
5529
5530<p>&nbsp;</p>
5531
5532<h3><a name="3.25 XmMenuShell">3.25 XmMenuShell</a></h3>
5533
5534<table border="1">
5535  <tr>
5536    <td colspan="3" align="center">XmMenuShell Resources</td>
5537  </tr>
5538  <tr>
5539    <td><strong>Name</strong></td>
5540    <td><strong>Class</strong></td>
5541    <td><strong>Type</strong></td>
5542  </tr>
5543  <tr>
5544    <td>XmNdefaultFontList</td>
5545    <td>XmCDefaultFontList</td>
5546    <td>XFontStruct list</td>
5547  </tr>
5548</table>
5549
5550<p>&nbsp;</p>
5551
5552<h3><a name="3.26 XmMessageBox">3.26 XmMessageBox</a></h3>
5553
5554<table border="1">
5555  <tr>
5556    <td colspan="3" align="center">XmMessageBox Resources</td>
5557  </tr>
5558  <tr>
5559    <td>Name</td>
5560    <td>Class</td>
5561    <td>Type</td>
5562  </tr>
5563  <tr>
5564    <td>XmNcancelCallback</td>
5565    <td>XmCCallback</td>
5566    <td>(callback)</td>
5567  </tr>
5568  <tr>
5569    <td>XmNcancelLabelString</td>
5570    <td>XmCCancelLabelString</td>
5571    <td>XmString</td>
5572  </tr>
5573  <tr>
5574    <td>XmNdefaultButtonType</td>
5575    <td>XmCDefaultButtonType</td>
5576    <td>XmDefaultButtonType</td>
5577  </tr>
5578  <tr>
5579    <td>XmNdialogType</td>
5580    <td>XmCDialogType</td>
5581    <td>XmDialogType</td>
5582  </tr>
5583  <tr>
5584    <td>XmNhelpLabelString</td>
5585    <td>XmCHelpLabelString</td>
5586    <td>XmString</td>
5587  </tr>
5588  <tr>
5589    <td>XmNmessageAlignment</td>
5590    <td>XmCAlignment</td>
5591    <td>XmAlignment</td>
5592  </tr>
5593  <tr>
5594    <td>XmNmessageString</td>
5595    <td>XmCMessageString</td>
5596    <td>XmString</td>
5597  </tr>
5598  <tr>
5599    <td>XmNminimizeButtons</td>
5600    <td>XmCMinimizeButtons</td>
5601    <td>bool</td>
5602  </tr>
5603  <tr>
5604    <td>XmNokCallback</td>
5605    <td>XmCCallback</td>
5606    <td>(callback)</td>
5607  </tr>
5608  <tr>
5609    <td>XmNokLabelString</td>
5610    <td>XmCOkLabelString</td>
5611    <td>XmString</td>
5612  </tr>
5613  <tr>
5614    <td>XmNsymbolPixmap</td>
5615    <td>XmCPixmap</td>
5616    <td>Drawable</td>
5617  </tr>
5618</table>
5619
5620<p>&nbsp;</p>
5621
5622<h3><a name="3.27 XmPanedWindow">3.27 XmPanedWindow</a></h3>
5623
5624<table border="1">
5625  <tr>
5626    <td colspan="3" align="center">XmPanedWindow Resources</td>
5627  </tr>
5628  <tr>
5629    <td><strong>Name</strong></td>
5630    <td><strong>Class</strong></td>
5631    <td><strong>Type</strong></td>
5632  </tr>
5633  <tr>
5634    <td>XmNallowResize</td>
5635    <td>XmCBoolean</td>
5636    <td>bool</td>
5637  </tr>
5638  <tr>
5639    <td>XmNmarginHeight</td>
5640    <td>XmCMarginHeight</td>
5641    <td>int</td>
5642  </tr>
5643  <tr>
5644    <td>XmNmarginWidth</td>
5645    <td>XmCMarginWidth</td>
5646    <td>int</td>
5647  </tr>
5648  <tr>
5649    <td>XmNpaneMaximum</td>
5650    <td>XmCPaneMaximum</td>
5651    <td>int</td>
5652  </tr>
5653  <tr>
5654    <td>XmNpaneMinimum</td>
5655    <td>XmCPaneMinimum</td>
5656    <td>int</td>
5657  </tr>
5658  <tr>
5659    <td>XmNrefigureMode</td>
5660    <td>XmCBoolean</td>
5661    <td>bool</td>
5662  </tr>
5663  <tr>
5664    <td>XmNsashHeight</td>
5665    <td>XmCSashHeight</td>
5666    <td>int</td>
5667  </tr>
5668  <tr>
5669    <td>XmNsashIndent</td>
5670    <td>XmCSashIndent</td>
5671    <td>int</td>
5672  </tr>
5673  <tr>
5674    <td>XmNsashShadowThickness</td>
5675    <td>XmCShadowThickness</td>
5676    <td>int</td>
5677  </tr>
5678  <tr>
5679    <td>XmNsashWidth</td>
5680    <td>XmCSashWidth</td>
5681    <td>int</td>
5682  </tr>
5683  <tr>
5684    <td>XmNseparatorOn</td>
5685    <td>XmCSeparatorOn</td>
5686    <td>bool</td>
5687  </tr>
5688  <tr>
5689    <td>XmNskipAdjust</td>
5690    <td>XmCBoolean</td>
5691    <td>bool</td>
5692  </tr>
5693  <tr>
5694    <td>XmNspacing</td>
5695    <td>XmCSpacing</td>
5696    <td>int</td>
5697  </tr>
5698</table>
5699
5700<p>&nbsp;</p>
5701
5702<h3><a name="3.28 XmPrimitive">3.28 XmPrimitive</a></h3>
5703
5704<table border="1">
5705  <tr>
5706    <td colspan="3" align="center">XmPrimitive Resources</td>
5707  </tr>
5708  <tr>
5709    <td><strong>Name</strong></td>
5710    <td><strong>Class</strong></td>
5711    <td><strong>Type</strong></td>
5712  </tr>
5713  <tr>
5714    <td>XmNbottomShadowColor</td>
5715    <td>XmCBottomShadowColor</td>
5716    <td>int</td>
5717  </tr>
5718  <tr>
5719    <td>XmNbottomShadowPixmap</td>
5720    <td>XmCBottomShadowPixmap</td>
5721    <td>Drawable</td>
5722  </tr>
5723  <tr>
5724    <td>XmNforeground</td>
5725    <td>XmCForeground</td>
5726    <td>int</td>
5727  </tr>
5728  <tr>
5729    <td>XmNhelpCallback</td>
5730    <td>XmCCallback</td>
5731    <td>(callback)</td>
5732  </tr>
5733  <tr>
5734    <td>XmNhighlightColor</td>
5735    <td>XmCHighlightColor</td>
5736    <td>int</td>
5737  </tr>
5738  <tr>
5739    <td>XmNhighlightOnEnter</td>
5740    <td>XmCHighlightOnEnter</td>
5741    <td>bool</td>
5742  </tr>
5743  <tr>
5744    <td>XmNhighlightPixmap</td>
5745    <td>XmCHighlightPixmap</td>
5746    <td>Drawable</td>
5747  </tr>
5748  <tr>
5749    <td>XmNhighlightThickness</td>
5750    <td>XmCHighlightThickness</td>
5751    <td>int</td>
5752  </tr>
5753  <tr>
5754    <td>XmNnavigationType</td>
5755    <td>XmCNavigationType</td>
5756    <td>XmNavigationType</td>
5757  </tr>
5758  <tr>
5759    <td>XmNshadowThickness</td>
5760    <td>XmCShadowThickness</td>
5761    <td>int</td>
5762  </tr>
5763  <tr>
5764    <td>XmNtopShadowColor</td>
5765    <td>XmCTopShadowColor</td>
5766    <td>int</td>
5767  </tr>
5768  <tr>
5769    <td>XmNtopShadowPixmap</td>
5770    <td>XmCTopShadowPixmap</td>
5771    <td>Drawable</td>
5772  </tr>
5773  <tr>
5774    <td>XmNtraversalOn</td>
5775    <td>XmCTraversalOn</td>
5776    <td>bool</td>
5777  </tr>
5778  <tr>
5779    <td>XmNunitType</td>
5780    <td>XmCUnitType</td>
5781    <td>XmUnitType</td>
5782  </tr>
5783</table>
5784
5785<p>&nbsp;</p>
5786
5787<h3><a name="3.29 XmPushButton">3.29 XmPushButton</a></h3>
5788
5789<table border="1">
5790  <tr>
5791    <td colspan="3" align="center">XmPushButton Resources</td>
5792  </tr>
5793  <tr>
5794    <td><strong>Name</strong></td>
5795    <td><strong>Class</strong></td>
5796    <td><strong>Type</strong></td>
5797  </tr>
5798  <tr>
5799    <td>XmNactivateCallback</td>
5800    <td>XmCCallback</td>
5801    <td>(callback)</td>
5802  </tr>
5803  <tr>
5804    <td>XmNarmCal1back</td>
5805    <td>XmCCallback</td>
5806    <td>(callback)</td>
5807  </tr>
5808  <tr>
5809    <td>XmNarmColor</td>
5810    <td>XmCArmColor</td>
5811    <td>int</td>
5812  </tr>
5813  <tr>
5814    <td>XmNarmPixmap</td>
5815    <td>XmCArmPixmap</td>
5816    <td>Drawable</td>
5817  </tr>
5818  <tr>
5819    <td>XmNdefaultButtonShadowThickness</td>
5820    <td>XmCDefaultButtonShadowThickness</td>
5821    <td>int</td>
5822  </tr>
5823  <tr>
5824    <td>XmNdisarmCallback</td>
5825    <td>XmCDisarmCallback</td>
5826    <td>(callback)</td>
5827  </tr>
5828  <tr>
5829    <td>XmNfillOnArm</td>
5830    <td>XmCFillOnArm</td>
5831    <td>bool</td>
5832  </tr>
5833  <tr>
5834    <td>XmNmultiClick</td>
5835    <td>XmCMultiClick</td>
5836    <td>XmMultiClickType</td>
5837  </tr>
5838  <tr>
5839    <td>XmNshowAsDefault</td>
5840    <td>XmCShowAsDefault</td>
5841    <td>int</td>
5842  </tr>
5843</table>
5844
5845<p>&nbsp;</p>
5846
5847<h3><a name="3.30 XmRowColumn">3.30 XmRowColumn</a></h3>
5848
5849<table border="1">
5850  <tr>
5851    <td colspan="3" align="center">XmRowColumn Resources</td>
5852  </tr>
5853  <tr>
5854    <td><strong>Name</strong></td>
5855    <td><strong>Class</strong></td>
5856    <td><strong>Type</strong></td>
5857  </tr>
5858  <tr>
5859    <td>XmNadjustLast</td>
5860    <td>XmCAdjustLast</td>
5861    <td>bool</td>
5862  </tr>
5863  <tr>
5864    <td>XmNadjustMargin</td>
5865    <td>XmCAdjustMargin</td>
5866    <td>bool</td>
5867  </tr>
5868  <tr>
5869    <td>XmNbuttonAcceleratorText</td>
5870    <td>XmCButtonAcceleratorText</td>
5871    <td>XmString list</td>
5872  </tr>
5873  <tr>
5874    <td>XmNbuttonAccelerators</td>
5875    <td>XmCButtonAccelerators</td>
5876    <td>string list</td>
5877  </tr>
5878  <tr>
5879    <td>XmNbuttonCount</td>
5880    <td>XmCButtonCount</td>
5881    <td>int</td>
5882  </tr>
5883  <tr>
5884    <td>XmNbuttonMnemonicCharSets</td>
5885    <td>XmCButtonMnemonicCharSets</td>
5886    <td>XmString list</td>
5887  </tr>
5888  <tr>
5889    <td>XmNbuttonMnemonics</td>
5890    <td>XmCButtonMnemonics</td>
5891    <td>KeySym list</td>
5892  </tr>
5893  <tr>
5894    <td>XmNbuttonSet</td>
5895    <td>XmCButtonSet</td>
5896    <td>int</td>
5897  </tr>
5898  <tr>
5899    <td>XmNbuttonType</td>
5900    <td>XmCButtonType</td>
5901    <td>XmButtonType list</td>
5902  </tr>
5903  <tr>
5904    <td>XmNbuttons</td>
5905    <td>XmCButtons</td>
5906    <td>XmString list</td>
5907  </tr>
5908  <tr>
5909    <td>XmNentryAlignment</td>
5910    <td>XmCAlignment</td>
5911    <td>XmAlignment</td>
5912  </tr>
5913  <tr>
5914    <td>XmNentryBorder</td>
5915    <td>XmCEntryBorder</td>
5916    <td>int</td>
5917  </tr>
5918  <tr>
5919    <td>XmNentryCallback</td>
5920    <td>XmCCallback</td>
5921    <td>(callback)</td>
5922  </tr>
5923  <tr>
5924    <td>XmNisAligned</td>
5925    <td>XmClsAligned</td>
5926    <td>bool</td>
5927  </tr>
5928  <tr>
5929    <td>XmNisHomogeneous</td>
5930    <td>XmCIsHomogeneous</td>
5931    <td>bool</td>
5932  </tr>
5933  <tr>
5934    <td>XmNlabelString</td>
5935    <td>XmCLabelString</td>
5936    <td>XmString</td>
5937  </tr>
5938  <tr>
5939    <td>XmNmapCallback</td>
5940    <td>XmCCallback</td>
5941    <td>(callback)</td>
5942  </tr>
5943  <tr>
5944    <td>XmNmarginHeight</td>
5945    <td>XmCMarginHeight</td>
5946    <td>int</td>
5947  </tr>
5948  <tr>
5949    <td>XmNmarginWidth</td>
5950    <td>XmCMarginWidth</td>
5951    <td>int</td>
5952  </tr>
5953  <tr>
5954    <td>XmNmenuAccelerator</td>
5955    <td>XmCAccelerators</td>
5956    <td>string</td>
5957  </tr>
5958  <tr>
5959    <td>XmNmenuCursor</td>
5960    <td>XmCCursor</td>
5961    <td>Cursor</td>
5962  </tr>
5963  <tr>
5964    <td>XmNmenuHelpWidget</td>
5965    <td>XmCMenuWidget</td>
5966    <td>Widget</td>
5967  </tr>
5968  <tr>
5969    <td>XmNmenuHistory</td>
5970    <td>XmCMenuWidget</td>
5971    <td>Widget</td>
5972  </tr>
5973  <tr>
5974    <td>XmNmenuPost</td>
5975    <td>XmCMenuPost</td>
5976    <td>string</td>
5977  </tr>
5978  <tr>
5979    <td>XmNmnemonic</td>
5980    <td>XmCMnemonic</td>
5981    <td>int</td>
5982  </tr>
5983  <tr>
5984    <td>XmNmnemonicCharSet</td>
5985    <td>XmCMnemonicCharSet</td>
5986    <td>string</td>
5987  </tr>
5988  <tr>
5989    <td>XmNnumColumns</td>
5990    <td>XmCNumColumns</td>
5991    <td>int</td>
5992  </tr>
5993  <tr>
5994    <td>XmNoptionLabel</td>
5995    <td>XmCOptionLabel</td>
5996    <td>XmString</td>
5997  </tr>
5998  <tr>
5999    <td>XmNoptionMnemonic</td>
6000    <td>XmCOptionMnemonic</td>
6001    <td>int</td>
6002  </tr>
6003  <tr>
6004    <td>XmNorientation</td>
6005    <td>XmCOrientation</td>
6006    <td>XmOrientation</td>
6007  </tr>
6008  <tr>
6009    <td>XmNpacking</td>
6010    <td>XmCPacking</td>
6011    <td>XmPacking</td>
6012  </tr>
6013  <tr>
6014    <td>XmNpopupEnabled</td>
6015    <td>XmCPopupEnabled</td>
6016    <td>bool</td>
6017  </tr>
6018  <tr>
6019    <td>XmNpostFromButton</td>
6020    <td>XmCPostFromButton</td>
6021    <td>int</td>
6022  </tr>
6023  <tr>
6024    <td>XmNradioAlwaysOne</td>
6025    <td>XmCRadioAlwaysOne</td>
6026    <td>bool</td>
6027  </tr>
6028  <tr>
6029    <td>XmNradioBehavior</td>
6030    <td>XmCRadioBehavior</td>
6031    <td>bool</td>
6032  </tr>
6033  <tr>
6034    <td>XmNresizeHeight</td>
6035    <td>XmCResizeHeight</td>
6036    <td>bool</td>
6037  </tr>
6038  <tr>
6039    <td>XmNresizeWidth</td>
6040    <td>XmCResizeWidth</td>
6041    <td>bool</td>
6042  </tr>
6043  <tr>
6044    <td>XmNrowColumnType</td>
6045    <td>XmCRowColumnType</td>
6046    <td>XmRowColumnType</td>
6047  </tr>
6048  <tr>
6049    <td>XmNsimpleCallback</td>
6050    <td>XmCCallback</td>
6051    <td>(callback)</td>
6052  </tr>
6053  <tr>
6054    <td>XmNspacing</td>
6055    <td>XmCSpacing</td>
6056    <td>int</td>
6057  </tr>
6058  <tr>
6059    <td>XmNsubMenuId</td>
6060    <td>XmCMenuWidget</td>
6061    <td>Widget</td>
6062  </tr>
6063  <tr>
6064    <td>XmNunmapCallback</td>
6065    <td>XmCCallback</td>
6066    <td>(callback)</td>
6067  </tr>
6068</table>
6069
6070<p>Note that XmNwhichButton is obsoleted by XmNmenuPost.</p>
6071
6072<p>&nbsp;</p>
6073
6074<h3><a name="3.31 XmScale">3.31 XmScale</a></h3>
6075
6076<table border="1">
6077  <tr>
6078    <td colspan="3" align="center">XmScale Resources</td>
6079  </tr>
6080  <tr>
6081    <td><strong>Name</strong></td>
6082    <td><strong>Class</strong></td>
6083    <td><strong>Type</strong></td>
6084  </tr>
6085  <tr>
6086    <td>XmNdecimalPoints</td>
6087    <td>XmCDecimalPoints</td>
6088    <td>int</td>
6089  </tr>
6090  <tr>
6091    <td>XmNdragCallback</td>
6092    <td>XmCCallback</td>
6093    <td>(callback)</td>
6094  </tr>
6095  <tr>
6096    <td>XmNfontList</td>
6097    <td>XmCFontList</td>
6098    <td>XFontStruct list</td>
6099  </tr>
6100  <tr>
6101    <td>XmNhighlightOnEnter</td>
6102    <td>XmCHighlightOnEnter</td>
6103    <td>bool</td>
6104  </tr>
6105  <tr>
6106    <td>XmNhighlightThickness</td>
6107    <td>XmCHighlightThickness</td>
6108    <td>int</td>
6109  </tr>
6110  <tr>
6111    <td>XmNmaximum</td>
6112    <td>XmCMaximum</td>
6113    <td>int</td>
6114  </tr>
6115  <tr>
6116    <td>XmNminimum</td>
6117    <td>XmCMinimum</td>
6118    <td>int</td>
6119  </tr>
6120  <tr>
6121    <td>XmNorientation</td>
6122    <td>XmCOrientation</td>
6123    <td>XmOrientation</td>
6124  </tr>
6125  <tr>
6126    <td>XmNprocessingDirection</td>
6127    <td>XmCProcessingDirection</td>
6128    <td>XmProcessingDirection</td>
6129  </tr>
6130  <tr>
6131    <td>XmNscaleHeight</td>
6132    <td>XmCScaleHeight</td>
6133    <td>int</td>
6134  </tr>
6135  <tr>
6136    <td>XmNscaleMultiple</td>
6137    <td>XmCScaleMultiple</td>
6138    <td>int</td>
6139  </tr>
6140  <tr>
6141    <td>XmNscaleWidth</td>
6142    <td>XmCScaleWidth</td>
6143    <td>int</td>
6144  </tr>
6145  <tr>
6146    <td>XmNshowValue</td>
6147    <td>XmCShowValue</td>
6148    <td>bool</td>
6149  </tr>
6150  <tr>
6151    <td>XmNtitleString</td>
6152    <td>XmCTitleString</td>
6153    <td>XmString</td>
6154  </tr>
6155  <tr>
6156    <td>XmNvalue</td>
6157    <td>XmCValue</td>
6158    <td>int</td>
6159  </tr>
6160  <tr>
6161    <td>XmNvalueChangedCallback</td>
6162    <td>XmCCallback</td>
6163    <td>(callback)</td>
6164  </tr>
6165</table>
6166
6167<p>&nbsp;</p>
6168
6169<h3><a name="3.32 XmScrollBar">3.32 XmScrollBar</a></h3>
6170
6171<table border="1">
6172  <tr>
6173    <td colspan="3" align="center">XmScrollBar Resources</td>
6174  </tr>
6175  <tr>
6176    <td><strong>Name</strong></td>
6177    <td><strong>Class</strong></td>
6178    <td><strong>Type</strong></td>
6179  </tr>
6180  <tr>
6181    <td>XmNdecrementCallback</td>
6182    <td>XmCCallback</td>
6183    <td>(callback)</td>
6184  </tr>
6185  <tr>
6186    <td>XmNdragCallback</td>
6187    <td>XmCCallback</td>
6188    <td>(callback)</td>
6189  </tr>
6190  <tr>
6191    <td>XmNincrement</td>
6192    <td>XmCIncrement</td>
6193    <td>int</td>
6194  </tr>
6195  <tr>
6196    <td>XmNincrementCallback</td>
6197    <td>XmCCallback</td>
6198    <td>(callback)</td>
6199  </tr>
6200  <tr>
6201    <td>XmNinitialDelay</td>
6202    <td>XmCInitialDelay</td>
6203    <td>int</td>
6204  </tr>
6205  <tr>
6206    <td>XmNmaximum</td>
6207    <td>XmCMaximum</td>
6208    <td>int</td>
6209  </tr>
6210  <tr>
6211    <td>XmNminimum</td>
6212    <td>XmCMinimum</td>
6213    <td>int</td>
6214  </tr>
6215  <tr>
6216    <td>XmNorientation</td>
6217    <td>XmCOrientation</td>
6218    <td>XmOrientation</td>
6219  </tr>
6220  <tr>
6221    <td>XmNpageDecrementCallback</td>
6222    <td>XmCCallback</td>
6223    <td>(callback)</td>
6224  </tr>
6225  <tr>
6226    <td>XmNpageIncrement</td>
6227    <td>XmCPageIncrement</td>
6228    <td>int</td>
6229  </tr>
6230  <tr>
6231    <td>XmNpageIncrementCallback</td>
6232    <td>XmCCallback</td>
6233    <td>(callback)</td>
6234  </tr>
6235  <tr>
6236    <td>XmNprocessingDirection</td>
6237    <td>XmCProcessingDirection</td>
6238    <td>XmProcessingDirection</td>
6239  </tr>
6240  <tr>
6241    <td>XmNrepeatDelay</td>
6242    <td>XmCRepeatDelay</td>
6243    <td>int</td>
6244  </tr>
6245  <tr>
6246    <td>XmNshowArrows</td>
6247    <td>XmCShowArrows</td>
6248    <td>bool</td>
6249  </tr>
6250  <tr>
6251    <td>XmNsliderSize</td>
6252    <td>XrnCSliderSize</td>
6253    <td>int</td>
6254  </tr>
6255  <tr>
6256    <td>XmNtoBottomCallback</td>
6257    <td>XmCCallback</td>
6258    <td>(callback)</td>
6259  </tr>
6260  <tr>
6261    <td>XmNtoTopCallback</td>
6262    <td>XmCCallback</td>
6263    <td>(callback)</td>
6264  </tr>
6265  <tr>
6266    <td>XmNtroughColor</td>
6267    <td>XmCTroughColor</td>
6268    <td>int</td>
6269  </tr>
6270  <tr>
6271    <td>XmNvalue</td>
6272    <td>XmCValue</td>
6273    <td>int</td>
6274  </tr>
6275  <tr>
6276    <td>XmNvalueChangedCallback</td>
6277    <td>XmCCallback</td>
6278    <td>(callback)</td>
6279  </tr>
6280</table>
6281
6282<p>&nbsp;</p>
6283
6284<h3><a name="3.33 XmScrolledWindow">3.33 XmScrolledWindow</a></h3>
6285
6286<table border="1">
6287  <tr>
6288    <td colspan="3" align="center">XmScrolledWindow Resources</td>
6289  </tr>
6290  <tr>
6291    <td><strong>Name</strong></td>
6292    <td><strong>Class</strong></td>
6293    <td><strong>Type</strong></td>
6294  </tr>
6295  <tr>
6296    <td>XmNclipWindow</td>
6297    <td>XmCclipwindow</td>
6298    <td>Widget</td>
6299  </tr>
6300  <tr>
6301    <td>XmNhorizontalScrollBar</td>
6302    <td>XmCHorizontalScrollBar</td>
6303    <td>Widget</td>
6304  </tr>
6305  <tr>
6306    <td>XmNscrollBarDisplayPolicy</td>
6307    <td>XmCScrollBarDisplayPolicy</td>
6308    <td>XmScrollBarDisplayPolicy</td>
6309  </tr>
6310  <tr>
6311    <td>XmNscrollBarPlacement</td>
6312    <td>XmCScrollBarPlacement</td>
6313    <td>XmScrollBarPlacement</td>
6314  </tr>
6315  <tr>
6316    <td>XmNscrolledWindowMarginHeight</td>
6317    <td>XmCScrolledWindowMarginHeight</td>
6318    <td>int</td>
6319  </tr>
6320  <tr>
6321    <td>XmNscrolledWindowMarginWidth</td>
6322    <td>XmCScrolledWindowMarginWidth</td>
6323    <td>int</td>
6324  </tr>
6325  <tr>
6326    <td>XmNscrollingPolicy</td>
6327    <td>XmCScrollingPolicy</td>
6328    <td>XmScrollingPolicy</td>
6329  </tr>
6330  <tr>
6331    <td>XmNspacing</td>
6332    <td>XmCSpacing</td>
6333    <td>int</td>
6334  </tr>
6335  <tr>
6336    <td>XmNverticalScrollBar</td>
6337    <td>XmCVerticalScrollBar</td>
6338    <td>Widget</td>
6339  </tr>
6340  <tr>
6341    <td>XmNvisualPolicy</td>
6342    <td>XmCVisualPolicy</td>
6343    <td>XmVisualPolicy</td>
6344  </tr>
6345  <tr>
6346    <td>XmNworkWindow</td>
6347    <td>XmCWorkWindow</td>
6348    <td>Widget</td>
6349  </tr>
6350</table>
6351
6352<p>&nbsp;</p>
6353
6354<h3><a name="3.34 XmSelectionBox">3.34 XmSelectionBox</a></h3>
6355
6356<table border="1">
6357  <tr>
6358    <td colspan="3" align="center">XmSelectionBox Resources</td>
6359  </tr>
6360  <tr>
6361    <td><strong>Name</strong></td>
6362    <td><strong>Class</strong></td>
6363    <td><strong>Type</strong></td>
6364  </tr>
6365  <tr>
6366    <td>XmNapplyCallback</td>
6367    <td>XmCCallback</td>
6368    <td>(callback)</td>
6369  </tr>
6370  <tr>
6371    <td>XmNapplyLabelString</td>
6372    <td>XmCApplyLabelString</td>
6373    <td>XmString</td>
6374  </tr>
6375  <tr>
6376    <td>XmNcancelCallback</td>
6377    <td>XmCCallback</td>
6378    <td>(callback)</td>
6379  </tr>
6380  <tr>
6381    <td>XmNcancelLabelString</td>
6382    <td>XmCCancelLabelString</td>
6383    <td>XmString</td>
6384  </tr>
6385  <tr>
6386    <td>XmNdialogType</td>
6387    <td>XmCDialogType</td>
6388    <td>XmDialogType</td>
6389  </tr>
6390  <tr>
6391    <td>XmNhelpLabelString</td>
6392    <td>XmCHelpLabelString</td>
6393    <td>XmString</td>
6394  </tr>
6395  <tr>
6396    <td>XmNlistItemCount</td>
6397    <td>XmCItemCount</td>
6398    <td>int</td>
6399  </tr>
6400  <tr>
6401    <td>XmNlistItems</td>
6402    <td>XmCItems</td>
6403    <td>XmString list</td>
6404  </tr>
6405  <tr>
6406    <td>XmNlistLabelString</td>
6407    <td>XmCListLabelString</td>
6408    <td>XmString</td>
6409  </tr>
6410  <tr>
6411    <td>XmNlistVisibleItemCount</td>
6412    <td>XmCVisibleItemCount</td>
6413    <td>int</td>
6414  </tr>
6415  <tr>
6416    <td>XmNminimizeButtons</td>
6417    <td>XmCMinimizeButtons</td>
6418    <td>bool</td>
6419  </tr>
6420  <tr>
6421    <td>XmNmustMatch</td>
6422    <td>XmCMustMatch</td>
6423    <td>bool</td>
6424  </tr>
6425  <tr>
6426    <td>XmNnoMatchCallback</td>
6427    <td>XmCCallback</td>
6428    <td>(callback)</td>
6429  </tr>
6430  <tr>
6431    <td>XmNokCallback</td>
6432    <td>XmCCallback</td>
6433    <td>(callback)</td>
6434  </tr>
6435  <tr>
6436    <td>XmNokLabelString</td>
6437    <td>XmCOkLabelString</td>
6438    <td>XmString</td>
6439  </tr>
6440  <tr>
6441    <td>XmNselectionLabelString</td>
6442    <td>XmCSelectionLabelString</td>
6443    <td>XmString</td>
6444  </tr>
6445  <tr>
6446    <td>XmNtextAccelerators</td>
6447    <td>XmCAccelerators</td>
6448    <td>XtAccelerators</td>
6449  </tr>
6450  <tr>
6451    <td>XmNtextColumns</td>
6452    <td>XmCColumns</td>
6453    <td>int</td>
6454  </tr>
6455  <tr>
6456    <td>XmNtextString</td>
6457    <td>XmCTextString</td>
6458    <td>XmString</td>
6459  </tr>
6460</table>
6461
6462<p>&nbsp;</p>
6463
6464<h3><a name="3.35 XmSeparator">3.35 XmSeparator</a></h3>
6465
6466<table border="1">
6467  <tr>
6468    <td colspan="3" align="center">XmSeparator Resources</td>
6469  </tr>
6470  <tr>
6471    <td><strong>Name</strong></td>
6472    <td><strong>Class</strong></td>
6473    <td><strong>Type</strong></td>
6474  </tr>
6475  <tr>
6476    <td>XmNmargin</td>
6477    <td>XmCMargin</td>
6478    <td>int</td>
6479  </tr>
6480  <tr>
6481    <td>XmNorientation</td>
6482    <td>XmCOrientation</td>
6483    <td>XmOrientation</td>
6484  </tr>
6485  <tr>
6486    <td>XmNseparatorType</td>
6487    <td>XmCSeparatorType</td>
6488    <td>XmShadowType</td>
6489  </tr>
6490</table>
6491
6492<p>&nbsp;</p>
6493
6494<h3><a name="3.36 XmText">3.36 XmText</a></h3>
6495
6496<table border="1">
6497  <tr>
6498    <td colspan="3" align="center">XmText Resources</td>
6499  </tr>
6500  <tr>
6501    <td><strong>Name</strong></td>
6502    <td><strong>Class</strong></td>
6503    <td><strong>Type</strong></td>
6504  </tr>
6505  <tr>
6506    <td>XmNactivateCal1back</td>
6507    <td>XmCCallback</td>
6508    <td>(callback)</td>
6509  </tr>
6510  <tr>
6511    <td>XmNautoShowCursorPosition</td>
6512    <td>XmCAutoShowCursorPosition</td>
6513    <td>bool</td>
6514  </tr>
6515  <tr>
6516    <td>XmNblinkRate</td>
6517    <td>XmCBlinkRate</td>
6518    <td>int</td>
6519  </tr>
6520  <tr>
6521    <td>XmNcolumns</td>
6522    <td>XmCColumns</td>
6523    <td>int</td>
6524  </tr>
6525  <tr>
6526    <td>XmNcursorPosition</td>
6527    <td>XmCCursorPosition</td>
6528    <td>int</td>
6529  </tr>
6530  <tr>
6531    <td>XmNcursorPositionVisible</td>
6532    <td>XmCCursorPositionVisible</td>
6533    <td>bool</td>
6534  </tr>
6535  <tr>
6536    <td>XmNeditMode</td>
6537    <td>XmCEditMode</td>
6538    <td>XmEditMode</td>
6539  </tr>
6540  <tr>
6541    <td>XmNeditable</td>
6542    <td>XmCEditable</td>
6543    <td>bool</td>
6544  </tr>
6545  <tr>
6546    <td>XmNfocusCallback</td>
6547    <td>XmCCallback</td>
6548    <td>(callback)</td>
6549  </tr>
6550  <tr>
6551    <td>XmNfontList</td>
6552    <td>XmCFontList</td>
6553    <td>XFontStruct list</td>
6554  </tr>
6555  <tr>
6556    <td>XmNgainPrimaryCallback</td>
6557    <td>XmCCallback</td>
6558    <td>(callback)</td>
6559  </tr>
6560  <tr>
6561    <td>XmNlosePrimaryCallback</td>
6562    <td>XmCCallback</td>
6563    <td>(callback)</td>
6564  </tr>
6565  <tr>
6566    <td>XmNlosingFocusCallback</td>
6567    <td>XmCCallback</td>
6568    <td>(callback)</td>
6569  </tr>
6570  <tr>
6571    <td>XmNmarginHeight</td>
6572    <td>XmCMarginHeight</td>
6573    <td>int</td>
6574  </tr>
6575  <tr>
6576    <td>XmNmarginWidth</td>
6577    <td>XmCMarginWidth</td>
6578    <td>int</td>
6579  </tr>
6580  <tr>
6581    <td>XmNmaxLength</td>
6582    <td>XmCMaxLength</td>
6583    <td>int</td>
6584  </tr>
6585  <tr>
6586    <td>XmNmodifyVerifyCallback</td>
6587    <td>XmCCallback</td>
6588    <td>(callback)</td>
6589  </tr>
6590  <tr>
6591    <td>XmNmotionVerifyCallback</td>
6592    <td>XmCCallback</td>
6593    <td>(callback)</td>
6594  </tr>
6595  <tr>
6596    <td>XmNpendingDelete</td>
6597    <td>XmCPendingDelete</td>
6598    <td>bool</td>
6599  </tr>
6600  <tr>
6601    <td>XmNresizeHeight</td>
6602    <td>XmCResizeHeight</td>
6603    <td>bool</td>
6604  </tr>
6605  <tr>
6606    <td>XmNresizeWidth</td>
6607    <td>XmCResizeWidth</td>
6608    <td>bool</td>
6609  </tr>
6610  <tr>
6611    <td>XmNrows</td>
6612    <td>XmCRows</td>
6613    <td>int</td>
6614  </tr>
6615  <tr>
6616    <td>XmNscrollHorizontal</td>
6617    <td>XmCScroll</td>
6618    <td>bool</td>
6619  </tr>
6620  <tr>
6621    <td>XmNscrollLeftSide</td>
6622    <td>XmCScrollSide</td>
6623    <td>bool</td>
6624  </tr>
6625  <tr>
6626    <td>XmNscrollTopSide</td>
6627    <td>XmCScrollSide</td>
6628    <td>bool</td>
6629  </tr>
6630  <tr>
6631    <td>XmNscrollVertical</td>
6632    <td>XmCScroll</td>
6633    <td>bool</td>
6634  </tr>
6635  <tr>
6636    <td>XmNselectThreshold</td>
6637    <td>XmCSelectThreshold</td>
6638    <td>int</td>
6639  </tr>
6640  <tr>
6641    <td>XmNselectionArray</td>
6642    <td>XmCSelectionArray</td>
6643    <td>XmTextScanType list</td>
6644  </tr>
6645  <tr>
6646    <td>XmNselectionArrayCount</td>
6647    <td>XmCSelectionArrayCount</td>
6648    <td>int</td>
6649  </tr>
6650  <tr>
6651    <td>XmNtopCharacter</td>
6652    <td>XmCTextPosition</td>
6653    <td>int</td>
6654  </tr>
6655  <tr>
6656    <td>XmNvalueChangedCallback</td>
6657    <td>XmCCallback</td>
6658    <td>(callback)</td>
6659  </tr>
6660  <tr>
6661    <td>XmNverifyBell</td>
6662    <td>XmCVerifyBell</td>
6663    <td>bool</td>
6664  </tr>
6665  <tr>
6666    <td>XmNwordWrap</td>
6667    <td>XmCWordWrap</td>
6668    <td>bool</td>
6669  </tr>
6670</table>
6671
6672<p>Note that XmNvalue is already declared of type int in the resource tables for XmScale
6673and XmScrollBar, and it cannot therefore appear in the table for XmText as a string. To
6674access this value you have to use the functions XmTextSetString and XmTextGetString
6675instead.</p>
6676
6677<p>&nbsp;</p>
6678
6679<h3><a name="3.37 XmTextField">3.37 XmTextField</a></h3>
6680
6681<table border="1">
6682  <tr>
6683    <td colspan="3" align="center">XmTextField Resources</td>
6684  </tr>
6685  <tr>
6686    <td><strong>Name</strong></td>
6687    <td><strong>Class</strong></td>
6688    <td><strong>Type</strong></td>
6689  </tr>
6690  <tr>
6691    <td>XmNactivateCallback</td>
6692    <td>XmCCallback</td>
6693    <td>(callback)</td>
6694  </tr>
6695  <tr>
6696    <td>XmNblinkRate</td>
6697    <td>XmCBlinkRate</td>
6698    <td>int</td>
6699  </tr>
6700  <tr>
6701    <td>XmNcolumns</td>
6702    <td>XmCColumns</td>
6703    <td>int</td>
6704  </tr>
6705  <tr>
6706    <td>XmNcursorPosition</td>
6707    <td>XmCCursorPosition</td>
6708    <td>int</td>
6709  </tr>
6710  <tr>
6711    <td>XmNcursorPositionVisible</td>
6712    <td>XmCCursorPositionVisible</td>
6713    <td>bool</td>
6714  </tr>
6715  <tr>
6716    <td>XmNeditable</td>
6717    <td>XmCEditable</td>
6718    <td>bool</td>
6719  </tr>
6720  <tr>
6721    <td>XmNfontList</td>
6722    <td>XmCFontList</td>
6723    <td>XFontStruct list</td>
6724  </tr>
6725  <tr>
6726    <td>XmNgainPrimaryCallback</td>
6727    <td>XmCCallback</td>
6728    <td>(callback)</td>
6729  </tr>
6730  <tr>
6731    <td>XmNlosePrimaryCallback</td>
6732    <td>XmCCallback</td>
6733    <td>(callback)</td>
6734  </tr>
6735  <tr>
6736    <td>XmNlosingFocusCallback</td>
6737    <td>XmCCallback</td>
6738    <td>(callback)</td>
6739  </tr>
6740  <tr>
6741    <td>XmNmarginHeight</td>
6742    <td>XmCMarginHeight</td>
6743    <td>int</td>
6744  </tr>
6745  <tr>
6746    <td>XmNmarginWidth</td>
6747    <td>XmCMarginWidth</td>
6748    <td>int</td>
6749  </tr>
6750  <tr>
6751    <td>XmNmaxLength</td>
6752    <td>XmCMaxLength</td>
6753    <td>int</td>
6754  </tr>
6755  <tr>
6756    <td>XmNmodifyVerifyCallback</td>
6757    <td>XmCCallback</td>
6758    <td>(callback)</td>
6759  </tr>
6760  <tr>
6761    <td>XmNmotionVerifyCallback</td>
6762    <td>XmCCallback</td>
6763    <td>(callback)</td>
6764  </tr>
6765  <tr>
6766    <td>XmNpendingDelete</td>
6767    <td>XmCPendingDelete</td>
6768    <td>bool</td>
6769  </tr>
6770  <tr>
6771    <td>XmNresizeWidth</td>
6772    <td>XmCResizeWidth</td>
6773    <td>bool</td>
6774  </tr>
6775  <tr>
6776    <td>XmNselectThreshold</td>
6777    <td>XmCSelectThreshold</td>
6778    <td>int</td>
6779  </tr>
6780  <tr>
6781    <td>XmNselectionArray</td>
6782    <td>XmCSelectionArray</td>
6783    <td>XmTextScanType list</td>
6784  </tr>
6785  <tr>
6786    <td>XmNselectionArrayCount</td>
6787    <td>XmCSelectionArrayCount</td>
6788    <td>int</td>
6789  </tr>
6790  <tr>
6791    <td>XmNvalueChangedCallback</td>
6792    <td>XmCCallback</td>
6793    <td>(callback)</td>
6794  </tr>
6795  <tr>
6796    <td>XmNverifyBell</td>
6797    <td>XmCVerifyBell</td>
6798    <td>bool</td>
6799  </tr>
6800</table>
6801
6802<p>Note that XmNvalue is already declared of type int in the resource tables for XmScale
6803and XmScrollBar, and it cannot therefore appear in the table for XmTextField as a string.
6804To access this value you have to use the functions XmTextSetString and XmTextGetString
6805instead.</p>
6806
6807<p>&nbsp;</p>
6808
6809<h3><a name="3.38 XmToggleButton">3.38 XmToggleButton</a></h3>
6810
6811<table border="1">
6812  <tr>
6813    <td colspan="3" align="center">XmToggleButtonResources</td>
6814  </tr>
6815  <tr>
6816    <td><strong>Name</strong></td>
6817    <td><strong>Class</strong></td>
6818    <td><strong>Type</strong></td>
6819  </tr>
6820  <tr>
6821    <td>XmNarmCallback</td>
6822    <td>XmCCallback</td>
6823    <td>(callback)</td>
6824  </tr>
6825  <tr>
6826    <td>XmNdisarmCallback</td>
6827    <td>XmCDisarmCallback</td>
6828    <td>(callback)</td>
6829  </tr>
6830  <tr>
6831    <td>XmNfillOnSelect</td>
6832    <td>XmCFillOnSelect</td>
6833    <td>bool</td>
6834  </tr>
6835  <tr>
6836    <td>XmNindicatorOn</td>
6837    <td>XmCIndicatorOn</td>
6838    <td>bool</td>
6839  </tr>
6840  <tr>
6841    <td>XmNindicatorSize</td>
6842    <td>XmCIndicatorSize</td>
6843    <td>int</td>
6844  </tr>
6845  <tr>
6846    <td>XmNindicatorType</td>
6847    <td>XmCIndicatorType</td>
6848    <td>XmIndicatorType</td>
6849  </tr>
6850  <tr>
6851    <td>XmNselectColor</td>
6852    <td>XmCSelectColor</td>
6853    <td>int</td>
6854  </tr>
6855  <tr>
6856    <td>XmNselectInsensitivePixmap</td>
6857    <td>XmCSelectInsensitivePixmap</td>
6858    <td>Drawable</td>
6859  </tr>
6860  <tr>
6861    <td>XmNselectPixmap</td>
6862    <td>XmCSelectPixmap</td>
6863    <td>Drawable</td>
6864  </tr>
6865  <tr>
6866    <td>XmNset</td>
6867    <td>XmCSet</td>
6868    <td>bool</td>
6869  </tr>
6870  <tr>
6871    <td>XmNspacing</td>
6872    <td>XmCSpacing</td>
6873    <td>int</td>
6874  </tr>
6875  <tr>
6876    <td>XmNvalueChangedCallback</td>
6877    <td>XmCCallback</td>
6878    <td>(callback)</td>
6879  </tr>
6880  <tr>
6881    <td>XmNvisibleWhen0fr</td>
6882    <td>XmCVisibleWhenOff</td>
6883    <td>bool</td>
6884  </tr>
6885</table>
6886
6887</body>
6888</html>
6889