|
NAMEXmtDialogDo(), XmtDialogDoSync() - transfer data to an automatic dialog and display it.SYNOPSIS#include <Xmt/Dialog.h>
void XmtDialogDo(Widget dialog, XtPointer address) Boolean XmtDialogDoSync(Widget dialog, XtPointer address) ARGUMENTSINPUTS
OUTPUTS
RETURNS XmtDialogDoSync() returns True if the user popped the dialog down normally, and returns False if the user cancelled the dialog with a Cancel button. DESCRIPTIONXmtDialogDo() calls XmtDialogSetDialogValues() to transfer the data pointed to by address to the widgets in the dialog box dialog. Then it internally associates address with dialog for later use, pops up the dialog box by calling XtManageChild() on dialog, and returns.XmtDialogDo() is designed to be used with a callback procedure that takes the opposite actions-pops the dialog box down, and transfers the user's input values from the dialog widgets back into the specified data structure. You can write a callback that does this by using XmtDialogGetDataAddress() to look up the stored address for a dialog, and then using XmtDialogGetDialogValues() to transfer the dialog data to the structure. Xmt provides predefined callbacks that do just this-XmtDialogOkayCallback(), for example, is designed to be registered on the Okay button of a dialog box managed with XmtDialogDo(). XmtDialogDoSync() works like XmtDialogDo(), but is usually more convenient. Instead of returning after popping up the dialog box, it enters an internal event loop-so that it appears to block-until the user pops the dialog down. Like XmtDialogDo(), XmtDialogDoSync() must be used in conjunction with special callback procedures. If the user clicks the Okay button or some other button that invokes XmtDialogOkayCallback(), then that callback will copy the user's input to the structure at address, and will pop down the dialog box. It will also cause XmtDialogDoSync() to exit its event loop and return True. On the other hand, if the user selects the Cancel button, or some other button that invokes the XmtDialogCancelCallback(), then that callback will pop down the dialog without modifying data at address, and will cause XmtDialogDoSync() to exit its loop and return False. If you write your own dialog callback procedures, you can tell XmtDialogDoSync() to stop blocking and return a value by calling XmtDialogSetReturnValue(). XmtDialogDoSync() performs synchronous input, and to prevent its internal event loops from becoming nested arbitrarily deep, it should only be used with modal dialogs. SEE ALSOChapter 29, Custom Dialogs and Automatic Dialog Management, XmtDialogCancelCallback(), XmtDialogGetDataAddress(), XmtDialogGetDefaultValues(), XmtDialogGetDialogValues(), XmtDialogOkayCallback(), XmtDialogSetDialogValues(), XmtDialogSetReturnValue().
Visit the GSP FreeBSD Man Page Interface. |