logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XmPrintSetup — setup and create a Print Shell widget

Description

       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 Xt.

       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, NULLargv/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 specified.

       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
       *Print*background:white
       *Print*highlightThickness:0

       video_widget
                 A video widget to fetch app video data from.

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

       print_shell_name
                 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 XmPrintShell.

       num_args  Specifies the number of arguments in the argument list.

Errors/Warnings

       None.

Examples

       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);

         ...
       }

Name

XmPrintSetup — setup and create a Print Shell widget

Return Value

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

See Also

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

                                                                                                 XmPrintSetup(3)

Synopsis

       #include <Xm/Print.h>
       WidgetXmPrintSetup(
       Widgetvideo_widget,
       Screen*print_screen,
       Stringprint_shell_name,
       ArgListargs,
       Cardinalnum_args);

See Also