FreeBSD Manual Pages
XmtDialogDo(3) Library Functions Manual XmtDialogDo(3) NAME XmtDialogDo(), 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) ARGUMENTS INPUTS dialog The child of the dialog shell of an automatic dia log box-i.e. the widget returned by a call to XmtBuildDialog() or XmtBuildQueryDialog(). address The address of a data structure from which data is to be transferred to the dialog box, and in which the user's input data will later be stored. OUTPUTS address XmtDialogDo() does not modify this field, but when XmtDi- alogDoSync() returns True, the structure at this address will contain the user's input values. 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. DESCRIPTION XmtDialogDo() 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 XmtDi- alogGetDataAddress() 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-Xmt- DialogOkayCallback(), 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 conve- nient. 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 XmtDialogCancel- Callback(), then that callback will pop down the dialog without modify- ing 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 inter- nal event loops from becoming nested arbitrarily deep, it should only be used with modal dialogs. SEE ALSO Chapter 29, Custom Dialogs and Automatic Dialog Management, XmtDialogCancelCallback(), XmtDialogGetDataAddress(), XmtDialogGetDefaultValues(), XmtDialogGetDialogValues(), XmtDialogOkayCallback(), XmtDialogSetDialogValues(), XmtDialogSetReturnValue(). Xmt Motif Tools XmtDialogDo(3)
NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmtDialogDoSync&sektion=3&manpath=FreeBSD+Ports+15.0>
