MessageBox is a dialog class used for creating simple message dialogs.
Convenience dialogs based on MessageBox are provided for several common
interaction tasks, which include giving information, asking questions, and
reporting errors.
A MessageBox dialog is typically transient in nature, displayed for the
duration of a single interaction.
MessageBox is a subclass of BulletinBoard and
depends on it for much of its general dialog behavior.
The default value for XmNinitialFocus
is the value of XmNdefaultButton.
A typical MessageBox contains a message symbol, a message, and up to
three standard default PushButtons: OK, Cancel, and Help.
It is laid out with the symbol and message on top and the
PushButtons on the bottom. The Help button is positioned to the side
of the other push buttons.
You can localize the default symbols and button labels for MessageBox
convenience dialogs.
The user can specify resources in a resource file for the gadgets
created automatically that contain the MessageBox symbol pixmap
and separator. The gadget names are Symbol and Separator.
A MessageBox can also be customized by creating and managing new
children that are added to the MessageBox children created
automatically by the convenience dialogs.
In the case of
TemplateDialog, only the separator child is created by default.
If the callback, string, or pixmap symbol resources are specified,
the appropriate child will be created.
Additional children are laid out in the following manner:
•
The first MenuBar child is placed at the top of the window.
The XmQTmenuSystem trait is used to check that it is the first
MenuBar child.
•
All widgets or gadgets
are placed after the OK button in the order of their creation
(this order is checked using the XmQTactivatable trait).
•
A child that is not in the above categories is placed above
the row of buttons. If a message label exists, the child is placed below
the label. If a message pixmap exists, but a message label is absent, the
child is placed on the same row as the pixmap. The child behaves as a
work area and grows or shrinks to fill the space above the
row of buttons. The layout of multiple work area children is
undefined.
At initialization, MessageBox looks for the following bitmap files:
•
xm_error
•
xm_information
•
xm_question
•
xm_working
•
xm_warning
See XmGetPixmap(3) for a list of the paths that are searched for
these files.
MessageBox uses the XmQTactivatable and XmQTmenuSystem traits.
Descendants
MessageBox automatically creates the descendants shown in the
following table.
An application can use XtNameToWidget to gain access
to the named descendant. In addition, a user or an application
can use the named descendant when specifying resource values.
Named Descendant
Class
Identity
Cancel
XmPushButtonGadget
Cancel button
Help
XmPushButtonGadget
Help button
Message
XmLabelGadget
displayed message
OK
XmPushButtonGadget
OK button
Separator
XmSeparatorGadget
dividing line between message and buttons
Symbol
XmLabelGadget
icon symbolizing message type
Classes
MessageBox inherits behavior, resources, and traits from Core,
Composite, Constraint,
XmManager, and XmBulletinBoard.
The class pointer is xmMessageBoxWidgetClass.
The class name is XmMessageBox.
New Resources
The following table defines a set of widget resources used by the programmer
to specify data. The programmer can also set the resource values for the
inherited classes to set attributes for this widget. To reference a
resource by name or by class in a .Xdefaults file, remove the XmN or
XmC prefix and use the remaining letters. To specify one of the defined
values for a resource in a .Xdefaults file, remove the Xm prefix and use
the remaining letters (in either lowercase or uppercase, but include any
underscores between words).
The codes in the access column indicate if the given resource can be
set at creation time (C),
set by using XtSetValues (S),
retrieved by using XtGetValues (G), or is not applicable (N/A).
XmMessageBox Resource Set
Name
Class
Type
Default
Access
XmNcancelCallback
XmCCallback
XtCallbackList
NULL
C
XmNcancelLabelString
XmCCancelLabelString
XmString
dynamic
CSG
XmNdefaultButtonType
XmCDefaultButtonType
unsigned char
XmDIALOG_OK_BUTTON
CSG
XmNdialogType
XmCDialogType
unsigned char
XmDIALOG_MESSAGE
CSG
XmNhelpLabelString
XmCHelpLabelString
XmString
dynamic
CSG
XmNmessageAlignment
XmCAlignment
unsigned char
XmALIGNMENT_BEGINNING
CSG
XmNmessageString
XmCMessageString
XmString
""
CSG
XmNminimizeButtons
XmCMinimizeButtons
Boolean
False
CSG
XmNokCallback
XmCCallback
XtCallbackList
NULL
C
XmNokLabelString
XmCOkLabelString
XmString
dynamic
CSG
XmNsymbolPixmap
XmCPixmap
Pixmap
dynamic
CSG
XmNcancelCallback
Specifies the list of callbacks that is called when
the user clicks on the cancel button.
The reason sent by the callback is XmCR_CANCEL.
XmNcancelLabelString
Specifies the string label for the cancel button.
The default for this resource depends on the locale.
In the C locale the default is Cancel.
Now that some default localized label strings are provided through
message catalogs for the children of composite widgets, the
labelString resources
cannot be set on the child through default resource files.
Instead, the resource provided at the parent level must be used.
XmNdefaultButtonType
Specifies the default PushButton.
A value of XmDIALOG_NONE means that there should be no default
PushButton.
The following types are valid:
•
XmDIALOG_CANCEL_BUTTON
•
XmDIALOG_OK_BUTTON
•
XmDIALOG_HELP_BUTTON
•
XmDIALOG_NONE
XmNdialogType
Specifies the type of MessageBox dialog, which determines
the default message symbol.
The following are the possible values for this resource:
XmDIALOG_ERROR
Indicates an ErrorDialog.
XmDIALOG_INFORMATION
Indicates an InformationDialog.
XmDIALOG_MESSAGE
Indicates a MessageDialog.
This is the default MessageBox dialog type.
It does not have an associated message symbol.
XmDIALOG_QUESTION
Indicates a QuestionDialog.
XmDIALOG_TEMPLATE
Indicates a TemplateDialog.
The TemplateDialog contains only a separator child. It does not
have an associated message symbol.
XmDIALOG_WARNING
Indicates a WarningDialog.
XmDIALOG_WORKING
Indicates a WorkingDialog.
If this resource is changed with XtSetValues, the symbol bitmap is
modified to the new XmNdialogType bitmap unless
XmNsymbolPixmap is also being set in the call to
XtSetValues.
If the dialog type does not have an associated message symbol, then no
bitmap will be displayed.
XmNhelpLabelString
Specifies the string label for the help button.
The default for this resource depends on the locale.
In the C locale the default is Help.
Now that some default localized label strings are provided through
message catalogs for the children of composite widgets, the
labelString resources
cannot be set on the child through default resource files.
Instead, the resource provided at the parent level must be used.
XmNmessageAlignment
Controls the alignment of the message Label.
Possible values include the following:
•
XmALIGNMENT_BEGINNING (default)
•
XmALIGNMENT_CENTER
•
XmALIGNMENT_END
See the description of XmNalignment in the XmLabel
reference page for an explanation of these values.
XmNmessageString
Specifies the string to be used as the message.
XmNminimizeButtons
Sets the buttons to the width of the widest button and height of the
tallest button if False. If this resource is True,
button width and height are
set to the preferred size of each button.
XmNokCallback
Specifies the list of callbacks that is called when
the user clicks on the OK button.
The reason sent by the callback is XmCR_OK.
XmNokLabelString
Specifies the string label for the OK button.
The default for this resource depends on the locale.
In the C locale the default is OK.
Now that some default localized label strings are provided through
message catalogs for the children of composite widgets, the
labelString resources
cannot be set on the child through default resource files.
Instead, the resource provided at the parent level must be used.
XmNsymbolPixmap
Specifies the pixmap label to be used as the message symbol.
Inherited Resources
MessageBox inherits behavior and resources from the
superclasses described in the following tables.
For a complete description of each resource, refer to the
reference page for that superclass.
XmBulletinBoard Resource Set
Name
Class
Type
Default
Access
XmNallowOverlap
XmCAllowOverlap
Boolean
True
CSG
XmNautoUnmanage
XmCAutoUnmanage
Boolean
True
CG
XmNbuttonFontList
XmCButtonFontList
XmFontList
dynamic
CSG
XmNbuttonRenderTable
XmCButtonRenderTable
XmRenderTable
dynamic
CSG
XmNcancelButton
XmCWidget
Widget
Cancel button
SG
XmNdefaultButton
XmCWidget
Widget
dynamic
SG
XmNdefaultPosition
XmCDefaultPosition
Boolean
True
CSG
XmNdialogStyle
XmCDialogStyle
unsigned char
dynamic
CSG
XmNdialogTitle
XmCDialogTitle
XmString
NULL
CSG
XmNfocusCallback
XmCCallback
XtCallbackList
NULL
C
XmNlabelFontList
XmCLabelFontList
XmFontList
dynamic
CSG
XmNlabelRenderTable
XmCLabelRenderTable
XmRenderTable
dynamic
CSG
XmNmapCallback
XmCCallback
XtCallbackList
NULL
C
XmNmarginHeight
XmCMarginHeight
Dimension
10
CSG
XmNmarginWidth
XmCMarginWidth
Dimension
10
CSG
XmNnoResize
XmCNoResize
Boolean
False
CSG
XmNresizePolicy
XmCResizePolicy
unsigned char
XmRESIZE_ANY
CSG
XmNshadowType
XmCShadowType
unsigned char
XmSHADOW_OUT
CSG
XmNtextFontList
XmCTextFontList
XmFontList
dynamic
CSG
XmNtextRenderTable
XmCTextRenderTable
XmRenderTable
dynamic
CSG
XmNtextTranslations
XmCTranslations
XtTranslations
NULL
C
XmNunmapCallback
XmCCallback
XtCallbackList
NULL
C
XmManager Resource Set
Name
Class
Type
Default
Access
XmNbottomShadowColor
XmCBottomShadowColor
Pixel
dynamic
CSG
XmNbottomShadowPixmap
XmCBottomShadowPixmap
Pixmap
XmUNSPECIFIED_PIXMAP
CSG
XmNforeground
XmCForeground
Pixel
dynamic
CSG
XmNhelpCallback
XmCCallback
XtCallbackList
NULL
C
XmNhighlightColor
XmCHighlightColor
Pixel
dynamic
CSG
XmNhighlightPixmap
XmCHighlightPixmap
Pixmap
dynamic
CSG
XmNinitialFocus
XmCInitialFocus
Widget
dynamic
CSG
XmNlayoutDirection
XmCLayoutDirection
XmDirection
dynamic
CG
XmNnavigationType
XmCNavigationType
XmNavigationType
XmTAB_GROUP
CSG
XmNpopupHandlerCallback
XmCCallback
XtCallbackList
NULL
C
XmNshadowThickness
XmCShadowThickness
Dimension
dynamic
CSG
XmNstringDirection
XmCStringDirection
XmStringDirection
dynamic
CG
XmNtopShadowColor
XmCTopShadowColor
Pixel
dynamic
CSG
XmNtopShadowPixmap
XmCTopShadowPixmap
Pixmap
dynamic
CSG
XmNtraversalOn
XmCTraversalOn
Boolean
True
CSG
XmNunitType
XmCUnitType
unsigned char
dynamic
CSG
XmNuserData
XmCUserData
XtPointer
NULL
CSG
Composite Resource Set
Name
Class
Type
Default
Access
XmNchildren
XmCReadOnly
WidgetList
NULL
G
XmNinsertPosition
XmCInsertPosition
XtOrderProc
NULL
CSG
XmNnumChildren
XmCReadOnly
Cardinal
0
G
Core Resource Set
Name
Class
Type
Default
Access
XmNaccelerators
XmCAccelerators
XtAccelerators
dynamic
N/A
XmNancestorSensitive
XmCSensitive
Boolean
dynamic
G
XmNbackground
XmCBackground
Pixel
dynamic
CSG
XmNbackgroundPixmap
XmCPixmap
Pixmap
XmUNSPECIFIED_PIXMAP
CSG
XmNborderColor
XmCBorderColor
Pixel
XtDefaultForeground
CSG
XmNborderPixmap
XmCPixmap
Pixmap
XmUNSPECIFIED_PIXMAP
CSG
XmNborderWidth
XmCBorderWidth
Dimension
0
CSG
XmNcolormap
XmCColormap
Colormap
dynamic
CG
XmNdepth
XmCDepth
int
dynamic
CG
XmNdestroyCallback
XmCCallback
XtCallbackList
NULL
C
XmNheight
XmCHeight
Dimension
dynamic
CSG
XmNinitialResourcesPersistent
XmCInitialResourcesPersistent
Boolean
True
C
XmNmappedWhenManaged
XmCMappedWhenManaged
Boolean
True
CSG
XmNscreen
XmCScreen
Screen *
dynamic
CG
XmNsensitive
XmCSensitive
Boolean
True
CSG
XmNtranslations
XmCTranslations
XtTranslations
dynamic
CSG
XmNwidth
XmCWidth
Dimension
dynamic
CSG
XmNx
XmCPosition
Position
0
CSG
XmNy
XmCPosition
Position
0
CSG
Callback Information
A pointer to the following structure is passed to each callback:
typedef struct
{
int reason;
XEvent *event;
} XmAnyCallbackStruct;
reason
Indicates why the callback was invoked
event
Points to the XEvent that triggered the callback
Translations
XmMessageBox includes the translations from XmManager.
Additional Behavior
The XmMessageBox widget has the following additional behavior:
<Key><osfCancel>:
Calls the activate callbacks for the cancel button if it is sensitive.
<Key><osfActivate>:
Calls the activate callbacks for the button with the keyboard focus.
If no button has the keyboard focus, calls the activate callbacks
for the default button if it is sensitive.
<Ok Button Activated>:
Calls the callbacks for XmNokCallback.
<Cancel Button Activated>:
Calls the callbacks for XmNcancelCallback.
<Help Button Activated>:
Calls the callbacks for XmNhelpCallback.
<FocusIn>:
Calls the callbacks for XmNfocusCallback.
<Map>:
Calls the callbacks for XmNmapCallback if the parent is a
DialogShell.
<Unmap>:
Calls the callbacks for XmNunmapCallback if the parent is a
DialogShell.
Virtual Bindings
The bindings for virtual keys are vendor specific.
For information about bindings for virtual buttons and keys, see VirtualBindings(3).