GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
XmPrintPopupPDM(3) FreeBSD Library Functions Manual XmPrintPopupPDM(3)

XmPrintPopupPDM — Send a notification for the PDM to be popped up

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

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.

Returns XmPDM_NOTIFY_SUCCESS if the function was able to send the notification out to the PDM process, XmPDM_NOTIFY_FAIL otherwise.

Not applicable.

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 */
   }
}

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

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.