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)

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

home | help