XmPrintSetup(library call) XmPrintSetup(library call)
NAME
XmPrintSetup -- 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 heirarchy 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) XmPrintSetup(library call)