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

FreeBSD Manual Pages

  
 
  

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 Dia-
       log Manager on behalf of	the application, XmPrintPopupPDM hides the de-
       tails  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	 func-
       tion  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	"message" 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 noti-
       fication	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),   XmPrint-
       ToFile(3)

							    XmPrintPopupPDM(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS/WARNINGS | EXAMPLES | SEE ALSO

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

home | help