Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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://www.freebsd.org/cgi/man.cgi?query=XmtDialogDo&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help