NAME
XmMessageBox — The MessageBox widget class
SYNOPSIS
#include <Xm/MessageB.h>
DESCRIPTION
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).
RELATED
Composite(3), Constraint(3), Core(3), XmBulletinBoard(3),
XmCreateErrorDialog(3), XmCreateInformationDialog(3),
XmCreateMessageBox(3), XmCreateMessageDialog(3),
XmCreateQuestionDialog(3), XmCreateTemplateDialog(3),
XmCreateWarningDialog(3), XmCreateWorkingDialog(3), XmManager(3), and
XmMessageBoxGetChild(3).
XmMessageBox(library call)