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

  
 
  

home | help
XmPrintPopupPDM(3)	    Library Functions Manual	      XmPrintPopupPDM(3)

NAME
     XmPrintPopupPDM -- Send a notification for the PDM to be popped up

SYNOPSIS
     #include <Xm/Print.h>
     XtEnum XmPrintPopupPDM(
     Widgetprint_shell,
     Widgetvideo_transient_for);

DESCRIPTION
     A	convenience  function  that sends a notification to start a Print Dialog
     Manager on behalf of the application, XmPrintPopupPDM hides the details  of
     the  X selection mechanism used to notify the PDM that a new dialog must be
     popped up for this application.

     XmPrintPopupPDM sends a selection request to either the  print  display  of
     the  print  shell,  or  the video display of the transient_for video widget
     (depending on the environment variable XPDMDISPLAY, which	can  only  takes
     the  value  "print" or "video"), asking for the PDM windows to be popped up
     on behalf of the app.

     Return right away with status of XmPDM_NOTIFY_FAIL (e.g.  if  the	function
     couldn't  malloc  memory  for the selection value, or if XPDMDISPLAY is not
     "print" or "video") or with XmPDM_NOTIFY_SUCCESS , which only means a "mes-
     sage" was sent out to the PDM specified by XPDMSELECTION ,  not  that  it's
     already up on the screen yet.

     In  order	to  know  if the PDM is up, or not running, the application must
     register a XmNpdmNotificationCallback with the Print Shell.

     XmPrintPopupPDM puts up an InputOnly window on top of the dialog,	so  that
     the  end user doesn't use the print setup dialog while the PDM is trying to
     come up. This window is automatically removed when the shell  is  about  to
     call the callback for the first time.

     print_shell
	       The Print Shell used for this print job and context.

     video_transient_for
	       The video widget dealing with application print setup.

RETURN VALUE
     Returns XmPDM_NOTIFY_SUCCESS if the function was able to send the notifica-
     tion out to the PDM process, XmPDM_NOTIFY_FAIL otherwise.

ERRORS/WARNINGS
     Not applicable.

EXAMPLES
     Example of callback from a Print set up dialog box "Setup..." button:

     PrintSetupCallback(print_dialog...)
     /*-------------*/
     {
	 if (XmPrintPopupPDM (pshell, XtParent(print_dialog)) !=
					 XmPDM_NOTIFY_SUCCESS) {
	     /* some error dialog */
	 }
     }

     Example of XmNpdmNotificationCallback from a Print Shell:

     pdmNotifyCB(print_shell...)
     {
	 XmPrintShellCallBackStruct * pr_cb = ...

	 switch (pr_cb->reason) {
	    case XmCR_PDM_NONE:
		/* no PDM available */
		PostErrorDialog(...);
		break;
	    case XmCR_PDM_VXAUTH:
		/* PDM is not authorized ... */
		PostErrorDialog(...);
		break;
	    case XmCR_PDM_UP: the PDM is up and running
		/* everything is fine */
		break;
		    default: /* other cases */
	}
     }

SEE ALSO
     XmPrintSetup(3), XmPrintShell(3), XmRedisplayWidget(3), XmPrintToFile(3)

							      XmPrintPopupPDM(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmPrintPopupPDM&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help