Brief Motif 1.1.x Widget Reference


------------------------------------------------------------------------------
The Motif Widget Reference (Appendix J) from the book:
"Motif Programming: The Essentials...and More"
by Marshall Brain (brain@adm.csc.ncsu.edu).
Published by Digital Press, ISBN 1-55558-089-0.
To order the book, call 1-800-DIGITAL and ask for EY-J816E-DP.

Copyright 1992, by Digital Equipment Corp.

Version 1.0, February 6, 1992.
------------------------------------------------------------------------------

This file is a summarization of the Motif widget man pages and the Motif
Programmer's Reference for Motif version 1.1.x. This file contains the
names of all of the resources, callbacks and convenience functions for
all of the Motif widgets and many of the Xt widgets. Having this
information in a single text file makes it easy to search for or grep
different resources and callbacks. This file is also handy if your system
does not have the Motif man pages on line.
   The following copyright notice applies to this file:

	Copyright 1992, by Digital Equipment Corp.

You are free to copy and distribute this file for personal,
non-commercial uses provided that this notice appears in all
copies. There is no warranty, either expressed or implied,
supplied with any of the code or information found in
this file.

------------------------------------------------------------------------------

XmArrowButton
See Chapter 11. Also available as a gadget.

Description	A push button that displays an arrow rather than a label.
Class Pointer	xmArrowButtonWidgetClass
Class Name	XmArrowButton
Include File	
Superclass	XmPrimitive

Resources -
XmNarrowDirection	unsigned char	XmARROW_UP
XmNmultiClick		unsigned char	dynamic

Resource Descriptions -
XmNarrowDirection	Valid values: XmARROW_UP, XmARROW_DOWN, 
			XmARROW_LEFT, XmARROW_RIGHT.
XmNmultiClick		See multiClick resource for push button.

Callbacks -
XmNactivateCallback	XmArrowButtonCallbackStruct	XmCR_ACTIVATE
XmNarmCallback		XmArrowButtonCallbackStruct	XmCR_ARM
XmNdisarmCallback	XmArrowButtonCallbackStruct	XmCR_DISARM

Callback Descriptions -
XmNactivateCallback, 
XmNarmCallback,
XmNdisarmCallback	See push-button widget.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   int click_count;
} XmArrowButtonCallbackStruct;

