The XmNdialogType resource can take the value XmDIALOG_TEMPLATE in Motif 1.2. This value creates a
TemplateDialog, which is basically an empty MessageDialog that can be modified by the programmer. By default, the
dialog only contains a Separator child. By setting various resources on a TemplateDialog when it is created, you can
cause the dialog to create other standard children. If you set a string or callback resource for an action area button, the
button is created. If you set the XmNmessageString resource, the message is displayed in the standard location. If
you set the XmNsymbolPixmap resource, the specified symbol appears in its normal location. If you don't set a
particular resource, then that child is not created, which means that you cannot modify the resource later with
XtSetValues(), set a callback for the child with XtAddCallback(), or retrieve the child with
XmMessageBoxGetChild().
8.1.2 Modifying SelectionDialogs
The Motif SelectionDialog supports the same types of modifications as the MessageDialog. With Motif 1.2, you can
provide additional action area buttons, a work area child, and a MenuBar. Unlike the MessageDialog, the first widget
that is added is taken as the work area, regardless of whether it is a PushButton or a MenuBar. The fact that the first
child is always considered the work area is a bug. As a result of the bug, you need to be careful about the order in
which you add children to a SelectionDialog. If you want to add a PushButton to the action area of a SelectionDialog, ...