Provided by: libmotif-dev_2.3.4-10_amd64 bug


       XmPrintSetup — setup and create a Print Shell widget


       #include <Xm/Print.h>
       Widget XmPrintSetup(
       Widget video_widget,
       Screen *print_screen,
       String print_shell_name,
       ArgList args,
       Cardinal num_args);


       A  function  that does the appropriate setting and creates a realized XmPrintShell that it
       returns to the caller. This function hides the details of the Xt to set up a  valid  print
       shell  hierarchy for the application. It is also meant to encourage consistency in the way
       applications root their print widget hierarchy.

       print_screen must belong to a Display connection that has already  been  initialized  with

       The  video_widget  is  used to get at the application context, application name and class,
       and  argc/argv  stored  on  the  applicationShell  that   roots   this   widget.   If   no
       applicationShell is found, NULL argv/argc are used.

       XmPrintSetup  then  creates an unrealized ApplicationShell with the same name and class as
       the one given by the video  display,  on  the  print  display  and  on  the  print  screen

       An   XmPrintShell   is   then   created   as   a  child  of  this  toplevel  shell,  using
       XtCreatePopupShell, with the name print_shell_name, and using the args provided.  It  then
       realizes and maps the print shell, using XtPopup with XtGrabNone.

       This way, application resource files and users can specify print specific attributes using
       the following syntax (if print_shell_name is "Print"):

       Dtpad.Print*textFontList: somefont

                 A video widget to fetch app video data from.

                 A print screen on the print display - specifies the screen onto  which  the  new
                 shell is created.

                 Specifies the name of the XmPrintShell created on the X Print server.

       args      Specifies   the   argument  list  from  which  to  get  the  resources  for  the

       num_args  Specifies the number of arguments in the argument list.


       The id the XmPrintShell widget created on the X Print Server connection,  or  NULL  if  an
       error has occured.




       From the OK callback and the SetUp callback of the primary print dialog widget:

       static void
       printOKCB(Widget, XtPointer call_data, XtPointer client_data)
         AppPrint *p = (AppPrint *) client_data;
         DtPrintSetupCallbackStruct *pbs =
                                (XmPrintCallbackStruct *) call_data;

         /* connect if not already done.
            the print dialog callback always provides valid
                    printer name, print display and screen
                    already initialized: XpInitContext called */
         p->print_shell = XmPrintSetup (widget, pbs->print_screen,
                                                     "Print", NULL, 0);



       XmPrintShell(3), XmRedisplayWidget(3), XmPrintToFile(3), XmPrintPopupPDM(3)