Convenience Functions -
Widget XmCreateArrowButton(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateArrowButtonGadget(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmBulletinBoard
See Chapter 5, Chapter 13.

Description	A basic manager widget that lets you "tack on" other widgets
		at any position.
Class Pointer	xmBulletinBoardWidgetClass
Class Name	XmBulletinBoard
Include File	
Superclass	XmManager

Resources -
XmNallowOverlap		Boolean		True
XmNautoUnmanage		Boolean		True
XmNbuttonFontList	XmFontList	dynamic
XmNcancelButton		Window		NULL
XmNdefaultButton	Window		NULL
XmNdefaultPosition	Boolean		True
XmNdialogStyle		unsigned char	dynamic
XmNdialogTitle		XmString	NULL
XmNlabelFontList	XmFontList	dynamic
XmNmarginHeight		Dimension	10
XmNmarginWidth		Dimension	10
XmNnoResize		Boolean		False
XmNresizePolicy		unsigned char	XmRESIZE_ANY
XmNshadowType		unsigned char	XmSHADOW_OUT
XmNtextFontList		XmFontList	dynamic
XmNtextTranslations	XtTranslations	NULL

Resource Descriptions -
XmNallowOverlap		Determines whether children are allowed to overlap.
XmNautoUnmanage		If the bulletin board is in a dialog shell, then if a
			button within the bulletin board is activated, the 
			shell is unmanaged automatically if this resource is
			true. Must be set at widget creation.
XmNbuttonFontList	Determines the font for any buttons in the bulletin
			board. 
XmNcancelButton		Holds the widget value for the Cancel button.
XmNdefaultButton	Determines which button is the Default button.
XmNdefaultPosition	If true, automatically positions the bulletin board
			if it is within a dialog shell.
XmNdialogStyle		Possible values: XmDIALOG_SYSTEM_MODAL (system waits for
			user to answer dialog); 
			XmDIALOG_PRIMARY_APPLICATION_MODAL and
			XmDIALOG_APPLICATION_MODAL (user must answer dialog 
			before anything can happen in ancestors);
			XmDIALOG_FULL_APPLICATION_MODAL
			(application waits for user to
			answer dialog); XmDIALOG_MODELESS (for dialogs
			that coexist with application); XmDIALOG_WORK_AREA 
			(for bulletin boards not in a dialog shell).
XmNdialogTitle		Title in title bar of dialog shell.
XmNlabelFontList	Font list for labels in the bulletin board.
XmNmarginHeight		Margin used at top and bottom of dialog.
XmNmarginWidth		Margin used at left and right of dialog.
XmNnoResize		Determines if dialog shell around bulletin board can be
			resized. 
XmNresizePolicy		Possible values: XmRESIZE_NONE; XmRESIZE_ANY (grow or
			shrink); XmRESIZE_GROW (grow only)
XmNshadowType		Possible values: XmSHADOW_IN (shadow appears inset);
			XmSHADOW_OUT (shadow appears outset); 
			XmSHADOW_ETCHED_IN (double-line shadow inset); 
			XmSHADOW_ETCHED_OUT (double-line shadow outset).
XmNtextFontList		Font for child text widgets.
XmNtextTranslations	Translations added to text children.

Callbacks -
XmNfocusCallback	XmAnyCallbackStruct	XmCR_FOCUS
XmNmapCallback		XmAnyCallbackStruct	XmCR_MAP
XmNunmapCallback	XmAnyCallbackStruct	XmCR_UNMAP

Callback Descriptions -
XmNfocusCallback	Triggered when bulletin board accepts focus.
XmNmapCallback		If in a dialog shell, triggered when bulletin board is
			mapped.
XmNunmapCallback	If in a dialog shell, triggered when bulletin board is
			unmapped.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
} XmAnyCallbackStruct;

Convenience Functions -
XmCreateBulletinBoard(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
XmCreateBulletinBoardDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmCascadeButton
See Chapter 6. Also available as a gadget.

Description	A button that can call up a menu pane. Must have
		a rowColumn parent as part of a menu.
Class Pointer	xmCascadeButtonWidgetClass
Class Name	XmCascadeButton
Include File	
Superclass	XmLabel

Resources -
XmNcascadePixmap	Pixmap		dynamic
XmNmappingDelay		int		180
XmNsubMenuId		Widget		NULL

Resource Descriptions -
XmNcascadePixmap	Determines the pixmap displayed when the cascade button
			appears in a hierarchical menu. Default is a right
			arrow.
XmNmappingDelay		Time in milliseconds before submenu appears. Applies
			only if widget is in a pop-up or pull-down menu.
XmNsubMenuId		Widget that appears when this button is armed.

Callbacks -
XmNactivateCallback	XmAnyCallbackStruct	XmCR_ACTIVATE
XmNcascadingCallback	XmAnyCallbackStruct	XmCR_CASCADING

Callback Descriptions -
XmNactivateCallback	Triggered when button is activated.
XmNcascadingCallback	Called immediately before submenu is mapped.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
} XmAnyCallbackStruct;

Convenience Functions -
Widget XmCreateCascadeButton(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateCascadeButtonGadget(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmCascadeButtonHighlight(Widget cascadeButton,
    Boolean highlight);
void XmCascadeButtonGadgetHighlight(Widget cascadeButton,
    Boolean highlight);

----------------------------------------------


XmCommand
See Chapter 11.

Description	A widget that accepts commands from the user.
Class Pointer	xmCommandWidgetClass
Class Name	XmCommand
Include File	
Superclass	XmSelectionBox

Resources -
XmNcommand			XmString	""
XmNhistoryItems			XmStringTable	NULL
XmNhistoryItemCount		int		0
XmNhistoryMaxItems		int		100
XmNhistoryVisibleItemCount	int		8
XmNpromptString			XmString	dynamic

Resource Descriptions -
XmNcommand		Current command's text.
XmNhistoryItems		Values in the history list.
XmNhistoryItemCount	Numbers of values in historyItems.
XmNhistoryMaxItems	Maximum items in history list.
XmNhistoryVisible-	
ItemCount		Number of visible lines in history list.
XmNpromptString		Prompt displayed in the widget.

Callbacks -
XmNcommandChangedCallback	XmCommand	XmCR_COMMAND_ 
				CallbackStruct	CHANGED
XmNcommandEnteredCallback	XmCommand	XmCR_COMMAND_ 
				CallbackStruct	ENTERED

Callback Descriptions -
XmNcommandChangedCallback	Triggered each time user changes current
				command.
XmNcommandEnteredCallback	Triggered when user enters command.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   XmString value;
   int length;
} XmCommandCallbackStruct;

Convenience Functions -
Widget XmCreateCommand(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmCommandAppendValue(Widget widget,XmString command); 
void XmCommandError(Widget widget,XmString error); 
Widget XmCommandGetChild(Widget widget,unsigned char child); 
    Valid values for child: 
        XmDIALOG_COMMAND_TEXT
        XmDIALOG_PROMPT_LABEL
        XmDIALOG_HISTORY_LIST 
void XmCommandSetValue(Widget widget, XmString command); 

----------------------------------------------

XmDrawingArea
See Chapter 17.

Description	An area in which an application can draw using X drawing
		commands. Also acts like a bulletin board manager.
Class Pointer	xmDrawingAreaWidgetClass
Class Name	XmDrawingArea
Include File	
Superclass	XmManager

Resources -
XmNmarginHeight		Dimension	10
XmNmarginWidth		Dimension	10
XmNresizePolicy		unsigned char	XmRESIZE_ANY

Resource Descriptions -
XmNmarginHeight	Spacing between edge of drawing area and any child widget
		on top and bottom. Does not include drawn elements, such 
		as lines and arcs, which do not require margins.
XmNmarginWidth	Spacing between edge of drawing area and any child widget
		on left and right. Does not include drawn elements such 
		as lines and arcs, which do not require margins.
XmNresizePolicy	Possible values: XmRESIZE_NONE; XmRESIZE_ANY (grow or
		shrink); XmRESIZE_GROW (grow only).

Callbacks -
XmNexposeCallback	XmDrawingAreaCallbackStruct	XmCR_EXPOSE
XmNinputCallback	XmDrawingAreaCallbackStruct	XmCR_INPUT
XmNresizeCallback	XmDrawingAreaCallbackStruct	XmCR_RESIZE

Callback Descriptions -
XmNexposeCallback	Triggered when part of the widget is exposed.
XmNinputCallback	Triggered when the widget receives a keyboard
			or mouse event.
XmNresizeCallback	Triggered when the widget is resized.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   Window w;
} XmDrawingAreaCallbackStruct;

Convenience Functions -
Widget XmCreateDrawingArea(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmDrawnButton
See Chapter 11.

Description	A push button with a drawing area on its face.
Class Pointer	xmDrawnButtonWidgetClass
Class Name	XmDrawnButton
Include File	
Superclass	XmLabel

Resources -
XmNmultiClick		unsigned char	dynamic
XmNpushButtonEnabled	Boolean		False
XmNshadowType		unsigned char	XmSHADOW_ETCHED_IN

Resource Descriptions -
XmNmultiClick		See push-button widget.
XmNpushButtonEnabled	Enables and disables shadow drawing (the appearance
			of a button going in and out) when button is clicked.
XmNshadowType		See XmBulletinBoard.

Callbacks -
XmNactivateCallback	XmDrawnButtonCallbackStruct	XmCR_ACTIVATE
XmNarmCallback		XmDrawnButtonCallbackStruct	XmCR_ARM
XmNdisarmCallback	XmDrawnButtonCallbackStruct	XmCR_DISARM
XmNexposeCallback	XmDrawnButtonCallbackStruct	XmCR_EXPOSE
XmNresizeCallback	XmDrawnButtonCallbackStruct	XmCR_RESIZE

Callback Descriptions -
XmNactivateCallback,
XmNarmCallback,
XmNdisarmCallback	See push-button widget.
XmNexposeCallback	Triggered whenever part of the button is exposed.
XmNresizeCallback	Triggered whenever button is resized.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *evenT;
   Window w;
   int click_count;
} XmDrawnButtonCallbackStruct;

Convenience Functions -
Widget XmCreateDrawnButton(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmFileSelectionBox
See Chapter 7.

Description	A selection box for file and directory handling.
Class Pointer	xmFileSelectionBoxWidgetClass
Class Name	XmFileSelectionBox
Include File	
Superclass	XmSelectionBox

Resources -
XmNdirectory		 XmString	dynamic
XmNdirectoryValid	 Boolean	dynamic
XmNdirListItems		 XmStringTable	dynamic
XmNdirListItemCount	 int		dynamic
XmNdirListLabelString	 XmString	"Directories"
XmNdirMask		 XmString	dynamic
XmNdirSearchProc	 (*)()		default proc
XmNdirSpec		 XmString	dynamic
XmNfileListItems	 XmStringTable	dynamic
XmNfileListItemCount	 int		dynamic
XmNfileListLabelString	 XmString	"Files"
XmNfileSearchProc	 (*)()		default proc
XmNfileTypeMask 	 unsigned char	XmFILE_REGULAR
XmNfilterLabelString	 XmString	"Filter"
XmNlistUpdated		 Boolean	dynamic
XmNnoMatchString	 XmString	"[ ]"
XmNpattern		 XmString	dynamic
XmNqualifySearchDataProc (*)()	default proc

Resource Descriptions -
XmNdirectory		 Current directory being used. If NULL, then current
			 working directory.
XmNdirectoryValid	 Used by dirSearchProc. If true, dirSearchProc
			 can search the directory.
XmNdirListItems		 List of items in directory list.
XmNdirListItemCount	 Number of items in directory list.
XmNdirListLabelString	 String displayed above directory list.
XmNdirMask		 Mask that determines which files and directories are
			 displayed.
XmNdirSearchProc	 Custom directory search procedure that user specifies.
XmNdirSpec		 Full file path name, which replaces the resource
			 in the selection box ancestor.
XmNfileListItems	 List of names in the file list.
XmNfileListItemCount	 Number of items in the file list.
XmNfileListLabelString	 The label displayed over the file names.
XmNfileSearchProc	 Custom file search procedure that the user specifies.
XmNfileTypeMask		 Valid values: XmFILE_REGULAR (file list contains only
			 files); XmFILE_DIRECTORY (file list contains only 
			 directories); XmFILE_ANY_TYPE (file list contains 
			 both files and directories).
XmNfilterLabelString	 Label displayed over filter string.
XmNlistUpdated		 Set to true when search procedures update file lists.
XmNnoMatchString	 Label displayed in file list when file list is empty.
XmNpattern		 Filter pattern used to select files.
XmNqualifySearchDataProc Custom search procedure that the user specifies.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   XmString value;
   int length;
   XmString mask;
   int mask_length;
   XmString dir;
   int dir_length;
   XmString pattern;
   int pattern_length;
} XmFileSelectionBoxCallbackStruct;

Convenience Functions -
Widget XmCreateFileSelectionBox(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateFileSelectionDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmFileSelectionDoSearch(Widget w, XmString dirmask); 
Widget XmFileSelectionBoxGetChild(Widget w, unsigned char child); 
    Valid values for child:
        XmDIALOG_APPLY_BUTTON 
        XmDIALOG_CANCEL_BUTTON 
        XmDIALOG_DEFAULT_BUTTON 
        XmDIALOG_DIR_LIST 
        XmDIALOG_DIR_LIST_LABEL 
        XmDIALOG_FILTER_LABEL 
        XmDIALOG_FILTER_TEXT  
        XmDIALOG_HELP_BUTTON 
        XmDIALOG_LIST 
        XmDIALOG_LIST_LABEL  
        XmDIALOG_OK_BUTTON 
        XmDIALOG_SELECTION_LABEL 
        XmDIALOG_SEPARATOR 
        XmDIALOG_TEXT 
        XmDIALOG_WORK_AREA 

----------------------------------------------

XmForm
See Chapter 5.

Description	A manager widget that lets children attach themselves
		in various ways.
Class Pointer	xmFormWidgetClass
Class Name	XmForm
Include File	
Superclass	XmBulletinBoard

Resources -
XmNfractionBase	int	100
XmNhorizontalSpacing	Dimension	0
XmNrubberPositioning	Boolean	False
XmNverticalSpacing	Dimension	0

Resource Descriptions -
XmNfractionBase		The divisor used when attaching to a position. The
			default value of 100 makes attach positions behave 
			like percentages.
XmNhorizontalSpacing	Offset for right and left attachments.
XmNrubberPositioning	If false, top and left attachments default to 
			XmATTACH_FORM. If true, attachments default to
			XmATTACH_POSITION.
XmNverticalSpacing	Offset for top and bottom attachments.

Constrain Resources -
XmNbottomAttachment	unsigned char	XmATTACH_NONE
XmNleftAttachment	unsigned char	XmATTACH_NONE
XmNrightAttachment	unsigned char	XmATTACH_NONE
XmNtopAttachment	unsigned char	XmATTACH_NONE
XmNbottomWidget		Window	NULL
XmNleftWidget		Window	NULL
XmNrightWidget		Window	NULL
XmNtopWidget		Window	NULL
XmNbottomPosition	int	0
XmNleftPosition		int	0
XmNrightPosition	int	0
XmNtopPosition		int	0
XmNbottomOffset		int	0
XmNleftOffset		int	0
XmNrightOffset		int	0
XmNtopOffset		int	0
XmNresizable		Boolean	True

Constraint Resource Descriptions -
XmNbottomAttachment,
XmNleftAttachment,
XmNrightAttachment,
XmNtopAttachment	Valid values: XmATTACH_NONE (don't attach); 
			XmATTACH_FORM (attach to same side of form); 
			XmATTACH_OPPOSITE_FORM (attach to opposite side of 
			form); XmATTACH_WIDGET (attach specified side of 
			this widget to opposite side of specified widget); 
			XmATTACH_OPPOSITE_WIDGET (attach specified side of 
			this widget to same side of specified widget); 
			XmATTACH_POSITION (attach to specified position); 
			and XmATTACH_SELF (attach specified side of widget 
			to position proportional to size of widget divided 
			by form size).
XmNbottomOffset,
XmNleftOffset,
XmNrightOffset,
XmNtopOffset		Determines the offset between the side of the 
			widget and its attachment point.
XmNbottomPosition,
XmNleftPosition,
XmNrightPosition,
XmNtopPosition		Position used when attachment resource is set 
			to XmATTACH_POSITION.
XmNbottomWidget,
XmNleftWidget,
XmNrightWidget,
XmNtopWidget		Widget used when attachment resource is set to
			XmATTACH_WIDGET or XmATTACH_OPPOSITE_WIDGET.
XmNresizable		If set true, the child's resizing requests are
			granted when possible. 

Convenience Functions -
XmCreateForm(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
XmCreateFormDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmFrame
See Chapter 11.

Description	Frames the child widget.
Class Pointer	xmFrameWidgetClass
Class Name	XmFrame
Include File	
Superclass	XmManager

Resources -
XmNmarginWidth		Dimension	0
XmNmarginHeight		Dimension	0
XmNshadowType		unsigned char	dynamic

Resource Descriptions -
XmNmarginWidth		Margin to left and right of the frame.
XmNmarginHeight		Margin to top and bottom of frame.
XmNshadowType		See XmBulletinBoard.

Convenience Functions -
Widget XmCreateFrame(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmGadget
See Chapter 14.

Description	Basic object from which all gadgets are built.
Class Pointer	xmGadgetClass
Class Name	XmGadget
Include File	
Superclass	RectObj

Resources -
XmNHighlightOnEnter	Boolean			False
XmNhighlightThickness	Dimension		2
XmNnavigationType	XmNavigationType	XmNONE
XmNshadowThickness	Dimension		2
XmNtraversalOn		Boolean			True
XmNunitType		unsigned char		dynamic
XmNuserData		Pointer			NULL

Resource Descriptions -
XmNhighlightOnEnter	When true, gadget highlights when cursor enters it.
XmNhighlightThickness	Thickness of highlighting rectangle.
XmNnavigationType	Valid values: XmNONE, XmTAB_GROUP, XmSTICKY_TAB_GROUP,
			XmEXCLUSIVE_TAB_GROUP.
XmNshadowThickness	Size of border shadow.
XmNtraversalOn		When true, gadget can be traversed.
XmNunitType		Valid values: XmPIXELS, Xm100TH_MILLIMETERS, 
			Xm1000TH_INCHES, XM100TH_POINTS, Xm100TH_FONT_UNITS. 
			Specifies how to interpret sizing requests.
XmNuserData		Pointer to user data. 

----------------------------------------------

XmLabel
See Chapter 3. Also available as a gadget.

Description	Displays a compound string or pixmap.
Class Pointer	xmLabelWidgetClass
Class Name	XmLabel
Include File	
Superclass	XmPrimitive

Resources -
XmNaccelerator		String		NULL
XmNacceleratorText	XmString	NULL
XmNalignment		unsigned char	XmALIGNMENT_CENTER
XmNfontList    		XmFontList	dynamic
XmNlabelInsensitive-		
Pixmap			Pixmap		XmUNSPECIFIED_PIXMAP
XmNlabelPixmap		Pixmap		XmUNSPECIFIED_PIXMAP
XmNlabelString		XmString	dynamic
XmNlabelType		unsigned char	XmSTRING
XmNmarginBottom		Dimension	0
XmNmarginHeight		Dimension	2
XmNmarginLeft		Dimension	0
XmNmarginRight		Dimension	0
XmNmarginTop		Dimension	0
XmNmarginWidth		Dimension	2
XmNmnemonic		KeySym	NULL
XmNmnemonicCharSet	String	dynamic
XmNrecomputeSize	Boolean	True
XmNstringDirection	XmStringDirection	dynamic

Resource Descriptions -
XmNaccelerator		The accelerator character to use when the label is part
			of a push button or a toggle button in a menu.
XmNacceleratorText	Text that tells the user what the accelerator is.
XmNalignment		Alignment of string in the label. Valid values:
			XmALIGNMENT_BEGINNING, XmALIGNMENT_CENTER, 
			and XmALIGNMENT_END.
XmNfontList		Font of labelString.
XmNlabelInsensitive-
Pixmap			Pixmap used if label is insensitive and contains
			a pixmap (labelType=XmPIXMAP).
XmNlabelPixmap		Pixmap used if label is sensitive and contains a pixmap
			(labelType=XmPIXMAP).
XmNlabelString		String displayed in the label if labelType=XmSTRING.
XmNlabelType		Specifies whether label displays a string (XmSTRING) 
			or a pixmap (XmPIXMAP).
XmNmarginBottom		Space below labelString.
XmNmarginHeight		Height of margin above and below labelstring.
XmNmarginLeft		Space to the left of labelString.
XmNmarginRight		Space to the right of labelString.
XmNmarginTop		Space above labelString.
XmNmarginWidth		Width of margin to left and right of labelString.
XmNmnemonic		Specifies the mnemonic character that activates the 
			button when the label is part of a push button or 
			toggle button in a menu.
XmNmnemonicCharSet	Mnemonic's charset.
XmNrecomputeSize	When true, any change to the label automatically 
			readjusts its size. When false, no readjustment occurs.
XmNstringDirection	Determines direction in which string is drawn. Valid
			values: XmSTRING_DIRECTION_L_TO_R and
			XmSTRING_DIRECTION_R_TO_L.

Convenience Functions -
Widget XmCreateLabel(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateLabelGadget(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmList
See Chapter 11.

Description	Lets the user choose single or multiple items from a list.
Class Pointer	xmListWidgetClass
Class Name	XmList
Include File	
Superclass	XmPrimitive

Resources -
XmNautomaticSelection		Boolean			False
XmNdoubleClickInterval		int			dynamic
XmNfontList			XmFontList		dynamic
XmNitemCount			int			0
XmNitems			XmStringTable		NULL
XmNlistMarginHeight		Dimension		0
XmNlistMarginWidth		Dimension		0
XmNlistSizePolicy		unsigned char		XmVARIABLE
XmNlistSpacing			Dimension		0
XmNscrollBarDisplayPolicy	unsigned char		XmAS_NEEDED
XmNselectedItemCount		int			0
XmNselectedItems		XmStringTable		NULL
XmNselectionPolicy		unsigned char		XmBROWSE_SELECT
XmNstringDirection		XmStringDirection	dynamic
XmNtopItemPosition		int			1
XmNvisibleItemCount		int			1

Resource Descriptions -
XmNautomaticSelection		If true, then a selection callback is triggered
				when an item is armed (in browse and
				extended modes). When false, item must be 
				activated to get callback.
XmNdoubleClickInterval		Time (in milliseconds) within which second click
				must occur to be interpreted as a double-click.
XmNfontList			Font for items in list.
XmNitemCount			Number of items currently in list.
XmNitems			XmString items held in the list.
XmNlistMarginHeight,
XmNlistMarginWidth		Margins around list.
XmNlistSizePolicy		Possible values: XmCONSTANT, XmVARIABLE, and
				XmRESIZE_IF_POSSIBLE. Determines what 
				happens when a new item in the list
				forces the list widget to resize horizontally.
				Must be set at creation.
XmNlistSpacing			Space between items.
XmNscrollBarDisplayPolicy	Possible values: XmAS_NEEDED and XmSTATIC.
XmNselectedItemCount		Number of selected items.
XmNselectedItems		XmString array holding selected items.
XmNselectionPolicy		Possible values: XmSINGLE_SELECT, 
				XmMULTIPLE_SELECT,
				XmEXTENDED_SELECT, and XmBROWSE_SELECT.
XmNstringDirection		Possible values: XmSTRING_DIRECTION_L_TO_R and
				XmSTRING_DIRECTION_R_TO_L.
XmNtopItemPosition		Holds the number of the item at the top of
				the list displayed by the widget.
XmNvisibleItemCount		Maximum number of items visible at once.

Callbacks -
XmNbrowseSelectionCallback	XmListCallbackStruct	XmCR_BROWSE_SELECT
XmNdefaultActionCallback	XmListCallbackStruct	XmCR_DEFAULT_ACTION
XmNextendedSelectionCallback	XmListCallbackStruct	XmCR_EXTENDED_SELECT
XmNmultipleSelectionCallback	XmListCallbackStruct	XmCR_MULTIPLE_SELECT
XmNsingleSelectionCallback	XmListCallbackStruct	XmCR_SINGLE_SELECT

Callback Descriptions -
XmNbrowseSelectionCallback	Triggered in browse mode when a user selects
				an item.
XmNdefaultActionCallback	Triggered when user double-clicks an item.
XmNextendedSelectionCallback	Triggered when user selects an item in extended
				selection mode.
XmNmultipleSelectionCallback	Triggered when user selects an item in multiple
				selection mode.
XmNsingleSelectionCallback	Triggered when user selects an item in single
				selection mode.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   XmString item;
   int item_length;
   int item_position;
   XmString *selected_items;
   int selected_item_count;
   int *selected_item_positions;
   int selection_type;
} XmListCallbackStruct;

Convenience Functions -
Widget XmCreateList(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateScrolledList(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmListAddItem(Widget w, XmString item, int position);
void XmListAddItems(Widget w, XmString *items, int item_count, 
    int position);
void XmListAddItemUnselected(Widget w, XmString item, int position);
void XmListDeleteAllItems(Widget w);
void XmListDeleteItem(Widget w,XmString item);
void XmListDeleteItems(Widget w, XmString *items, int item_count);
void XmListDeleteItemsPos(Widget w, int item_count, int position);
void XmListDeletePos(Widget w, int position);
void XmListDeselectAllItems(Widget w);
void XmListDeselectItem(Widget w, XmString item);
void XmListDeselectPos(Widget w, int position);
Boolean XmListGetMatchPos(Widget w, XmString item, int **pos_list,
    int *pos_count);
Boolean XmListGetSelectedPos(Widget w, int **pos_list, int *pos_count);
Boolean XmListItemExists(Widget w, XmString item);
int XmListItemPos(Widget w, XmString item);
void XmListReplaceItems(Widget w, XmString *old_items, int item_count,
    XmString *new_items);
void XmListReplaceItemsPos(Widget w, XmString *new_items, int item_count,
    int position);
void XmListSelectItem(Widget w, XmString item, Boolean notify);
void XmListSelectPos(Widget w, int position, Boolean notify);
void XmListSetAddMode(Widget w, Boolean mode);
void XmListSetBottomItem(Widget w, XmString item);
void XmListSetBottomPos(Widget w, int position);
void XmListSetHorizPos(Widget w, int position);
void XmListSetItem(Widget w, XmString item);
void XmListSetPos(Widget w, int position);

----------------------------------------------

XmMainWindow
See Chapter 11.

Description	A widget that builds a main application window.
Class Pointer	xmMainWindowWidgetClass
Class Name	XmMainWindow
Include File	
Superclass	XmScrolledWindow

Resources -
XmNcommandWindow		Window		NULL
XmNcommandWindowLocation	unsigned char	XmCOMMAND_ABOVE_WORKSPACE
XmNmainWindowMarginHeight	Dimension	0
XmNmainWindowMarginWidth	Dimension	0
XmNmenuBar			Window		NULL
XmNmessageWindow		Window		NULL
XmNshowSeparator		Boolean		False

Resource Descriptions -
XmNcommandWindow		The widget child that is the command window.
XmNcommandWindowLocation	Possible values: XmCOMMAND_ABOVE_WORKSPACE and
				XmCOMMAND_BELOW_WORKSPACE.
XmNmainWindowMarginHeight, 
XmNmainWindowMarginWidth	Margins around main window.
XmNmenuBar			The widget child that is the menu bar.
XmNmessageWindow		The widget child that is the message area.
XmNshowSeparator		If true, displays separators between the parts.

Convenience Functions -
Widget XmCreateMainWindow(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmMainWindowSep1(Widget w); 
Widget XmMainWindowSep2(Widget w); 
Widget XmMainWindowSep3(Widget w); 
void XmMainWindowSetAreas(Widget w, Widget menu_bar, 
    Widget command_window, Widget horizontal_scrollbar, 
    Widget vertical_scrollbar, Widget work_area); 

----------------------------------------------

XmManager

Description	A widget type that builds managers of other widgets (for
example, rowColumn, form, and so on).
Class Pointer	xmManagerWidgetClass
Class Name	XmManager
Include File	
Superclass	Constraint

Resources -
XmNbottomShadowColor	Pixel			dynamic
XmNbottomShadowPixmap	Pixmap			XmUNSPECIFIED_PIXMAP
XmNforeground		Pixel			dynamic
XmNhighlightColor	Pixel			dynamic
XmNhighlightPixmap	Pixmap			dynamic
XmNnavigationType	XmNavigationType	XmTAB_GROUP
XmNshadowThickness	Dimension		0
XmNstringDirection	XmStringDirection	dynamic
XmNtopShadowColor	Pixel			dynamic
XmNtopShadowPixmap	Pixmap			dynamic
XmNtraversalOn		Boolean			True
XmNunitType		unsigned char		dynamic
XmNuserData		Pointer			NULL

Resource Descriptions -
XmNbottomShadowColor	Color of border shadow.
XmNbottomShadowPixmap	Pixmap for border shadow.
XmNforeground		Foreground color.
XmNhighlightColor	Highlight rectangle color.
XmNhighlightPixmap	Highlight rectangle pixmap.
XmNnavigationType	Valid values: XmNONE, XmTAB_GROUP, XmSTICKY_TAB_GROUP,
			and XmEXCLUSIVE_TAB_GROUP.
XmNshadowThickness	Border shadow thickness.
XmNstringDirection	Possible values: XmSTRING_DIRECTION_L_TO_R and
			XmSTRING_DIRECTION_R_TO_L.
XmNtopShadowColor	Color of border shadow.
XmNtopShadowPixmap	Pixmap for border shadow.
XmNtraversalOn		Transversal activation.
XmNunitType		Valid values: XmPIXELS, Xm100TH_MILLIMETERS, 
			Xm1000TH_INCHES, XM100TH_POINTS, and 
			Xm100TH_FONT_UNITS. Specifies how to interpret
			sizing requests.
XmNuserData		A pointer to anything.

Callbacks -
XmNhelpCallback		XmAnyCallbackStruct	XmCR_HELP

Callback Descriptions -
XmNhelpCallback		Activated when user presses Help key.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
} XmAnyCallbackStruct;

----------------------------------------------

XmMenuShell

Description	A widget designed to handle menus.
Class Pointer	xmMenuShellWidgetClass
Class Name	XmMenuShell
Include File	
Superclass	OverrideShell

Resources -
XmNdefaultFontList	XmFontList	dynamic

Resource Descriptions -
XmNdefaultFontList	Font for any text, label, or button widget held in the
			menu, unless the child widget specifies a font.

----------------------------------------------

XmMessageBox
See Chapter 7.

Description	A widget that displays messages, yes/no questions, and so on
to the user.
Class Pointer	xmMessageBoxWidgetClass
Class Name	XmMessageBox
Include File	
Superclass	XmBulletinBoard

Resources -
XmNcancelLabelString	XmString	"Cancel"
XmNdefaultButtonType	unsigned char	XmDIALOG_OK_BUTTON
XmNdialogType		unsigned char	XmDIALOG_MESSAGE
XmNhelpLabelString	XmString	"Help"
XmNmessageAlignment	unsigned char	XmALIGNMENT_BEGINNING
XmNmessageString	XmString	""
XmNminimizeButton	Boolean		False
XmNokLabelString	XmString	"OK"
XmNsymbolPixmap	Pixmap	dynamic

Resource Descriptions -
XmNcancelLabelString	String on cancel button.
XmNdefaultButtonType	Possible values: XmDIALOG_CANCEL_BUTTON,
			XmDIALOG_OK_BUTTON, and XmDIALOG_HELP_BUTTON.
			Determines which button is the default.
XmNdialogType		Possible values: XmDIALOG_ERROR, XmDIALOG_INFORMATION,
			XmDIALOG_MESSAGE, XmDIALOG_QUESTION, XmDIALOG_WARNING,
			and XmDIALOG_WORKING.
XmNhelpLabelString	String on Help button.
XmNmessageAlignment	Possible values: XmALIGNMENT_BEGINNING,
			XmALIGNMENT_CENTER, and XmALIGNMENT_END. Alignment
			of message.
XmNmessageString	String displayed by the message box.
XmNminimizeButtons	If false, buttons are all the same size as the largest
button displayed. 	If true, they take on their minimum sizes.
XmNokLabelString	String on OK button.
XmNsymbolPixmap		Pixmap used for icon in message box.

Callbacks -
XmNcancelCallback	XmAnyCallbackStruct	XmCR_CANCEL
XmNokCallback		XmAnyCallbackStruct	XmCR_OK

Callback Descriptions -
XmNcancelCallback	Triggered when user clicks Cancel button.
XmNokCallback		Triggered when user clicks OK button.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
} XmAnyCallbackStruct;

Convenience Functions -
Widget XmCreateMessageBox(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmMessageBoxGetChild(Widget w, unsigned char child); 
    Valid values for child:
        XmDIALOG_CANCEL_BUTTON 
        XmDIALOG_DEFAULT_BUTTON 
        XmDIALOG_HELP_BUTTON 
        XmDIALOG_MESSAGE_LABEL 
        XmDIALOG_OK_BUTTON 
        XmDIALOG_SEPARATOR 
        XmDIALOG_SYMBOL_LABEL 
Widget XmCreateMessageDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateErrorDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateInformationDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateQuestionDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateWarningDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateWorkingDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmPanedWindow
See Chapter 11

Description	A manager widget that places multiple widgets, separated
		by draggable sashes, in a single window.
Class Pointer	xmPanedWindowWidgetClass
Class Name	XmPanedWindow
Include File	
Superclass	XmManager

Resources -
XmNmarginHeight		Dimension	3
XmNmarginWidth		Dimension	3
XmNrefigureMode		Boolean		True
XmNsashHeight		Dimension	10
XmNsashIndent		Position	-10
XmNsashShadowThickness	Dimension	dynamic
XmNsashWidth		Dimension	10
XmNseparatorOn		Boolean		True
XmNspacing		Dimension	8

Resource Descriptions -
XmNmarginHeight,
XmNmarginWidth		Margin between widget and its children.
			XmNrefigureMode	When true, changes to panes affect
			the children immediately.
XmNsashHeight		Height of sash.
XmNsashIndent		Spacing between sash and window.
XmNsashShadowThickness	Thickness of shadow on sash.
XmNsashWidth		Width of sash.
XmNseparatorOn		When true, separators appear between panes.
XmNspacing		Spacing between panes.

Constraint Resources -
XmNallowResize		Boolean		False
XmNpaneMaximum		Dimension	1000
XmNpaneMinimum		Dimension	1
XmNskipAdjust		Boolean		False

Constraint Resource Descriptions -
XmNallowResize		When true, pane tries to follow size of child. When
			false, children cannot resize themselves.
XmNpaneMaximum		Maximum size of pane.
XmNpaneMinimum		Minimum size of pane.
XmNskipAdjust		When true, pane will not be adjusted.

Convenience Functions -
Widget XmCreatePanedWindow(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmPrimitive
See Chapter 3.

Description	The widget from which all simple Motif widgets are built. All
		simple Motif widgets inherit these resources.
Class Pointer	xmPrimitiveWidgetClass
Class Name	XmPrimitive
Include File	
Superclass	Core

Resources -
XmNbottomShadowColor	Pixel		dynamic
XmNbottomShadowPixmap	Pixmap		XmUNSPECIFIED_PIXMAP
XmNforeground		Pixel		dynamic
XmNhighlightColor	Pixel		dynamic
XmNhighlightOnEnter	Boolean		False
XmNhighlightPixmap	Pixmap		dynamic
XmNhighlightThickness	Dimension	2
XmNnavigationType	unsigned char	XmNONE
XmNshadowThickness	Dimension	2
XmNtopShadowColor	Pixel		dynamic
XmNtopShadowPixmap	Pixmap		dynamic
XmNtraversalOn		Boolean		True
XmNunitType		unsigned char	dynamic
XmNuserData		Pointer		NULL

Resource Descriptions -
XmNbottomShadowColor	Color of border shadow.
XmNbottomShadowPixmap	Pixmap for border shadow.
XmNforeground		Foreground color.
XmNhighlightColor	Highlight color.
XmNhighlightOnEnter	If true, highlight appears when cursor enters widget.
XmNhighlightPixmap	Highlight pixmap.
XmNhighlightThickness	Highlight thickness.
XmNnavigationType	See XmManager widget.
XmNshadowThickness	Border shadow thickness.
XmNtopShadowColor	Color of border shadow.
XmNtopShadowPixmap	Pixmap for border shadow.
XmNtraversalOn		See XmManager widget.
XmNunitType		See XmManager widget.
XmNuserData		A pointer to anything.

Callbacks -
XmNhelpCallback	XmAnyCallbackStruct	XmCR_HELP

Callback Descriptions -
XmNhelpCallback	Activated when user presses Help button.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
} XmAnyCallbackStruct;

----------------------------------------------

XmPushButton
See Chapter 4. Also available as a gadget.

Description	Lets user issue a command by clicking a push button.
Class Pointer	xmPushButtonWidgetClass
Class Name	XmPushButton
Include File	
Superclass	XmLabel

Resources -
XmNarmColor		Pixel		dynamic
XmNarmPixmap		Pixmap		XmUNSPECIFIED_PIXMAP
XmNdefaultButton-
ShadowThickness 	Dimension	0
XmNfillOnArm		Boolean		True
XmNmultiClick		unsigned char	dynamic
XmNshowAsDefault	Dimension	0

Resource Descriptions -
XmNarmColor		Color of button when armed.
XmNarmPixmap		If labelType inherited from label widget is XmPIXMAP,
			this pixmap appears on the button when armed.
XmNdefaultButton-	
ShadowThickness		The thickness of the border around the default button.
XmNfillOnArm		When true, the button fills when armed. When false,
			only shadow borders change appearance when armed.
XmNmultiClick		Possible values: XmMULTICLICK_DISCARD and
			XmMULTICLICK_KEEP. If you use DISCARD and the program
			receives a second click within the
			multiclick time, the second click is ignored.
XmNshowAsDefault	Any value greater than 0 marks the button as the
			default button.

Callbacks -
XmNactivateCallback	XmPushButtonCallbackStruct	XmCR_ACTIVATE
XmNarmCallback		XmPushButtonCallbackStruct	XmCR_ARM
XmNdisarmCallback	XmPushButtonCallbackStruct	XmCR_DISARM

Callback Descriptions -
XmNactivateCallback	Called when button is successfully activated.
XmNarmCallback		Called when button is armed.
XmNdisarmCallback	Called when button is disarmed.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   int click_count;
} XmPushButtonCallbackStruct;

Convenience Functions -
Widget XmCreatePushButton(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreatePushButtonGadget(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmRowColumn
See Chapter 5.

Description	A manager widget that automatically arranges its children
		in rows and columns.
Class Pointer	xmRowColumnWidgetClass
Class Name	XmRowColumn
Include File	
Superclass	XmManager

Resources -
XmNadjustLast		Boolean		True
XmNadjustMargin		Boolean		True
XmNentryAlignment	unsigned char	XmALIGNMENT_BEGINNING
XmNentryBorder		Dimension	0
XmNentryClass		WidgetClass	dynamic
XmNisAligned		Boolean		True
XmNisHomogeneous	Boolean		dynamic
XmNlabelString		XmString	NULL
XmNmarginHeight		Dimension	dynamic
XmNmarginWidth		Dimension	dynamic
XmNmenuAccelerator	String		dynamic
XmNmenuHelpWidget	Widget		NULL
XmNmenuHistory		Widget		NULL
XmNmenuPost		String		NULL
XmNmnemonic		KeySym		NULL
XmNmnemonicCharSet	String		dynamic
XmNnumColumns		short		1
XmNorientation		unsigned char	dynamic
XmNpacking		unsigned char	dynamic
XmNpopupEnabled		Boolean		True
XmNradioAlwaysOne	Boolean		True
XmNradioBehavior	Boolean		False
XmNresizeHeight		Boolean		True
XmNresizeWidth		Boolean		True
XmNrowColumnType	unsigned char	XmWORK_AREA
XmNspacing		Dimension	dynamic
XmNsubMenuId		Widget		NULL
XmNwhichButton		unsigned int	dynamic

Resource Descriptions -
XmNadjustLast		When true, adjusts last widget in row or column to
			end of RowColumn widget. When false, does not adjust
			last widget.
XmNadjustMargin		When true, inner margins for all children of the 
			RowColumn have the same value.
XmNentryAlignment	Possible values: XmALIGNMENT_BEGINNING,
			XmALIGNMENT_CENTER, and XmALIGNMENT_END. If
			XmNisAligned is true, all label widgets use this
			value for their alignment resource.
XmNentryBorder		Gives all children the same border. Disabled if set 
			to 0.
XmNentryClass		If XmNisHomogeneous is true, this resource specifies
			the allowed class.
XmNisAligned		If true, any child widget that is a label uses the
			alignment specified in XmNentryAlignment.
XmNisHomogeneous	If true, RowColumn forces all children to be of the type
			specified in XmNentryClass.
XmNlabelString		If XmNrowColumnType is set to XmMENU_OPTION, this
			string is displayed to the side of the selection area.
XmNmarginHeight		Determines margin between RowColumn and its children at
			the top and bottom of each column.
XmNmarginWidth		Determines margin between RowColumn and its children to
			the left and right of each row.
XmNmenuAccelerator	If RowColumn is a pop-up menu or a menu bar, this key
			activates the menu.
XmNmenuHelpWidget	If RowColumn is a menu bar and this resource is set to
			a cascade button widget, the cascade button specified
			appears at the far right of the menu bar.
XmNmenuHistory		Holds the widget ID of the last child activated.
XmNmenuPost		Determines which type of event activates the menu
			(that is, which button on the mouse activates a pop-up).
XmNmnemonic		If type is XmMENU_OPTION, holds the menu's mnemonic
			character.
XmNmnemonicCharSet	Character set for XmNmnemonic.
XmNnumColumns		Indicates the preferred number of columns or rows,
			depending on the orientation, used to arrange the
			children. XmNpacking must be XmPACK_COLUMN.
XmNorientation		Possible values: XmVERTICAL and XmHORIZONTAL.
XmNpacking		Possible values: XmPACK_TIGHT (packs as tight as
			possible, using minimum sizes); XmPACK_COLUMN (places
			all children in boxes of the same size); or XmPACK_NONE
			(reverts to bulletin board behavior, with x
			and y resources controlling placement).
XmNpopupEnabled		Allows pop-up behavior.
XmNradioAlwaysOne	Forces one toggle in a radio box always to be on.
XmNradioBehavior	Makes all of the toggle children have radio box
			behavior.
XmNresizeHeight,
XmNresizeWidth		When true, changes to widget or children
			cause the widget to resize.
XmNrowColumnType	Valid values: XmMENU_BAR, XmMENU_PULLDOWN, XmMENU_POPUP,
			XmMENU_OPTION, and XmWORK_AREA (the default).
XmNspacing		Spacing between children.
XmNsubMenuId		The rowColumnType resource must be set to XmMENU_OPTION.
			Determines which menu is activated.
XmNwhichButton		Determines which mouse button activates a pop-up. This
			resource is obsolete; use XmNmenuPost instead.

Callbacks -
XmNentryCallback	XmRowColumnCallbackStruct	XmCR_ACTIVATE
XmNmapCallback		XmRowColumnCallbackStruct	XmCR_MAP
XmNunmapCallback	XmRowColumnCallbackStruct	XmCR_UNMAP

Callback Descriptions -
XmNentryCallback	Remaps a widget's XmNactivateCallback or
			XmNvalueChangedCallback to the RowColumn's entry
			callback. Must be set before creating children.
XmNmapCallback		Activated when RowColumn is mapped.
XmNUnmapCallback	Activated when RowColumn is unmapped.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   Widget widget;
   char *data;
   char *callbackstruct;
} XmRowColumnCallbackStruct;

Convenience Functions -
Widget XmCreateRowColumn(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

Related convenience functions:
Widget XmCreateMenuBar(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateOptionMenu(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreatePopupMenu(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreatePulldownMenu(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateRadioBox(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSimpleCheckBox(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSimpleMenuBar(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSimpleOptionMenu(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSimplePopupMenu(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSimplePulldownMenu(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSimpleRadioBox(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateWorkArea(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Cursor XmGetMenuCursor(Display *display);
Widget XmGetPostedFromWidget(widget menu);
void XmMenuPosition(Widget menu,XmButtonPressedEvent *event);
Widget XmOptionButtonGadget(Widget option_menu);
Widget XmOptionLabelGadget(Widget option_menu);
void XmSetMenuCursor(Display *display, Cursor cursor);

----------------------------------------------

XmScale
See Chapter 4.

Description	Creates a slider that lets users change a value.
Class Pointer	xmScaleWidgetClass
Class Name	XmScale
Include File	
Superclass	XmManager

Resources -
XmNdecimalPoints	short		0
XmNfontList		XmFontList	dynamic
XmNhighlightOnEnter	Boolean		False
XmNhighlightThickness	Dimension	2
XmNmaximum		int		100
XmNminimum		int		0
XmNorientation		unsigned char	XmVERTICAL
XmNprocessingDirection	unsigned char	dynamic
XmNscaleHeight		Dimension	0
XmNscaleMultiple	int		dynamic
XmNscaleWidth		Dimension	0
XmNshowValue		Boolean		False
XmNtitleString		XmString	NULL
XmNvalue		int		0

Resource Descriptions -
XmNdecimalPoints	Location of decimal point from the right.
XmNfontList		Font of title.
XmNhighlightOnEnter	When true, widget highlights when cursor enters it.
XmNhighlightThickness	Thickness of highlight.
XmNmaximum		Maximum value of slider.
XmNminimum		Minimum value of slider.
XmNorientation		Valid values: XmVERTICAL and XmHORIZONTAL.
XmNprocessingDirection	Valid values: XmMAX_ON_TOP, XmMAX_ON_BOTTOM,
			XmMAX_ON_LEFT, and XmMAX_ON_RIGHT.
XmNscaleHeight		Height of slider.
XmNscaleMultiple	Amount slider moves when clicking in trough.
			(XmNmaximum-XmNminimum)/10 is the default.
XmNscaleWidth		Width of slider.
XmNshowValue		When true, creates a label that displays the current
			value.
XmNtitleString		Message displayed above slider.
XmNvalue		Holds current value of slider.

Callbacks -
XmNdragCallback		XmScaleCallbackStruct	XmCR_DRAG
XmNvalueChangedCallback	XmScaleCallbackStruct	XmCR_VALUE_CHANGED

Callback Descriptions -
XmNdragCallback		Triggered each time a change occurs as slider is
			dragged.
XmNvalueChangedCallback	Triggered when value changes.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   int value;
} XmScaleCallbackStruct;

Convenience Functions -
Widget XmCreateScale(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmScaleGetValue(Widget w, int *value); 
void XmScaleSetValue(Widget w, int value); 

----------------------------------------------

XmScrollBar
See Chapter 11.

Description	Implements a Motif-style scroll bar.
Class Pointer	xmScrollBarWidgetClass
Class Name	XmScrollBar
Include File	
Superclass	XmPrimitive

Resources -
XmNincrement		int		1
XmNinitialDelay		int		250
XmNmaximum		int		100
XmNminimum		int		0
XmNorientation		unsigned char	XmVERTICAL
XmNpageIncrement	int		10
XmNprocessingDirection	unsigned char	dynamic
XmNrepeatDelay		int		50
XmNshowArrows		Boolean		True
XmNsliderSize		int		dynamic
XmNtroughColor		Pixel		dynamic
XmNvalue		int		0

Resource Descriptions -
XmNincrement		Amount value changes when user clicks arrow of the
			scroll bar.
XmNinitialDelay		Milliseconds of delay before repetition starts when
			user clicks arrow or shaft.
XmNmaximum		Maximum value of scroll bar.
XmNminimum		Minimum value of scroll bar.
XmNorientation		Valid values: XmVERTICAL and XmHORIZONTAL.
XmNpageIncrement	Amount value changes when user clicks shaft of the
			scroll bar.
XmNprocessingDirection	See scale widget.
XmNrepeatDelay		Milliseconds between repetitions.
XmNshowArrows		Determines if scroll bar's arrows are visible.
XmNsliderSize		Size of the slider.
XmNtroughColor		Color of shaft.
XmNvalue		Current value of the scroll bar.

Callbacks -
XmNdecrementCallback	 XmScrollBarCallbackStruct	XmCR_DECREMENT
XmNdragCallback		 XmScrollBarCallbackStruct	XmCR_DRAG
XmNincrementCallback	 XmScrollBarCallbackStruct	XmCR_INCREMENT
XmNpageDecrementCallback XmScrollBarCallbackStruct	XmCR_PAGE_DECREMENT
XmNpageIncrementCallback XmScrollBarCallbackStruct	XmCR_PAGE_INCREMENT
XmNtoBottomCallback	 XmScrollBarCallbackStruct	XmCR_TO_BOTTOM
XmNtoTopCallback	 XmScrollBarCallbackStruct	XmCR_TO_TOP
XmNvalueChangedCallback	 XmScrollBarCallbackStruct	XmCR_VALUE_CHANGED

Callback Descriptions -
XmNdecrementCallback	 Triggered when scroll bar value decreases by one
			 increment.
XmNdragCallback		 Triggered each time value changes when user drags
			 scroll bar.
XmNincrementCallback	 Triggered when scroll bar value increases by one
			 increment.
XmNpageDecrementCallback Triggered when user clicks to move 
			 scroll bar back by one page.
XmNpageIncrementCallback Triggered when user clicks to advance 
			 scroll bar by a page.
XmNtoTopCallback,
XmNtoBottomCallback	 Triggered when the slider reaches the top or the 
			 bottom.
XmNvalueChangedCallback	 Triggered each time XmNvalue changes.
	

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   int value;
   int pixel;
} XmScrollBarCallbackStruct;

Convenience Functions -
Widget XmCreateScrollBar(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmScrollBarGetValues(Widget w, int *value, int *slider_size, 
    int *increment, int *page_increment); 
void XmScrollBarSetValues(Widget w, int value, int slider_size, 
    int increment, int page_increment, Boolean notify); 

----------------------------------------------

XmScrolledWindow
See Chapter 11.

Description	A work area combined with two scroll bars.
Class Pointer	xmScrolledWindowWidgetClass
Class Name	XmScrolledWindow
Include File	
Superclass	XmManager

Resources -
XmNclipWindow			Window		NULL
XmNhorizontalScrollBar		Window		NULL
XmNscrollBarDisplayPolicy	unsigned char	dynamic
XmNscrollBarPlacement		unsigned char	XmBOTTOM_RIGHT
XmNscrolledWindowMarginHeight	Dimension	0
XmNscrolledWindowMarginWidth	Dimension	0
XmNscrollingPolicy		unsigned char	XmAPPLICATION_DEFINED
XmNspacing			Dimension	4
XmNverticalScrollBar		Window		NULL
XmNvisualPolicy			unsigned char	dynamic
XmNworkWindow			Window		NULL

Resource Descriptions -
XmNclipWindow			Set automatically if XmNvisualPolicy is
				XmCONSTANT.
XmNhorizontalScrollBar		Identifier of horizontal scroll bar.
XmNscrollBarDisplayPolicy	Valid values: XmAS_NEEDED (removes scroll bars
				from view if window is large enough to display
				entire pixmap); XmSTATIC (always displays
				scroll bars).
XmNscrollBarPlacement		Valid values: XmTOP_LEFT, XmBOTTOM_LEFT,
				XmTOP_RIGHT, XmBOTTOM_RIGHT.
XmNscrolledWindowMarginHeight,
XmNscrolledWindowMarginWidth	Margins in window.
XmNscrollingPolicy		Causes widget to handle all scrolling itself
				using an oversized pixmap. Also handles normal
				scroll callbacks to the application.
				Valid values: XmAUTOMATIC and
				XmAPPLICATION_DEFINED.
XmNspacing			Space between scroll bars and window.
XmNverticalScrollBar		Identifier of vertical scroll bar.
XmNvisualPolicy			Valid values: XmVARIABLE and XmCONSTANT.
XmNworkWindow			Identifier of work area.

Convenience Functions -
Widget XmCreateScrolledWindow(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmScrolledWindowSetAreas(Widget w, Widget horiz_scrollbar,
    Widget vert_scrollbar,Widget work_area);

----------------------------------------------

XmSelectionBox
See Chapter 7.

Description	Creates a list of options from which the user can make
		selections.
Class Pointer	xmSelectionBoxWidgetClass
Class Name	XmSelectionBox
Include File	
Superclass	XmBulletinBoard

Resources -
XmNapplyLabelString	XmString	"Apply"
XmNcancelLabelString	XmString	"Cancel"
XmNdialogType		unsigned char	dynamic
XmNhelpLabelString	XmString	"Help"
XmNlistItemCount	int		0
XmNlistItems 		XmStringTable	NULL
XmNlistLabelString	XmString	NULL
XmNlistVisibleItemCount	int		8
XmNminimizeButtons	Boolean		False
XmNmustMatch		Boolean		False
XmNokLabelString	XmString	"OK"
XmNselectionLabelString	XmString	"Selection"
XmNtextAccelerators	XtAccelerators	default
XmNtextColumns		short		20
XmNtextString		XmString	""

Resource Descriptions -
XmNapplyLabelString	String for Apply button.
XmNcancelLabelString	String for Cancel button.
XmNdialogType		Possible values: XmDIALOG_PROMPT, XmDIALOG_COMMAND,
			XmDIALOG_SELECTION, XmDIALOG_FILE_SELECTION,
			and XmDIALOG_WORK_AREA.
XmNhelpLabelString	String for Help button.
XmNlistItems		Items in the list.
XmNlistItemCount	Number of items in list.
XmNlistLabelString	String displayed above list.
XmNlistVisibleItemCount	Number of items visible in list.
XmNminimizeButtons	If false, buttons are all the size of the largest. If
			true, buttons take on minimum sizes.
XmNmustMatch		When true, value entered in text area must match one
			of the items in the list.
XmNokLabelString	String for OK button.
XmNselectionLabelString	Label displayed above text field.
XmNtextAccelerators	Normal accelerators for text widget.
XmNtextColumns		Width of list.
XmNtextString		Value held in text widget.

Callbacks -
XmNapplyCallback	XmSelectionBoxCallbackStruct	XmCR_APPLY
XmNcancelCallback	XmSelectionBoxCallbackStruct	XmCR_CANCEL
XmNnoMatchCallback	XmSelectionBoxCallbackStruct	XmCR_NO_MATCH
XmNokCallback		XmSelectionBoxCallbackStruct	XmCR_OK

Callback Descriptions -
XmNapplyCallback	Triggered when user clicks Apply button.
XmNcancelCallback	Triggered when user clicks Cancel button.
XmNnoMatchCallback	Triggered when value in text area does not match a
			value in the list.
XmNokCallback		Triggered when user clicks OK button.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   XmString value;
   int length;
} XmSelectionBoxCallbackStruct;

Convenience Functions -
Widget XmCreateSelectionBox(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSelectionDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreatePromptDialog(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmSelectionBoxGetChild(Widget w, unsigned char child); 
    Valid values for child:
        XmDIALOG_APPLY_BUTTON 
        XmDIALOG_CANCEL_BUTTON 
        XmDIALOG_DEFAULT_BUTTON 
        XmDIALOG_HELP_BUTTON 
        XmDIALOG_LIST 
        XmDIALOG_LIST_LABEL 
        XmDIALOG_OK_BUTTON 
        XmDIALOG_SELECTION_LABEL 
        XmDIALOG_SEPARATOR 
        XmDIALOG_TEXT 
        XmDIALOG_WORK_AREA 

----------------------------------------------

XmSeparator
See Chapter 5. Also available as a gadget.

Description	Creates a separation line on the screen. Be sure to attach
		this widget to a form, or assign it a width, or it will
		appear as a dot and not a line.
Class Pointer	xmSeparatorWidgetClass
Class Name	XmSeparator
Include File	
Superclass	XmPrimitive

Resources -
XmNmargin		Dimension	0
XmNorientation		unsigned char	XmHORIZONTAL
XmNseparatorType	unsigned char	XmSHADOW_ETCHED_IN

Resource Descriptions -
XmNmargin		Margin at end of separator.
XmNorientation		Valid values: XmVERTICAL and XmHORIZONTAL.
XmNseparatorType	Valid values: XmSINGLE_LINE, XmDOUBLE_LINE,
			XmSINGLE_DASHED_LINE, XmDOUBLE_DASHED_LINE, XmNO_LINE,
			XmSHADOW_ETCHED_IN, and XmSHADOW_ETCHED_OUT.

Convenience Functions -
Widget XmCreateSeparator(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateSeparatorGadget(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

----------------------------------------------

XmText
See Chapter 10.

Description	Provides text editing capabilities.
Class Pointer	xmTextWidgetClass
Class Name	XmText
Include File	
Superclass	XmPrimitive

Resources -
XmNautoShowCursorPosition	Boolean		True
XmNblinkRate			int		500 (milliseconds)
XmNcolumns			Short		dynamic
XmNcursorPosition		XmTextPosition	0
XmNcursorPositionVisible 	Boolean		True
XmNeditable			Boolean		True
XmNeditMode			int		XmSINGLE_LINE_EDIT
XmNfontList			XmFontList	dynamic
XmNmarginHeight			Dimension	5
XmNmarginWidth 			Dimension	5
XmNmaxLength			int		largest int
XmNpendingDelete		Boolean		True
XmNresizeHeight			Boolean		False
XmNresizeWidth			Boolean		False
XmNrows				short		dynamic
XmNscrollHorizontal		Boolean		True
XmNscrollLeftSide		Boolean		dynamic
XmNscrollTopSide		Boolean		False
XmNscrollVerticle		Boolean		True
XmNselectThreshold		int		5
XmNselectionArray		Pointer		default array
XmNselectionArrayCount		int		4
XmNsource			XmTextSource	Default source
XmNtopCharacter			XmTextPosition	0
XmNvalue			String		""
XmNverifyBell			Boolean		True
XmNwordWrap			Boolean		False

Resource Descriptions -
XmNautoShowCursorPosition	When true, text scrolls to make cursor visible
				if cursorPosition resource changes.
XmNblinkRate			Rate of cursor blinking (in milliseconds).
XmNcolumns			Width of text widget in columns of characters.
XmNcursorPosition		Position of the cursor in the text string.
XmNcursorPositionVisible	When true, blinking cursor marks insert point.
XmNeditable			When true, text can be modified. When false,
				text is read-only.
XmNeditMode			Possible values: XmSINGLE_LINE_EDIT and
				XmMULTI_LINE_EDIT.
XmNfontList			Font for widget.
XmNmarginHeight,	
XmNmarginWidth			Size of margin around text.
XmNmaxLength			Maximum length of the text.
XmNpendingDelete		When true, selected area is deleted at next
				insert.
XmNresizeHeight			When true, widget tries to display all text it
				owns in one window by readjusting its height.
XmNresizeWidth			When true, widget tries to display all text it
				owns in one window by readjusting its width.
XmNrows				Height of widget in rows of characters.
XmNscrollHorizontal		When true, creates horizontal scroll bar.
XmNscrollLeftSide		When true, positions horizontal scroll bar on
				the left side.
XmNscrollTopSide		When true, positions horizontal scroll bar on
				top.
XmNscrollVertical		When true, uses vertical scroll bar.
XmNselectThreshold		Number of pixels that user must move mouse to
				select a character.
XmNselectionArray		Holds an array containing the actions that
				occur on multiple mouse clicks. The default
				array contains the values XmSELECT_POSITION,
				XmSELECT_WORD, XmSELECT_LINE, and XmSELECT_ALL.
XmNselectionArrayCount		Number of elements in selection array.
XmNsource			Allows sharing of text sources.
XmNtopCharacter			Holds the location of the first visible
				character in the text string.
XmNvalue			Holds the text string.
XmNverifyBell			When true, sounds bell.
XmNwordWrap			When true, turns on automatic word wrapping.

Callbacks -
XmNactivateCallback	XmAnyCallbackStruct	   XmCR_ACTIVATE
XmNfocusCallback	XmAnyCallbackStruct	   XmCR_FOCUS
XmNgainPrimaryCallback	XmAnyCallbackStruct	   XmCR_GAIN_PRIMARY
XmNlosePrimaryCallback	XmAnyCallbackStruct	   XmCR_LOSE_PRIMARY
XmNlosingFocusCallback	XmTextVerifyCallbackStruct XmCR_LOSING_FOCUS
XmNmodifyVerifyCallback	XmTextVerifyCallbackStruct XmCR_MODIFYING_TEXT_VALUE
XmNmotionVerifyCallback	XmTextVerifyCallbackStruct XmCR_MOVING_INSERT_CURSOR
XmNvalueChangedCallback	XmAnyCallbackStruct	   XmCR_VALUE_CHANGED

Callback Descriptions -
XmNactivateCallback	Triggered when widget is activated.
XmNfocusCallback	Triggered when widget receives focus.
XmNgainPrimaryCallback	Triggered when widget gains primary selection.
XmNlosePrimaryCallback	Triggered when widget loses primary selection.
XmNlosingFocusCallback	Triggered when widget loses focus.
XmNmodifyVerifyCallback	Called prior to changes in text due to insertion
			or deletion.
XmNmotionVerifyCallback	Triggered each time cursor moves.
XmNvalueChangedCallback	Called following text changes due to insertion
			or deletion.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
} XmAnyCallbackStruct;

typedef struct
{
   int reason;
   XEvent *event;
   Boolean doit;
   XmTextPosition currInsert, newInsert;
   XmTextPosition startPos, endPos;
   XmTextBlock text;
} XmTextVerifyCallbackStruct;

Convenience Functions -
Widget XmCreateText(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateScrolledText(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
void XmTextClearSelection (Widget widget, Time clear_time);
Boolean XmTextCopy (Widget widget, Time copy_time);
Boolean XmTextCut (Widget widget, Time cut_time);
int XmTextGetBaseline (Widget widget);
Boolean XmTextGetEditable (Widget widget);
XmTextPosition XmTextGetInsertionPosition (Widget widget);
XmTextPosition XmTextGetLastPosition (Widget widget);
int XmTextGetMaxLength (Widget widget);
char *XmTextGetSelection (Widget widget);
Boolean XmTextGetSelectionPosition (Widget widget, 
    XmTextPosition *left, XmTextPosition *right);
XmTextSource XmTextGetSource (Widget widget);
char *XmTextGetString(Widget widget);
XmTextPosition XmTextGetTopCharacter (Widget widget);
void XmTextInsert (Widget widget, XmTextPosition position, 
    char *value);
Boolean XmTextPaste (Widget widget);
Boolean XmTextPosToXY (Widget widget, XmTextPosition position, 
    Position *x, Position *y);
Boolean XmTextRemove (Widget widget);
void XmTextReplace (Widget widget, XmTextPosition frompos, 
    XmTextPosition topos, char *value);
void XmTextScroll (Widget widget, int n);
void XmTextSetAddMode (Widget widget, Boolean state);  
void XmTextSetEditable (Widget widget, Boolean editable);
void XmTextSetHighlight (Widget w, XmTextPosition left, 
    XmTextPosition right, XmHighlightMode mode);
void XmTextSetInsertionPosition (Widget widget, XmTextPosition position);
void XmTextSetMaxLength (Widget widget, int max_length);
void XmTextSetSelection (Widget widget, XmTextPosition first, 
    XmTextPosition last, Time set_time);
void XmTextSetSource (Widget widget, XmTextSource source, 
    XmTextPosition top_character, XmTextPosition cursor_position);
void XmTextSetString (Widget widget, char *value);
void XmTextSetTopCharacter (Widget widget, XmTextPosition top_character);
void XmTextShowPosition (Widget widget, XmTextPosition position);
XmTextPosition XmTextXYToPos (Widget widget, Position x, Position y);

----------------------------------------------

XmToggleButton
See Chapter 11. Also available as a gadget.

Description	Lets user flip a two-state variable. Provides a visual
indicator.
Class Pointer	xmToggleButtonWidgetClass
Class Name	XmToggleButton
Include File	
Superclass	Xmlabel

Resources -
XmNfillOnSelect			Boolean		True
XmNindicatorOn			Boolean		True
XmNindicatorSize		Dimension	XmINVALID_DIMENSION
XmNindicatorType		unsigned char	dynamic
XmNselectColor			Pixel		dynamic
XmNselectInsensitivePixmap	Pixmap		XmUNSPECIFIED_PIXMAP
XmNselectPixmap			Pixmap		XmUNSPECIFIED_PIXMAP
XmNset				Boolean		False
XmNspacing			Dimension	4
XmNvisibleWhenOff		Boolean		dynamic

Resource Descriptions -
XmNfillOnSelect			When true, fills indicator with selectColor.
XmNindicatorOn			When true, makes indicator visible.
XmNindicatorSize		Sets indicator's size. Special value
				XmINVALID_DIMENSION scales indicator to
				label's font size.
XmNindicatorType		Valid values: XmONE_OF_MANY (diamond shape) and
				XmN_OF_MANY (square shape).
XmNselectColor			Fill color for indicator.
XmNselectInsensitivePixmap	Pixmap for selected and insensitive button.
XmNselectPixmap			Pixmap for selected and sensitive button.
XmNset				Current value of the toggle.
XmNspacing			Space between toggle indicator and button.
XmNvisibleWhenOff		When false, makes indicator invisible if not
				selected.

Callbacks -
XmNarmCallback		XmToggleButtonCallbackStruct	XmCR_ARM
XmNdisarmCallback	XmToggleButtonCallbackStruct	XmCR_DISARM
XmNvalueChangedCallback	XmToggleButtonCallbackStruct	XmCR_VALUE_CHANGED

Callback Descriptions -
armCallback		Called when button is armed.
disarmCallback		Called when button is disarmed.
valueChangedCallback	Called when value of set resource flips.

Callback Structure -
typedef struct
{
   int reason;
   XEvent *event;
   int set;
} XmToggleButtonCallbackStruct;

Convenience Functions -
Widget XmCreateToggleButton(Widget parent,String name,
    ArgList arglist,Cardinal argcount);
Widget XmCreateToggleButtonGadget(Widget parent,String name,
    ArgList arglist,Cardinal argcount);

==============================================

X Toolkit Widgets -

The following widgets come from the X Toolkit. They are included because
you will need to use them often, and because they make up the hierarchy
of an application shell widget. See Section 14.5 for more information.


ApplicationShell

Description	The toplevel shell for any application.
Class Pointer	applicationShellWidgetClass
Class Name	ApplicationShell
Include File	, 
Superclass	TopLevelShell

Resources -
XmNargc		int		0
XmNargv		String *	NULL

Resource Descriptions -
XmNargc		Number of strings held in argv.
XmNargv		Applications argument list. Contains a copy of the command line
		arguments used to invoke the application.

----------------------------------------------

Composite

Description	The basis of all container widgets.
Class Pointer	compositeWidgetClass
Class Name	Composite
Include File	
Superclass	Core

Resources -
XmNchildren		WidgetList	NULL
XmNinsertPosition	(*)()		NULL
XmNnumChildren		Cardinal	0

Resource Descriptions -
XmNchildren		List of child widgets.
XmNinsertPosition	Pointer to a function determining insert position of
			children.
XmNnumChildren		Number of children.

----------------------------------------------

Constraint

Description	The basis of all constraint widgets.
Class Pointer	constraintWidgetClass
Class Name	Constraint
Include File	
Superclass	Composite

This widget defines no resources of its own.
----------------------------------------------

Core
See Chapter 3.

Description	The superclass of all widgets. All widgets have the core
		widget's resources and callbacks.
Class Pointer	widgetClass
Class Name	Core
Include File	
Superclass	None

Resources -
XmNaccelerators			XtAccelerators	NULL
XmNancestorSensitive		Boolean		dynamic
XmNbackground			Pixel		dynamic
XmNbackgroundPixmap		Pixmap		XmUNSPECIFIED_PIXMAP
XmNborderColor			Pixel		XtDefaultForeground
XmNborderPixmap			Pixmap		XmUNSPECIFIED_PIXMAP
XmNborderWidth			Dimension	1
XmNcolormap			Colormap	copy from parent
XmNdepth			int		dynamic
XmNheight			Dimension	dynamic
XmNinitialResourcesPersistent	Boolean		True
XmNmappedWhenManaged		Boolean		True
XmNscreen			Screen*		dynamic
XmNsensitive			Boolean		True
XmNtranslations			XtTranslations	NULL
XmNwidth			Dimension	dynamic
XmNx				Position	0
XmNy				Position	0

Resource Descriptions -
XmNaccelerators			Translation table for accelerators.
XmNancestorSensitive		If true, the parent of this widget can receive
				input events.
XmNbackground			Background color.
XmNbackgroundPixmap		Pixmap for tiling background of widget.
XmNborderColor			Color of widget's border.
XmNborderPixmap			Pixmap for the border.
XmNborderWidth			Width of border in pixels.
XmNcolormap			Colormap table for widget.
XmNdepth			Depth of pixels in widget.
XmNheight			Height of widget.
XmNinitialResourcesPersistent	Set to true if widget will not be destroyed
				during the life of the application. Set to
				false if it will.
XmNmappedWhenManaged		When true, widget is mapped as soon as it is
				managed. When false, widget must be mapped
				explicitly.
XmNscreen			Screen that displays widget.
XmNsensitive			When true, widget receives input events.
XmNtranslations			Pointer to translation list.
XmNwidth			Width of the widget.
XmNx				X coordinate of the widget.
XmNy				Y coordinate of the widget.

Callback Descriptions -
XmNdestroyCallback		Triggered when widget is destroyed.

----------------------------------------------

Shell

Description	Toplevel widget that works with the window manager.
Class Pointer	shellWidgetClass
Class Name	Shell
Include File	, 
Superclass	Composite

Resources -
XmNallowShellResize	Boolean		False
XmNcreatePopupChildProc	(*)()		NULL
XmNgeometry		String		NULL
XmNoverrideRedirect	Boolean		False
XmNsaveUnder		Boolean		False
XmNvisual		Visual*		CopyFromParent

Resource Descriptions -
XmNallowShellResize	When false, shell size cannot be changed.
XmNcreatePopupChildProc	Function called when shell is popped up.
XmNgeometry		Geometry for the shell.
XmNoverrideRedirect	Do not change.
XmNsaveUnder		Hint to window manager if it has a backing store that
			determines if the screen under this widget should be
			saved or not.
XmNvisual		Visual used when widget is created.

Callback Descriptions -
XmNpopupCallback	Triggered when widget is popped up.
XmNpopdownCallback	Triggered when widget is popped down.

----------------------------------------------

TopLevelShell

Description	Creates additional decorated shells on the screen.
Class Pointer	topLevelShellWidgetClass
Class Name	TopLevelShell
Include File	, 
Superclass	VendorShell

Resources -
XmNiconic		Boolean		False
XmNiconName		String		NULL
XmNiconNameEncoding	Atom		XA_STRING

Resource Descriptions -
XmNiconic		When true, widget appears as icon at startup.
XmNiconName		Title of widget's icon.
XmNiconNameEncoding	Encoding of icon name string.

----------------------------------------------

VendorShell

Description	Shell widget superclass for all shells visible to window
		manager.
Class Pointer	vendorShellWidgetClass
Class Name	VendorShell
Include File	, 
Superclass	WMShell

Resources -
XmNdefaultFontList	XmFontList	dynamic
XmNdeleteResponse	unsigned char	XmDESTROY
XmNkeyboardFocusPolicy	unsigned char	XmEXPLICIT
XmNmwmDecorations	int		-1
XmNmwmFunctions		int		-1
XmNmwmInputMode		int		-1
XmNmwmMenu		String		NULL
XmNshellUnitType	unsigned char	XmPIXELS
XmNuseAsyncGeometry	Boolean		False

Resource Descriptions -
XmNdefaultFontList	Font for any text, label, or button child unless some
			other font is specified for the widget.
XmNdeleteResponse	Valid values: XmDESTROY, XmUNMAP, and XmDO_NOTHING.
			Specifies what happens when the shell receives a
			destroy message from the window manager.
XmNkeyboarFocusPolicy	Valid values: XmEXPLICIT (click-to-type) and XmPOINTER
			(pointer-driven).
XmNmwmDecorations	Specifies which window decorations are in effect.
XmNmwmFunctions		Specifies functions in the system menu.
XmNmwmInputMode		Specifies the input mode flag.
XmNmwmMenu		Items to be added to the end of the system menu.
XmNshellUnitType	Valid values: XmPIXELS, Xm100TH_MILLIMETERS,
			Xm1000TH_INCHES, XM100TH_POINTS, and Xm100TH_FONT_UNITS.
XmNuseAsyncGeometry	When set to true, XmNwaitForWm is set to false and
			XmNwmTimeout is set to 0. When false, nothing happens.

----------------------------------------------

WMShell

Description	Shell widget providing interface to window manager.
Class Pointer	wmShellWidgetClass
Class Name	WMShell
Include File	, 
Superclass	Shell

Resources -
XmNbaseHeight		int		XtUnspecifiedShellInt
XmNbaseWidth		int			XtUnspecifiedShellInt
XmNheightInc		int		XtUnspecifiedShellInt
XmNiconMask		Pixmap		NULL
XmNiconPixmap		Pixmap		NULL
XmNiconWindow		Window		NULL
XmNiconX		int		-1
XmNiconY		int		-1
XmNinitialState		int		NormalState
XmNinput		Boolean		False
XmNmaxAspectX		int		XtUnspecifiedShellInt
XmNmaxAspectY		int		XtUnspecifiedShellInt
XmNmaxHeight		int		XtUnspecifiedShellInt
XmNmaxWidth		int		XtUnspecifiedShellInt
XmNminAspectX		int		XtUnspecifiedShellInt
XmNminAspectY		int		XtUnspecifiedShellInt
XmNminHeight		int		XtUnspecifiedShellInt
XmNminWidth		int		XtUnspecifiedShellInt
XmNtitle		String		dynamic
XmNtitleEncoding	Atom		XA_STRING
XmNtransient		Boolean		False
XmNwaitForWm		Boolean		True
XmNwidthInc		int		XtUnspecifiedShellInt
XmNwindowGroup		Window		dynamic
XmNwinGravity		int		dynamic
XmNwmTimeout		int		5000 ms.

Resource Descriptions -
XmNbaseHeight		Starting point for height progression. Widget height
			starts here and goes up by XmNheightInc.
XmNbaseWidth		Starting point for width progression. Widget width
			starts here and goes up by XmNwidthInc.
XmNheightInc		Increments in which height increases and decreases.
XmNiconMask		Bitmap for clipping face of icon.
XmNiconPixmap		Pixmap on face of icon.
XmNiconWindow		Window holding icon.
XmNiconX		Preferred X location of icon.
XmNiconY		Preferred Y location of icon.
XmNinitialState		Valid values: NormalState and IconicState.
XmNinput		Helps determine input model for widget.
XmNmaxAspectX,
XmNmaxAspectY		Maximum aspect ratio (X/Y) of widget.
XmNmaxHeight,
XmNmaxWidthMaximum 	Height and width of widget.
XmNminAspectX,
XmNminAspectY		Minimum aspect ratio (X/Y) of widget.
XmNminHeight,
XmNminWidth		Minimum height and width of widget.
XmNtitle		Title displayed in window border.
XmNtitleEncoding	Encoding for XmNtitle.
XmNtransient		If widget is a pop-up, this is true.
XmNwaitForWm		Determines whether widget waits for window manager to
			respond to actions.
XmNwidthInc		Increments in which width increases and decreases.
XmNwindowGroup		Window to which this widget belongs.
XmNwinGravity		Valid values: NorthGravity, NorthEastGravity,
			EastGravity, and so on. Determines which way window
			manager places widget.
XmNwmTimeout		Time in milliseconds to wait for window manager.

----------------------------------------------