Provided by: libmotif-dev_2.3.8-2build1_amd64 bug

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 "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 notification 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)