
dialog = XmCreateInformationDialog (parent, "message", args, 1);
XmStringFree (text);
XtSetSensitive (
XmMessageBoxGetChild (dialog, XmDIALOG_HELP_BUTTON), False);
XtUnmanageChild (
XmMessageBoxGetChild (dialog, XmDIALOG_CANCEL_BUTTON));
The output of a program using this code fragment is shown in the figure.
MessageDialog with an unmanaged Cancel button and an insensitive Help button
Since the message in this dialog is so simple, it does not make sense to have both an OK and a Cancel button, so we
unmanage the latter. On the other hand, it does make sense to have a Help button. However, there is currently no help
available, so we make the button unselectable by desensitizing it using XtSetSensitive().
6.7 Dialog Modality
The concept of forcing the user to respond to a dialog is known as modality. Modality governs whether or not the user
can interact with other windows on the desktop while a particular dialog is active. Dialogs are either modal or
modeless. There are three levels of modality: primary application modal, full application modal, and system modal. In
all cases, the user must interact with a modal dialog before control is released and normal input is re-sumed. In a
system modal dialog, the user is prevented from interacting with any other window on the display. Full application
modal dialogs allow the user to interact with any window on the desktop except those that are part ...