XmPrintSetup - Man Page

setup and create a Print Shell widget

Synopsis

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

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, 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 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​.

Return Value

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

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

  ​.​.​.
}

See Also

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

Referenced By

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