Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / lib / DtPrint / Print.h
1 /* $XConsortium: Print.h /main/13 1996/10/31 02:09:08 cde-hp $ */
2 /*
3  * DtPrint/Print.h
4  */
5 /* (c) Copyright 1990, 1991, 1992, 1993, 1994 OPEN SOFTWARE FOUNDATION, INC.
6  *     ALL RIGHTS RESERVED
7  * (c) Copyright 1989, 1996 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
8  * (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1995, 1996,
9  *     HEWLETT-PACKARD COMPANY
10  * (c) Copyright 1996 International Business Machines Corp.
11  * (c) Copyright 1996 Sun Microsystems, Inc.
12  * (c) Copyright 1996 Novell, Inc. 
13  * (c) Copyright 1996 FUJITSU LIMITED.
14  * (c) Copyright 1996 Hitachi.
15  */
16 #ifndef _DtPrint_h
17 #define _DtPrint_h
18
19 #include <Xm/Xm.h>
20 #include <X11/extensions/Print.h> 
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 /*
27  * Class record constants 
28  */
29 externalref WidgetClass dtPrintSetupBoxWidgetClass;
30
31 typedef struct _DtPrintSetupBoxClassRec * DtPrintSetupBoxWidgetClass;
32 typedef struct _DtPrintSetupBoxRec      * DtPrintSetupBoxWidget;
33
34
35 #ifndef DtIsPrintSetupBox
36 #define DtIsPrintSetupBox(w)  (XtIsSubclass (w, dtPrintSetupBoxWidgetClass))
37 #endif
38
39 /*
40  * Resource Names
41  */
42 #define DtNcancelCallback "cancelCallback"
43 #define DtNclosePrintDisplayCallback "closePrintDisplayCallback"
44 #define DtNcopies "copies"
45 #define DtNdescription "description"
46 #define DtNdestroyContextCallback "destroyContextCallback"
47 #define DtNfileName "fileName"
48 #ifndef DtNminimizeButtons
49 # define DtNminimizeButtons "minimizeButtons"
50 #endif
51 #define DtNoptionCount "optionCount"
52 #define DtNoptions "options"
53 #define DtNprintCallback "printCallback"
54 #define DtNprintDestination "printDestination"
55 #define DtNprinterInfoProc "printerInfoProc"
56 #define DtNprinterName "printerName"
57 #define DtNprintSetupMode "printSetupMode"
58 #define DtNselectFileProc "selectFileProc"
59 #define DtNselectPrinterProc "selectPrinterProc"
60 #define DtNsetupCallback "setupCallback"
61 #define DtNverifyPrinterProc "verifyPrinterProc"
62 #define DtNworkAreaLocation "workAreaLocation"
63
64 #define DtCCancelCallback "CancelCallback"
65 #define DtCClosePrintDisplayCallback "ClosePrintDisplayCallback"
66 #define DtCCopies "Copies"
67 #define DtCDescription "Description"
68 #define DtCDestroyContextCallback "DestroyContextCallback"
69 #define DtCFileName "FileName"
70 #ifndef DtCMinimizeButtons
71 # define DtCMinimizeButtons "MinimizeButtons"
72 #endif
73 #define DtCOptionCount "OptionCount"
74 #define DtCOptions "Options"
75 #define DtCPrintCallback "PrintCallback"
76 #define DtCPrintDestination "PrintDestination"
77 #define DtCPrinterInfoProc "PrinterInfoProc"
78 #define DtCPrinterName "PrinterName"
79 #define DtCPrintSetupMode "PrintSetupMode"
80 #define DtCSelectFileProc "SelectFileProc"
81 #define DtCSelectPrinterProc "SelectPrinterProc"
82 #define DtCSetupCallback "SetupCallback"
83 #define DtCVerifyPrinterProc "VerifyPrinterProc"
84 #define DtCWorkAreaLocation "WorkAreaLocation"
85
86 #define DtRPrintSetupProc "PrintSetupProc"
87
88 /*
89  * DtNsetupMode Resource Values
90  */
91 enum {
92     DtPRINT_SETUP_PLAIN,
93     DtPRINT_SETUP_XP
94 };
95
96 /*
97  * DtNworkAreaLocation Resource Values
98  */
99 enum {
100     DtWORK_AREA_NONE,
101     DtWORK_AREA_TOP,
102     DtWORK_AREA_TOP_AND_BOTTOM,
103     DtWORK_AREA_BOTTOM
104 };
105
106 /*
107  * DtNprintDestination Resource Values
108  */
109 enum { DtPRINT_NO_DESTINATION, DtPRINT_TO_PRINTER, DtPRINT_TO_FILE };
110
111 /*
112  * DtNprinterNameMode Resource Values
113  */
114 enum { DtSHORT_NAME, DtMEDIUM_NAME, DtLONG_NAME };
115
116 /*
117  * Mode values for DtPrintSetupBoxResetConnection()
118  */
119 typedef enum {
120     DtPRINT_CLOSE_CONNECTION,
121     DtPRINT_RELEASE_CONNECTION
122 } DtPrintResetConnectionMode;
123
124 /*
125  * Callback Reasons
126  */
127 enum {
128     DtPRINT_CR_NONE,
129     DtPRINT_CR_CANCEL,
130     DtPRINT_CR_CLOSE_PRINT_DISPLAY,
131     DtPRINT_CR_PRINT,
132     DtPRINT_CR_SETUP
133 };
134
135 /*
136  * DtPrint proecdure return values
137  */
138 enum {
139     DtPRINT_SUCCESS,
140     DtPRINT_BAD_PARM,
141     DtPRINT_FAILURE,
142     DtPRINT_INVALID_DISPLAY,
143     DtPRINT_NOT_XP_DISPLAY,
144     DtPRINT_NO_CONNECTION,
145     DtPRINT_NO_DEFAULT,
146     DtPRINT_NO_DEFAULT_DISPLAY,
147     DtPRINT_NO_PRINTER,
148     DtPRINT_PRINTER_MISSING
149 };
150
151 enum {
152     DtPRINT_HINT_MESSAGES_OK,
153     DtPRINT_HINT_NO_MESSAGES
154 };
155
156 /*
157  * PrintSetupBox Callback Structure Definition
158  */
159 typedef struct _DtPrintSetupData
160 {
161     String printer_name;
162     Display *print_display;
163     XPContext print_context;
164     XtEnum destination;
165     String dest_info;
166     XtEnum messages_hint;
167 } DtPrintSetupData;
168
169 typedef struct _DtPrintSetupCallbackStruct
170 {
171     int reason;
172     XEvent *event;
173     DtPrintSetupData *print_data;
174 } DtPrintSetupCallbackStruct;
175
176 /*
177  * PrintSetupBox Procedure Resource Type Definition
178  */
179 typedef XtEnum (*DtPrintSetupProc)(Widget, DtPrintSetupData*);
180
181 /*
182  * Public Function Declarations
183  */
184 extern Widget DtCreatePrintSetupBox(
185                                     Widget p,
186                                     String name,
187                                     ArgList args,
188                                     Cardinal n) ;
189 extern Widget DtCreatePrintSetupDialog(
190                                        Widget ds_p,
191                                        String name,
192                                        ArgList sb_args,
193                                        Cardinal sb_n) ;
194 extern DtPrintSetupData* DtPrintCopySetupData(
195                                               DtPrintSetupData* target,
196                                               const DtPrintSetupData* source);
197 extern XtEnum DtPrintFillSetupData(
198                                    Widget psub,
199                                    DtPrintSetupData* print_data);
200 extern void DtPrintFreeSetupData(
201                                  DtPrintSetupData* target);
202 extern XtEnum DtPrintResetConnection(
203                                      Widget psub,
204                                      DtPrintResetConnectionMode m);
205
206 #ifdef __cplusplus
207 }  /* Close scope of 'extern "C"' declaration which encloses file. */
208 #endif
209
210 #endif /* _DtPrint_h */
211 /* DON'T ADD ANYTHING AFTER THIS #endif */