]>
Commit | Line | Data |
---|---|---|
a660d684 KB |
1 | \section{\class{wxPrintData}}\label{wxprintdata} |
2 | ||
7bcb11d3 JS |
3 | This class holds a variety of information related to printers and |
4 | printer device contexts. This class is used to create a wxPrinterDC | |
5 | and a wxPostScriptDC. It is also used as a data member of wxPrintDialogData | |
6 | and wxPageSetupDialogData, as part of the mechanism for transferring data | |
7 | between the print dialogs and the application. | |
a660d684 KB |
8 | |
9 | \wxheading{Derived from} | |
10 | ||
11 | \helpref{wxObject}{wxobject} | |
12 | ||
954b8ae6 JS |
13 | \wxheading{Include files} |
14 | ||
15 | <wx/cmndata.h> | |
16 | ||
a660d684 KB |
17 | \wxheading{See also} |
18 | ||
fa482912 JS |
19 | \helpref{wxPrintDialog}{wxprintdialog}, |
20 | \helpref{wxPageSetupDialog}{wxpagesetupdialog}, | |
21 | \helpref{wxPrintDialogData}{wxprintdialogdata}, | |
22 | \helpref{wxPageSetupDialogData}{wxpagesetupdialogdata}, | |
23 | \helpref{wxPrintDialog Overview}{wxprintdialogoverview}, | |
24 | \helpref{wxPrinterDC}{wxprinterdc}, | |
7bcb11d3 JS |
25 | \helpref{wxPostScriptDC}{wxpostscriptdc} |
26 | ||
27 | \wxheading{Remarks} | |
28 | ||
29 | The following functions are specific to PostScript printing | |
30 | and have not yet been documented: | |
31 | ||
32 | \begin{verbatim} | |
33 | const wxString& GetPrinterCommand() const ; | |
34 | const wxString& GetPrinterOptions() const ; | |
35 | const wxString& GetPreviewCommand() const ; | |
36 | const wxString& GetFilename() const ; | |
37 | const wxString& GetFontMetricPath() const ; | |
38 | double GetPrinterScaleX() const ; | |
39 | double GetPrinterScaleY() const ; | |
40 | long GetPrinterTranslateX() const ; | |
41 | long GetPrinterTranslateY() const ; | |
42 | // wxPRINT_MODE_PREVIEW, wxPRINT_MODE_FILE, wxPRINT_MODE_PRINTER | |
43 | wxPrintMode GetPrintMode() const ; | |
44 | ||
45 | void SetPrinterCommand(const wxString& command) ; | |
46 | void SetPrinterOptions(const wxString& options) ; | |
47 | void SetPreviewCommand(const wxString& command) ; | |
48 | void SetFilename(const wxString& filename) ; | |
49 | void SetFontMetricPath(const wxString& path) ; | |
50 | void SetPrinterScaleX(double x) ; | |
51 | void SetPrinterScaleY(double y) ; | |
52 | void SetPrinterScaling(double x, double y) ; | |
53 | void SetPrinterTranslateX(long x) ; | |
54 | void SetPrinterTranslateY(long y) ; | |
55 | void SetPrinterTranslation(long x, long y) ; | |
56 | void SetPrintMode(wxPrintMode printMode) ; | |
57 | \end{verbatim} | |
a660d684 KB |
58 | |
59 | \latexignore{\rtfignore{\wxheading{Members}}} | |
60 | ||
60090256 | 61 | |
3e79fa75 | 62 | \membersection{wxPrintData::wxPrintData}\label{wxprintdatactor} |
a660d684 KB |
63 | |
64 | \func{}{wxPrintData}{\void} | |
65 | ||
7bcb11d3 JS |
66 | Default constructor. |
67 | ||
68 | \func{}{wxPrintData}{\param{const wxPrintData\&}{ data}} | |
69 | ||
70 | Copy constructor. | |
a660d684 | 71 | |
60090256 | 72 | |
3e79fa75 | 73 | \membersection{wxPrintData::\destruct{wxPrintData}}\label{wxprintdatadtor} |
a660d684 KB |
74 | |
75 | \func{}{\destruct{wxPrintData}}{\void} | |
76 | ||
77 | Destructor. | |
78 | ||
60090256 | 79 | |
a660d684 KB |
80 | \membersection{wxPrintData::GetCollate}\label{wxprintdatagetcollate} |
81 | ||
7bcb11d3 | 82 | \constfunc{bool}{GetCollate}{\void} |
a660d684 | 83 | |
cc81d32f | 84 | Returns true if collation is on. |
a660d684 | 85 | |
60090256 VZ |
86 | |
87 | \membersection{wxPrintData::GetBin}\label{wxprintdatagetbin} | |
88 | ||
89 | \constfunc{wxPrintBin}{GetBin}{\void} | |
90 | ||
91 | Returns the current bin (papersource). By default, the system is left to select | |
92 | the bin (\texttt{wxPRINTBIN\_DEFAULT} is returned). | |
93 | ||
94 | See \helpref{SetBin()}{wxprintdatasetbin} for the full list of bin values. | |
95 | ||
96 | ||
7bcb11d3 | 97 | \membersection{wxPrintData::GetColour}\label{wxprintdatagetcolour} |
a660d684 | 98 | |
7bcb11d3 | 99 | \constfunc{bool}{GetColour}{\void} |
a660d684 | 100 | |
cc81d32f | 101 | Returns true if colour printing is on. |
a660d684 | 102 | |
60090256 | 103 | |
7bcb11d3 | 104 | \membersection{wxPrintData::GetDuplex}\label{wxprintdatagetduplex} |
a660d684 | 105 | |
7bcb11d3 | 106 | \constfunc{wxDuplexMode}{GetDuplex}{\void} |
a660d684 | 107 | |
7bcb11d3 | 108 | Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL. |
a660d684 | 109 | |
60090256 | 110 | |
a660d684 KB |
111 | \membersection{wxPrintData::GetNoCopies}\label{wxprintdatagetnocopies} |
112 | ||
7bcb11d3 | 113 | \constfunc{int}{GetNoCopies}{\void} |
a660d684 KB |
114 | |
115 | Returns the number of copies requested by the user. | |
116 | ||
60090256 | 117 | |
a660d684 KB |
118 | \membersection{wxPrintData::GetOrientation}\label{wxprintdatagetorientation} |
119 | ||
7bcb11d3 | 120 | \constfunc{int}{GetOrientation}{\void} |
a660d684 KB |
121 | |
122 | Gets the orientation. This can be wxLANDSCAPE or wxPORTRAIT. | |
123 | ||
60090256 | 124 | |
7bcb11d3 | 125 | \membersection{wxPrintData::GetPaperId}\label{wxprintdatagetpaperid} |
a660d684 | 126 | |
7bcb11d3 | 127 | \constfunc{wxPaperSize}{GetPaperId}{\void} |
a660d684 | 128 | |
7bcb11d3 | 129 | Returns the paper size id. For more information, see \helpref{wxPrintData::SetPaperId}{wxprintdatasetpaperid}. |
a660d684 | 130 | |
60090256 | 131 | |
7bcb11d3 | 132 | \membersection{wxPrintData::GetPrinterName}\label{wxprintdatagetprintername} |
a660d684 | 133 | |
7bcb11d3 | 134 | \constfunc{const wxString\&}{GetPrinterName}{\void} |
a660d684 | 135 | |
7bcb11d3 JS |
136 | Returns the printer name. If the printer name is the empty string, it indicates that the default |
137 | printer should be used. | |
a660d684 | 138 | |
60090256 | 139 | |
7bcb11d3 | 140 | \membersection{wxPrintData::GetQuality}\label{wxprintdatagetquality} |
a660d684 | 141 | |
6394c596 | 142 | \constfunc{wxPrintQuality}{GetQuality}{\void} |
a660d684 | 143 | |
7bcb11d3 JS |
144 | Returns the current print quality. This can be a positive integer, denoting the number of dots per inch, or |
145 | one of the following identifiers: | |
a660d684 | 146 | |
7bcb11d3 | 147 | \begin{verbatim} |
a66abda9 GT |
148 | wxPRINT_QUALITY_HIGH |
149 | wxPRINT_QUALITY_MEDIUM | |
150 | wxPRINT_QUALITY_LOW | |
151 | wxPRINT_QUALITY_DRAFT | |
7bcb11d3 | 152 | \end{verbatim} |
a660d684 | 153 | |
7bcb11d3 JS |
154 | On input you should pass one of these identifiers, but on return you may get back a positive integer |
155 | indicating the current resolution setting. | |
a660d684 | 156 | |
60090256 | 157 | |
58cf0491 JS |
158 | \membersection{wxPrintData::Ok}\label{wxprintdataok} |
159 | ||
160 | \constfunc{bool}{Ok}{\void} | |
161 | ||
cc81d32f VS |
162 | Returns true if the print data is valid for using in print dialogs. |
163 | This can return false on Windows if the current printer is not set, for example. | |
164 | On all other platforms, it returns true. | |
58cf0491 | 165 | |
60090256 VZ |
166 | |
167 | \membersection{wxPrintData::SetBin}\label{wxprintdatasetbin} | |
168 | ||
169 | \func{void}{SetBin}{\param{wxPrintBin }{flag}} | |
170 | ||
171 | Sets the current bin. Possible values are: | |
172 | ||
173 | \small{ | |
174 | \begin{verbatim} | |
175 | enum wxPrintBin | |
176 | { | |
177 | wxPRINTBIN_DEFAULT, | |
178 | ||
179 | wxPRINTBIN_ONLYONE, | |
180 | wxPRINTBIN_LOWER, | |
181 | wxPRINTBIN_MIDDLE, | |
182 | wxPRINTBIN_MANUAL, | |
183 | wxPRINTBIN_ENVELOPE, | |
184 | wxPRINTBIN_ENVMANUAL, | |
185 | wxPRINTBIN_AUTO, | |
186 | wxPRINTBIN_TRACTOR, | |
187 | wxPRINTBIN_SMALLFMT, | |
188 | wxPRINTBIN_LARGEFMT, | |
189 | wxPRINTBIN_LARGECAPACITY, | |
190 | wxPRINTBIN_CASSETTE, | |
191 | wxPRINTBIN_FORMSOURCE, | |
192 | ||
193 | wxPRINTBIN_USER, | |
194 | }; | |
195 | \end{verbatim} | |
196 | } | |
197 | ||
198 | ||
7bcb11d3 | 199 | \membersection{wxPrintData::SetCollate}\label{wxprintdatasetcollate} |
a660d684 | 200 | |
7bcb11d3 | 201 | \func{void}{SetCollate}{\param{bool }{flag}} |
a660d684 | 202 | |
7bcb11d3 | 203 | Sets collation to on or off. |
a660d684 | 204 | |
60090256 | 205 | |
7bcb11d3 | 206 | \membersection{wxPrintData::SetColour}\label{wxprintdatasetcolour} |
a660d684 | 207 | |
7bcb11d3 | 208 | \func{void}{SetColour}{\param{bool }{flag}} |
a660d684 | 209 | |
7bcb11d3 | 210 | Sets colour printing on or off. |
a660d684 | 211 | |
60090256 | 212 | |
7bcb11d3 JS |
213 | \membersection{wxPrintData::SetDuplex}\label{wxprintdatasetduplex} |
214 | ||
215 | \func{void}{SetDuplex}{\param{wxDuplexMode}{ mode}} | |
216 | ||
217 | Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL. | |
a660d684 | 218 | |
60090256 | 219 | |
a660d684 KB |
220 | \membersection{wxPrintData::SetNoCopies}\label{wxprintdatasetnocopies} |
221 | ||
222 | \func{void}{SetNoCopies}{\param{int }{n}} | |
223 | ||
224 | Sets the default number of copies to be printed out. | |
225 | ||
60090256 | 226 | |
7bcb11d3 | 227 | \membersection{wxPrintData::SetOrientation}\label{wxprintdatasetorientation} |
a660d684 | 228 | |
7bcb11d3 | 229 | \func{void}{SetOrientation}{\param{int }{orientation}} |
a660d684 | 230 | |
7bcb11d3 | 231 | Sets the orientation. This can be wxLANDSCAPE or wxPORTRAIT. |
a660d684 | 232 | |
60090256 | 233 | |
7bcb11d3 JS |
234 | \membersection{wxPrintData::SetPaperId}\label{wxprintdatasetpaperid} |
235 | ||
236 | \func{void}{SetPaperId}{\param{wxPaperSize}{ paperId}} | |
237 | ||
238 | \index{wxPaperSize}Sets the paper id. This indicates the type of paper to be used. For a mapping between | |
239 | paper id, paper size and string name, see wxPrintPaperDatabase in {\tt paper.h} (not yet documented). | |
240 | ||
241 | {\it paperId} can be one of: | |
242 | ||
243 | {\small | |
244 | \begin{verbatim} | |
245 | wxPAPER_NONE, // Use specific dimensions | |
246 | wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches | |
247 | wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches | |
248 | wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters | |
249 | wxPAPER_CSHEET, // C Sheet, 17 by 22 inches | |
250 | wxPAPER_DSHEET, // D Sheet, 22 by 34 inches | |
251 | wxPAPER_ESHEET, // E Sheet, 34 by 44 inches | |
252 | wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches | |
253 | wxPAPER_TABLOID, // Tabloid, 11 by 17 inches | |
254 | wxPAPER_LEDGER, // Ledger, 17 by 11 inches | |
255 | wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches | |
256 | wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches | |
257 | wxPAPER_A3, // A3 sheet, 297 by 420 millimeters | |
258 | wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters | |
259 | wxPAPER_A5, // A5 sheet, 148 by 210 millimeters | |
260 | wxPAPER_B4, // B4 sheet, 250 by 354 millimeters | |
261 | wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper | |
262 | wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper | |
263 | wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper | |
264 | wxPAPER_10X14, // 10-by-14-inch sheet | |
265 | wxPAPER_11X17, // 11-by-17-inch sheet | |
266 | wxPAPER_NOTE, // Note, 8 1/2 by 11 inches | |
267 | wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches | |
268 | wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches | |
269 | wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches | |
270 | wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches | |
271 | wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches | |
272 | wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters | |
273 | wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters | |
274 | wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters | |
275 | wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters | |
276 | wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters | |
277 | wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters | |
278 | wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters | |
279 | wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters | |
280 | wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters | |
281 | wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters | |
282 | wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches | |
283 | wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches | |
284 | wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches | |
285 | wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches | |
286 | wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches | |
287 | ||
288 | Windows 95 only: | |
289 | wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm | |
290 | wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm | |
291 | wxPAPER_9X11, // 9 x 11 in | |
292 | wxPAPER_10X11, // 10 x 11 in | |
293 | wxPAPER_15X11, // 15 x 11 in | |
294 | wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm | |
295 | wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in | |
296 | wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in | |
297 | wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in | |
298 | wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in | |
299 | wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in | |
300 | wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm | |
301 | wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in | |
302 | wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm | |
303 | wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm | |
304 | wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in | |
305 | wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm | |
306 | wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm | |
307 | wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm | |
308 | wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm | |
309 | wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm | |
310 | wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm | |
311 | wxPAPER_A2, // A2 420 x 594 mm | |
312 | wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm | |
313 | wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm | |
314 | \end{verbatim} | |
315 | } | |
316 | ||
60090256 | 317 | |
7bcb11d3 JS |
318 | \membersection{wxPrintData::SetPrinterName}\label{wxprintdatasetprintername} |
319 | ||
320 | \func{void}{SetPrinterName}{\param{const wxString\& }{printerName}} | |
321 | ||
322 | Sets the printer name. This can be the empty string to indicate that the default | |
323 | printer should be used. | |
324 | ||
60090256 | 325 | |
7bcb11d3 JS |
326 | \membersection{wxPrintData::SetQuality}\label{wxprintdatasetquality} |
327 | ||
6394c596 | 328 | \func{void}{SetQuality}{\param{wxPrintQuality}{ quality}} |
7bcb11d3 JS |
329 | |
330 | Sets the desired print quality. This can be a positive integer, denoting the number of dots per inch, or | |
331 | one of the following identifiers: | |
332 | ||
333 | \begin{verbatim} | |
a66abda9 GT |
334 | wxPRINT_QUALITY_HIGH |
335 | wxPRINT_QUALITY_MEDIUM | |
336 | wxPRINT_QUALITY_LOW | |
337 | wxPRINT_QUALITY_DRAFT | |
7bcb11d3 JS |
338 | \end{verbatim} |
339 | ||
340 | On input you should pass one of these identifiers, but on return you may get back a positive integer | |
341 | indicating the current resolution setting. | |
342 | ||
60090256 | 343 | |
7bcb11d3 JS |
344 | \membersection{wxPrintData::operator $=$}\label{wxprintdataassign} |
345 | ||
346 | \func{void}{operator $=$}{\param{const wxPrintData\&}{ data}} | |
347 | ||
348 | Assigns print data to this object. | |
349 | ||
350 | \func{void}{operator $=$}{\param{const wxPrintSetupData\&}{ data}} | |
351 | ||
352 | Assigns print setup data to this object. wxPrintSetupData is deprecated, | |
353 | but retained for backward compatibility. | |
a660d684 KB |
354 | |
355 | \section{\class{wxPrintDialog}}\label{wxprintdialog} | |
356 | ||
357 | This class represents the print and print setup common dialogs. | |
358 | You may obtain a \helpref{wxPrinterDC}{wxprinterdc} device context from | |
359 | a successfully dismissed print dialog. | |
360 | ||
361 | \wxheading{Derived from} | |
362 | ||
363 | \helpref{wxDialog}{wxdialog}\\ | |
364 | \helpref{wxWindow}{wxwindow}\\ | |
365 | \helpref{wxEvtHandler}{wxevthandler}\\ | |
366 | \helpref{wxObject}{wxobject} | |
367 | ||
954b8ae6 JS |
368 | \wxheading{Include files} |
369 | ||
370 | <wx/printdlg.h> | |
371 | ||
a660d684 KB |
372 | \wxheading{See also} |
373 | ||
374 | \helpref{wxPrintDialog Overview}{wxprintdialogoverview} | |
375 | ||
376 | \latexignore{\rtfignore{\wxheading{Members}}} | |
377 | ||
60090256 | 378 | |
3e79fa75 | 379 | \membersection{wxPrintDialog::wxPrintDialog}\label{wxprintdialogctor} |
a660d684 | 380 | |
7bcb11d3 | 381 | \func{}{wxPrintDialog}{\param{wxWindow* }{parent}, \param{wxPrintDialogData* }{data = NULL}} |
a660d684 KB |
382 | |
383 | Constructor. Pass a parent window, and optionally a pointer to a block of print | |
384 | data, which will be copied to the print dialog's print data. | |
385 | ||
386 | \wxheading{See also} | |
387 | ||
7bcb11d3 | 388 | \helpref{wxPrintDialogData}{wxprintdialogdata} |
a660d684 | 389 | |
60090256 | 390 | |
3e79fa75 | 391 | \membersection{wxPrintDialog::\destruct{wxPrintDialog}}\label{wxprintdialogdtor} |
a660d684 KB |
392 | |
393 | \func{}{\destruct{wxPrintDialog}}{\void} | |
394 | ||
395 | Destructor. If wxPrintDialog::GetPrintDC has {\it not} been called, | |
396 | the device context obtained by the dialog (if any) will be deleted. | |
397 | ||
60090256 | 398 | |
7bcb11d3 | 399 | \membersection{wxPrintDialog::GetPrintDialogData}\label{wxprintdialoggetprintdialogdata} |
a660d684 | 400 | |
7bcb11d3 | 401 | \func{wxPrintDialogData\&}{GetPrintDialogData}{\void} |
a660d684 | 402 | |
7bcb11d3 | 403 | Returns the \helpref{print dialog data}{wxprintdialogdata} associated with the print dialog. |
a660d684 | 404 | |
60090256 | 405 | |
a660d684 KB |
406 | \membersection{wxPrintDialog::GetPrintDC}\label{wxprintdialoggetprintdc} |
407 | ||
408 | \func{wxDC* }{GetPrintDC}{\void} | |
409 | ||
410 | Returns the device context created by the print dialog, if any. | |
411 | When this function has been called, the ownership of the device context | |
412 | is transferred to the application, so it must then be deleted | |
413 | explicitly. | |
414 | ||
60090256 | 415 | |
a660d684 KB |
416 | \membersection{wxPrintDialog::ShowModal}\label{wxprintdialogshowmodal} |
417 | ||
418 | \func{int}{ShowModal}{\void} | |
419 | ||
420 | Shows the dialog, returning wxID\_OK if the user pressed OK, and wxID\_CANCEL | |
421 | otherwise. After this function is called, a device context may | |
422 | be retrievable using \helpref{wxPrintDialog::GetPrintDC}{wxprintdialoggetprintdc}. | |
423 | ||
7bcb11d3 JS |
424 | \section{\class{wxPrintDialogData}}\label{wxprintdialogdata} |
425 | ||
426 | This class holds information related to the visual characteristics of wxPrintDialog. | |
427 | It contains a wxPrintData object with underlying printing settings. | |
428 | ||
429 | \wxheading{Derived from} | |
430 | ||
431 | \helpref{wxObject}{wxobject} | |
432 | ||
433 | \wxheading{Include files} | |
434 | ||
435 | <wx/cmndata.h> | |
436 | ||
437 | \wxheading{See also} | |
438 | ||
439 | \helpref{wxPrintDialog}{wxprintdialog}, \helpref{wxPrintDialog Overview}{wxprintdialogoverview} | |
440 | ||
441 | \latexignore{\rtfignore{\wxheading{Members}}} | |
442 | ||
60090256 | 443 | |
3e79fa75 | 444 | \membersection{wxPrintDialogData::wxPrintDialogData}\label{wxprintdialogdatactor} |
7bcb11d3 JS |
445 | |
446 | \func{}{wxPrintDialogData}{\void} | |
447 | ||
448 | Default constructor. | |
449 | ||
450 | \func{}{wxPrintDialogData}{\param{wxPrintDialogData\&}{ dialogData}} | |
451 | ||
452 | Copy constructor. | |
453 | ||
454 | \func{}{wxPrintDialogData}{\param{wxPrintData\&}{ printData}} | |
455 | ||
456 | Construct an object from a print dialog data object. | |
457 | ||
60090256 | 458 | |
3e79fa75 | 459 | \membersection{wxPrintDialogData::\destruct{wxPrintDialogData}}\label{wxprintdialogdatadtor} |
7bcb11d3 JS |
460 | |
461 | \func{}{\destruct{wxPrintDialogData}}{\void} | |
462 | ||
463 | Destructor. | |
464 | ||
60090256 | 465 | |
7bcb11d3 JS |
466 | \membersection{wxPrintDialogData::EnableHelp}\label{wxprintdialogdataenablehelp} |
467 | ||
468 | \func{void}{EnableHelp}{\param{bool }{flag}} | |
469 | ||
470 | Enables or disables the `Help' button. | |
471 | ||
60090256 | 472 | |
7bcb11d3 JS |
473 | \membersection{wxPrintDialogData::EnablePageNumbers}\label{wxprintdialogdataenablepagenumbers} |
474 | ||
475 | \func{void}{EnablePageNumbers}{\param{bool }{flag}} | |
476 | ||
477 | Enables or disables the `Page numbers' controls. | |
478 | ||
60090256 | 479 | |
7bcb11d3 JS |
480 | \membersection{wxPrintDialogData::EnablePrintToFile}\label{wxprintdialogdataenableprinttofile} |
481 | ||
482 | \func{void}{EnablePrintToFile}{\param{bool }{flag}} | |
483 | ||
484 | Enables or disables the `Print to file' checkbox. | |
485 | ||
60090256 | 486 | |
7bcb11d3 JS |
487 | \membersection{wxPrintDialogData::EnableSelection}\label{wxprintdialogdataenableselection} |
488 | ||
489 | \func{void}{EnableSelection}{\param{bool }{flag}} | |
490 | ||
491 | Enables or disables the `Selection' radio button. | |
492 | ||
60090256 | 493 | |
7bcb11d3 JS |
494 | \membersection{wxPrintDialogData::GetAllPages}\label{wxprintdialogdatagetallpages} |
495 | ||
496 | \constfunc{bool}{GetAllPages}{\void} | |
497 | ||
cc81d32f | 498 | Returns true if the user requested that all pages be printed. |
7bcb11d3 | 499 | |
60090256 | 500 | |
7bcb11d3 JS |
501 | \membersection{wxPrintDialogData::GetCollate}\label{wxprintdialogdatagetcollate} |
502 | ||
503 | \constfunc{bool}{GetCollate}{\void} | |
504 | ||
cc81d32f | 505 | Returns true if the user requested that the document(s) be collated. |
7bcb11d3 | 506 | |
60090256 | 507 | |
7bcb11d3 JS |
508 | \membersection{wxPrintDialogData::GetFromPage}\label{wxprintdialogdatagetfrompage} |
509 | ||
510 | \constfunc{int}{GetFromPage}{\void} | |
511 | ||
512 | Returns the {\it from} page number, as entered by the user. | |
513 | ||
60090256 | 514 | |
7bcb11d3 JS |
515 | \membersection{wxPrintDialogData::GetMaxPage}\label{wxprintdialogdatagetmaxpage} |
516 | ||
517 | \constfunc{int}{GetMaxPage}{\void} | |
518 | ||
519 | Returns the {\it maximum} page number. | |
520 | ||
60090256 | 521 | |
7bcb11d3 JS |
522 | \membersection{wxPrintDialogData::GetMinPage}\label{wxprintdialogdatagetminpage} |
523 | ||
524 | \constfunc{int}{GetMinPage}{\void} | |
525 | ||
526 | Returns the {\it minimum} page number. | |
527 | ||
60090256 | 528 | |
7bcb11d3 JS |
529 | \membersection{wxPrintDialogData::GetNoCopies}\label{wxprintdialogdatagetnocopies} |
530 | ||
531 | \constfunc{int}{GetNoCopies}{\void} | |
532 | ||
533 | Returns the number of copies requested by the user. | |
534 | ||
60090256 | 535 | |
7bcb11d3 JS |
536 | \membersection{wxPrintDialogData::GetPrintData}\label{wxprintdialogdatagetprintdata} |
537 | ||
538 | \func{wxPrintData\&}{GetPrintData}{\void} | |
539 | ||
540 | Returns a reference to the internal wxPrintData object. | |
541 | ||
60090256 | 542 | |
7bcb11d3 JS |
543 | \membersection{wxPrintDialogData::GetPrintToFile}\label{wxprintdialogdatagetprinttofile} |
544 | ||
545 | \constfunc{bool}{GetPrintToFile}{\void} | |
546 | ||
cc81d32f | 547 | Returns true if the user has selected printing to a file. |
7bcb11d3 | 548 | |
60090256 | 549 | |
5360828d JS |
550 | \membersection{wxPrintDialogData::GetSelection}\label{wxprintdialogdatagetselection} |
551 | ||
552 | \constfunc{bool}{GetSelection}{\void} | |
553 | ||
cc81d32f | 554 | Returns true if the user requested that the selection be printed (where 'selection' is |
5360828d JS |
555 | a concept specific to the application). |
556 | ||
60090256 | 557 | |
7bcb11d3 JS |
558 | \membersection{wxPrintDialogData::GetToPage}\label{wxprintdialogdatagettopage} |
559 | ||
560 | \constfunc{int}{GetToPage}{\void} | |
561 | ||
562 | Returns the {\it to} page number, as entered by the user. | |
563 | ||
60090256 | 564 | |
58cf0491 JS |
565 | \membersection{wxPrintDialogData::Ok}\label{wxprintdialogdataok} |
566 | ||
567 | \constfunc{bool}{Ok}{\void} | |
568 | ||
cc81d32f VS |
569 | Returns true if the print data is valid for using in print dialogs. |
570 | This can return false on Windows if the current printer is not set, for example. | |
571 | On all other platforms, it returns true. | |
58cf0491 | 572 | |
60090256 | 573 | |
7bcb11d3 JS |
574 | \membersection{wxPrintDialogData::SetCollate}\label{wxprintdialogdatasetcollate} |
575 | ||
576 | \func{void}{SetCollate}{\param{bool }{flag}} | |
577 | ||
cc81d32f | 578 | Sets the 'Collate' checkbox to true or false. |
7bcb11d3 | 579 | |
60090256 | 580 | |
7bcb11d3 JS |
581 | \membersection{wxPrintDialogData::SetFromPage}\label{wxprintdialogdatasetfrompage} |
582 | ||
583 | \func{void}{SetFromPage}{\param{int }{page}} | |
584 | ||
585 | Sets the {\it from} page number. | |
586 | ||
60090256 | 587 | |
7bcb11d3 JS |
588 | \membersection{wxPrintDialogData::SetMaxPage}\label{wxprintdialogdatasetmaxpage} |
589 | ||
590 | \func{void}{SetMaxPage}{\param{int }{page}} | |
591 | ||
592 | Sets the {\it maximum} page number. | |
593 | ||
60090256 | 594 | |
7bcb11d3 JS |
595 | \membersection{wxPrintDialogData::SetMinPage}\label{wxprintdialogdatasetminpage} |
596 | ||
597 | \func{void}{SetMinPage}{\param{int }{page}} | |
598 | ||
599 | Sets the {\it minimum} page number. | |
600 | ||
60090256 | 601 | |
7bcb11d3 JS |
602 | \membersection{wxPrintDialogData::SetNoCopies}\label{wxprintdialogdatasetnocopies} |
603 | ||
604 | \func{void}{SetNoCopies}{\param{int }{n}} | |
605 | ||
606 | Sets the default number of copies the user has requested to be printed out. | |
607 | ||
60090256 | 608 | |
7bcb11d3 JS |
609 | \membersection{wxPrintDialogData::SetPrintData}\label{wxprintdialogdatasetprintdata} |
610 | ||
611 | \func{void}{SetPrintData}{\param{const wxPrintData\& }{printData}} | |
612 | ||
613 | Sets the internal wxPrintData. | |
614 | ||
60090256 | 615 | |
7bcb11d3 JS |
616 | \membersection{wxPrintDialogData::SetPrintToFile}\label{wxprintdialogdatasetprinttofile} |
617 | ||
618 | \func{void}{SetPrintToFile}{\param{bool }{flag}} | |
619 | ||
cc81d32f | 620 | Sets the 'Print to file' checkbox to true or false. |
7bcb11d3 | 621 | |
60090256 | 622 | |
5360828d JS |
623 | \membersection{wxPrintDialogData::SetSelection}\label{wxprintdialogdatasetselection} |
624 | ||
625 | \func{void}{SetSelection}{\param{bool}{ flag}} | |
626 | ||
627 | Selects the 'Selection' radio button. The effect of printing the selection depends on how the application | |
628 | implements this command, if at all. | |
629 | ||
60090256 | 630 | |
7bcb11d3 JS |
631 | \membersection{wxPrintDialogData::SetSetupDialog}\label{wxprintdialogdatasetsetupdialog} |
632 | ||
633 | \func{void}{SetSetupDialog}{\param{bool }{flag}} | |
634 | ||
635 | Determines whether the dialog to be shown will be the Print dialog | |
cc81d32f | 636 | (pass false) or Print Setup dialog (pass true). |
7bcb11d3 JS |
637 | |
638 | Note that the setup dialog is (according to Microsoft) obsolete from | |
639 | Windows 95, though retained for backward compatibility. | |
640 | ||
60090256 | 641 | |
7bcb11d3 JS |
642 | \membersection{wxPrintDialogData::SetToPage}\label{wxprintdialogdatasettopage} |
643 | ||
644 | \func{void}{SetToPage}{\param{int }{page}} | |
645 | ||
646 | Sets the {\it to} page number. | |
647 | ||
60090256 | 648 | |
7bcb11d3 JS |
649 | \membersection{wxPrintDialogData::operator $=$}\label{wxprintdialogdataassign} |
650 | ||
651 | \func{void}{operator $=$}{\param{const wxPrintData\&}{ data}} | |
652 | ||
653 | Assigns print data to this object. | |
654 | ||
655 | \func{void}{operator $=$}{\param{const wxPrintDialogData\&}{ data}} | |
656 | ||
657 | Assigns another print dialog data object to this object. | |
658 | ||
a660d684 KB |
659 | \section{\class{wxPrinter}}\label{wxprinter} |
660 | ||
661 | This class represents the Windows or PostScript printer, and is the vehicle through | |
662 | which printing may be launched by an application. Printing can also | |
663 | be achieved through using of lower functions and classes, but | |
664 | this and associated classes provide a more convenient and general | |
665 | method of printing. | |
666 | ||
667 | \wxheading{Derived from} | |
668 | ||
669 | \helpref{wxObject}{wxobject} | |
670 | ||
954b8ae6 JS |
671 | \wxheading{Include files} |
672 | ||
673 | <wx/print.h> | |
674 | ||
a660d684 KB |
675 | \wxheading{See also} |
676 | ||
677 | \helpref{Printing framework overview}{printingoverview}, \helpref{wxPrinterDC}{wxprinterdc}, \helpref{wxPrintDialog}{wxprintdialog},\rtfsp | |
678 | \helpref{wxPrintout}{wxprintout}, \helpref{wxPrintPreview}{wxprintpreview}. | |
679 | ||
680 | \latexignore{\rtfignore{\wxheading{Members}}} | |
681 | ||
60090256 | 682 | |
3e79fa75 | 683 | \membersection{wxPrinter::wxPrinter}\label{wxprinterctor} |
a660d684 | 684 | |
7bcb11d3 | 685 | \func{}{wxPrinter}{\param{wxPrintDialogData* }{data = NULL}} |
a660d684 KB |
686 | |
687 | Constructor. Pass an optional pointer to a block of print | |
7bcb11d3 | 688 | dialog data, which will be copied to the printer object's local data. |
a660d684 KB |
689 | |
690 | \wxheading{See also} | |
691 | ||
2233e5b8 | 692 | \helpref{wxPrintDialogData}{wxprintdialogdata}, |
a660d684 KB |
693 | \helpref{wxPrintData}{wxprintdata} |
694 | ||
60090256 | 695 | |
60090256 | 696 | |
a660d684 KB |
697 | \membersection{wxPrinter::CreateAbortWindow}\label{wxprintercreateabortwindow} |
698 | ||
699 | \func{void}{CreateAbortWindow}{\param{wxWindow* }{parent}, \param{wxPrintout* }{printout}} | |
700 | ||
701 | Creates the default printing abort window, with a cancel button. | |
702 | ||
f6bcfd97 | 703 | |
9a75ba66 RN |
704 | \membersection{wxPrinter::GetAbort}\label{wxprintergetabort} |
705 | ||
706 | \func{bool}{GetAbort}{\void} | |
707 | ||
708 | Returns true if the user has aborted the print job. | |
709 | ||
60090256 | 710 | |
f6bcfd97 BP |
711 | \membersection{wxPrinter::GetLastError}\label{wxprintergetlasterror} |
712 | ||
713 | \func{static wxPrinterError}{GetLastError}{\void} | |
714 | ||
715 | Return last error. Valid after calling \helpref{Print}{wxprinterprint}, | |
716 | \helpref{PrintDialog}{wxprinterprintdialog} or | |
717 | \helpref{wxPrintPreview::Print}{wxprintpreviewprint}. These functions | |
718 | set last error to {\bf wxPRINTER\_NO\_ERROR} if no error happened. | |
719 | ||
720 | Returned value is one of the following: | |
721 | ||
722 | \twocolwidtha{7cm} | |
723 | \begin{twocollist}\itemsep=0pt | |
724 | \twocolitem{{\bf wxPRINTER\_NO\_ERROR}}{No error happened.} | |
725 | \twocolitem{{\bf wxPRINTER\_CANCELLED}}{The user cancelled printing.} | |
726 | \twocolitem{{\bf wxPRINTER\_ERROR}}{There was an error during printing.} | |
727 | \end{twocollist} | |
728 | ||
729 | ||
60090256 | 730 | |
7bcb11d3 | 731 | \membersection{wxPrinter::GetPrintDialogData}\label{wxprintergetprintdialogdata} |
a660d684 | 732 | |
7bcb11d3 | 733 | \func{wxPrintDialogData\&}{GetPrintDialogData}{\void} |
a660d684 KB |
734 | |
735 | Returns the \helpref{print data}{wxprintdata} associated with the printer object. | |
736 | ||
60090256 | 737 | |
a660d684 KB |
738 | \membersection{wxPrinter::Print}\label{wxprinterprint} |
739 | ||
cc81d32f | 740 | \func{bool}{Print}{\param{wxWindow *}{parent}, \param{wxPrintout *}{printout}, \param{bool }{prompt=true}} |
a660d684 KB |
741 | |
742 | Starts the printing process. Provide a parent window, a user-defined wxPrintout object which controls | |
743 | the printing of a document, and whether the print dialog should be invoked first. | |
744 | ||
cc81d32f | 745 | Print could return false if there was a problem initializing the printer device context |
f6bcfd97 BP |
746 | (current printer not set, for example) or the user cancelled printing. Call |
747 | \helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed | |
748 | information about the kind of the error. | |
a660d684 | 749 | |
60090256 | 750 | |
a660d684 KB |
751 | \membersection{wxPrinter::PrintDialog}\label{wxprinterprintdialog} |
752 | ||
7bcb11d3 JS |
753 | \func{wxDC*}{PrintDialog}{\param{wxWindow *}{parent}} |
754 | ||
755 | Invokes the print dialog. If successful (the user did not press Cancel | |
756 | and no error occurred), a suitable device context will be returned | |
f6bcfd97 BP |
757 | (otherwise NULL is returned -- call |
758 | \helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed | |
759 | information about the kind of the error). | |
a660d684 | 760 | |
7bcb11d3 | 761 | The application must delete this device context to avoid a memory leak. |
a660d684 | 762 | |
60090256 | 763 | |
a660d684 KB |
764 | \membersection{wxPrinter::ReportError}\label{wxprinterreporterror} |
765 | ||
766 | \func{void}{ReportError}{\param{wxWindow *}{parent}, \param{wxPrintout *}{printout}, \param{const wxString\& }{message}} | |
767 | ||
768 | Default error-reporting function. | |
769 | ||
60090256 | 770 | |
a660d684 KB |
771 | \membersection{wxPrinter::Setup}\label{wxprintersetup} |
772 | ||
7bcb11d3 | 773 | \func{bool}{Setup}{\param{wxWindow *}{parent}} |
a660d684 KB |
774 | |
775 | Invokes the print setup dialog. Note that the setup dialog is obsolete from | |
776 | Windows 95, though retained for backward compatibility. | |
777 | ||
778 | \section{\class{wxPrinterDC}}\label{wxprinterdc} | |
779 | ||
780 | A printer device context is specific to Windows, and allows access to | |
781 | any printer with a Windows driver. See \helpref{wxDC}{wxdc} for further information | |
782 | on device contexts, and \helpref{wxDC::GetSize}{wxdcgetsize} for advice on | |
783 | achieving the correct scaling for the page. | |
784 | ||
785 | \wxheading{Derived from} | |
786 | ||
787 | \helpref{wxDC}{wxdc}\\ | |
788 | \helpref{wxObject}{wxdc} | |
789 | ||
954b8ae6 JS |
790 | \wxheading{Include files} |
791 | ||
792 | <wx/dcprint.h> | |
793 | ||
a660d684 KB |
794 | \wxheading{See also} |
795 | ||
796 | \helpref{wxDC}{wxdc}, \helpref{Printing framework overview}{printingoverview} | |
797 | ||
798 | \latexignore{\rtfignore{\wxheading{Members}}} | |
799 | ||
60090256 | 800 | |
3e79fa75 | 801 | \membersection{wxPrinterDC::wxPrinterDC}\label{wxprinterdcctor} |
a660d684 | 802 | |
7bcb11d3 JS |
803 | \func{}{wxPrinterDC}{\param{const wxPrintData\& }{printData}} |
804 | ||
805 | Pass a \helpref{wxPrintData}{wxprintdata} object with information | |
806 | necessary for setting up a suitable printer device context. This | |
807 | is the recommended way to construct a wxPrinterDC. | |
808 | ||
a660d684 | 809 | \func{}{wxPrinterDC}{\param{const wxString\& }{driver}, \param{const wxString\& }{device}, \param{const wxString\& }{output}, |
cc81d32f | 810 | \param{const bool }{interactive = true}, \param{int }{orientation = wxPORTRAIT}} |
a660d684 KB |
811 | |
812 | Constructor. With empty strings for the first three arguments, the default printer dialog is | |
813 | displayed. {\it device} indicates the type of printer and {\it output} | |
814 | is an optional file for printing to. The {\it driver} parameter is | |
815 | currently unused. Use the {\it Ok} member to test whether the | |
2edb0bde | 816 | constructor was successful in creating a usable device context. |
a660d684 | 817 | |
7bcb11d3 JS |
818 | This constructor is deprecated and retained only for backward compatibility. |
819 | ||
a660d684 KB |
820 | \section{\class{wxPrintout}}\label{wxprintout} |
821 | ||
822 | This class encapsulates the functionality of printing out an | |
823 | application document. A new class must be derived and members | |
824 | overridden to respond to calls such as OnPrintPage and HasPage. | |
825 | Instances of this class are passed to wxPrinter::Print or a | |
826 | wxPrintPreview object to initiate printing or previewing. | |
827 | ||
828 | \wxheading{Derived from} | |
829 | ||
830 | \helpref{wxObject}{wxobject} | |
831 | ||
954b8ae6 JS |
832 | \wxheading{Include files} |
833 | ||
834 | <wx/print.h> | |
835 | ||
a660d684 KB |
836 | \wxheading{See also} |
837 | ||
838 | \helpref{Printing framework overview}{printingoverview}, \helpref{wxPrinterDC}{wxprinterdc}, \helpref{wxPrintDialog}{wxprintdialog},\rtfsp | |
839 | \helpref{wxPrinter}{wxprinter}, \helpref{wxPrintPreview}{wxprintpreview} | |
840 | ||
841 | \latexignore{\rtfignore{\wxheading{Members}}} | |
842 | ||
60090256 | 843 | |
3e79fa75 | 844 | \membersection{wxPrintout::wxPrintout}\label{wxprintoutctor} |
a660d684 KB |
845 | |
846 | \func{}{wxPrintout}{\param{const wxString\& }{title = "Printout"}} | |
847 | ||
2edb0bde | 848 | Constructor. Pass an optional title argument - the current filename would be a good idea. This will appear in the printing list |
fc799548 | 849 | (at least in MSW) |
a660d684 | 850 | |
60090256 | 851 | |
3e79fa75 | 852 | \membersection{wxPrintout::\destruct{wxPrintout}}\label{wxprintoutdtor} |
a660d684 KB |
853 | |
854 | \func{}{\destruct{wxPrintout}}{\void} | |
855 | ||
856 | Destructor. | |
857 | ||
60090256 | 858 | |
a660d684 KB |
859 | \membersection{wxPrintout::GetDC}\label{wxprintoutgetdc} |
860 | ||
861 | \func{wxDC *}{GetDC}{\void} | |
862 | ||
863 | Returns the device context associated with the printout (given to the printout at start of | |
864 | printing or previewing). This will be a wxPrinterDC if printing under Windows, | |
865 | a wxPostScriptDC if printing on other platforms, and a wxMemoryDC if previewing. | |
866 | ||
60090256 | 867 | |
a660d684 KB |
868 | \membersection{wxPrintout::GetPageInfo}\label{wxprintoutgetpageinfo} |
869 | ||
870 | \func{void}{GetPageInfo}{\param{int *}{minPage}, \param{int *}{maxPage}, \param{int *}{pageFrom}, \param{int *}{pageTo}} | |
871 | ||
872 | Called by the framework to obtain information from the application about minimum and maximum page values that | |
873 | the user can select, and the required page range to be printed. By default this | |
874 | returns 1, 32000 for the page minimum and maximum values, and 1, 1 for the required page range. | |
875 | ||
876 | If {\it minPage} is zero, the page number controls in the print dialog will be disabled. | |
877 | ||
2233e5b8 RD |
878 | \pythonnote{When this method is implemented in a derived Python class, |
879 | it should be designed to take no parameters (other than the self | |
880 | reference) and to return a tuple of four integers. | |
881 | } | |
882 | ||
0a67eeac | 883 | \perlnote{When this method is overridden in a derived class, |
d2b354f9 | 884 | it must not take any parameters, and returns a 4-element list. |
0a67eeac MB |
885 | } |
886 | ||
60090256 | 887 | |
a660d684 KB |
888 | \membersection{wxPrintout::GetPageSizeMM}\label{wxprintoutgetpagesizemm} |
889 | ||
890 | \func{void}{GetPageSizeMM}{\param{int *}{w}, \param{int *}{h}} | |
891 | ||
892 | Returns the size of the printer page in millimetres. | |
893 | ||
2233e5b8 RD |
894 | \pythonnote{This method returns the output-only parameters as a tuple.} |
895 | ||
0a67eeac MB |
896 | \perlnote{In wxPerl this method takes no arguments and returns a |
897 | 2-element list {\tt ( w, h )}} | |
898 | ||
60090256 | 899 | |
a660d684 KB |
900 | \membersection{wxPrintout::GetPageSizePixels}\label{wxprintoutgetpagesizepixels} |
901 | ||
902 | \func{void}{GetPageSizePixels}{\param{int *}{w}, \param{int *}{h}} | |
903 | ||
904 | Returns the size of the printer page in pixels. These may not be the | |
905 | same as the values returned from \helpref{wxDC::GetSize}{wxdcgetsize} if | |
906 | the printout is being used for previewing, since in this case, a | |
907 | memory device context is used, using a bitmap size reflecting the current | |
908 | preview zoom. The application must take this discrepancy into account if | |
909 | previewing is to be supported. | |
910 | ||
2233e5b8 RD |
911 | \pythonnote{This method returns the output-only parameters as a tuple.} |
912 | ||
0a67eeac MB |
913 | \perlnote{In wxPerl this method takes no arguments and returns a |
914 | 2-element list {\tt ( w, h )}} | |
915 | ||
60090256 | 916 | |
a660d684 KB |
917 | \membersection{wxPrintout::GetPPIPrinter}\label{wxprintoutgetppiprinter} |
918 | ||
919 | \func{void}{GetPPIPrinter}{\param{int *}{w}, \param{int *}{h}} | |
920 | ||
921 | Returns the number of pixels per logical inch of the printer device context. | |
922 | Dividing the printer PPI by the screen PPI can give a suitable scaling | |
923 | factor for drawing text onto the printer. Remember to multiply | |
924 | this by a scaling factor to take the preview DC size into account. | |
925 | ||
2233e5b8 RD |
926 | \pythonnote{This method returns the output-only parameters as a tuple.} |
927 | ||
0a67eeac MB |
928 | \perlnote{In wxPerl this method takes no arguments and returns a |
929 | 2-element list {\tt ( w, h )}} | |
930 | ||
60090256 | 931 | |
a660d684 KB |
932 | \membersection{wxPrintout::GetPPIScreen}\label{wxprintoutgetppiscreen} |
933 | ||
934 | \func{void}{GetPPIScreen}{\param{int *}{w}, \param{int *}{h}} | |
935 | ||
936 | Returns the number of pixels per logical inch of the screen device context. | |
937 | Dividing the printer PPI by the screen PPI can give a suitable scaling | |
938 | factor for drawing text onto the printer. Remember to multiply | |
939 | this by a scaling factor to take the preview DC size into account. | |
940 | ||
60090256 | 941 | |
fc799548 JS |
942 | \membersection{wxPrintout::GetTitle}\label{wxprintoutgettitle} |
943 | ||
944 | \func{wxString}{GetTitle}{\void} | |
945 | ||
946 | Returns the title of the printout | |
947 | ||
2233e5b8 RD |
948 | \pythonnote{This method returns the output-only parameters as a tuple.} |
949 | ||
0a67eeac MB |
950 | \perlnote{In wxPerl this method takes no arguments and returns a |
951 | 2-element list {\tt ( w, h )}} | |
952 | ||
60090256 | 953 | |
a660d684 KB |
954 | \membersection{wxPrintout::HasPage}\label{wxprintouthaspage} |
955 | ||
956 | \func{bool}{HasPage}{\param{int}{ pageNum}} | |
957 | ||
cc81d32f VS |
958 | Should be overridden to return true if the document has this page, or false |
959 | if not. Returning false signifies the end of the document. By default, | |
a660d684 KB |
960 | HasPage behaves as if the document has only one page. |
961 | ||
60090256 | 962 | |
a660d684 KB |
963 | \membersection{wxPrintout::IsPreview}\label{wxprintoutispreview} |
964 | ||
965 | \func{bool}{IsPreview}{\void} | |
966 | ||
cc81d32f | 967 | Returns true if the printout is currently being used for previewing. |
a660d684 | 968 | |
60090256 | 969 | |
a660d684 KB |
970 | \membersection{wxPrintout::OnBeginDocument}\label{wxprintoutonbegindocument} |
971 | ||
972 | \func{bool}{OnBeginDocument}{\param{int}{ startPage}, \param{int}{ endPage}} | |
973 | ||
cc81d32f | 974 | Called by the framework at the start of document printing. Return false from |
a660d684 KB |
975 | this function cancels the print job. OnBeginDocument is called once for every |
976 | copy printed. | |
977 | ||
978 | The base wxPrintout::OnBeginDocument {\it must} be called (and the return value | |
f6bcfd97 | 979 | checked) from within the overridden function, since it calls wxDC::StartDoc. |
a660d684 | 980 | |
f6bcfd97 | 981 | \pythonnote{If this method is overridden in a Python class then the |
2233e5b8 | 982 | base class version can be called by using the method |
6aa358ae | 983 | {\tt base\_OnBeginDocument(startPage, endPage)}. } |
2233e5b8 | 984 | |
60090256 | 985 | |
a660d684 KB |
986 | \membersection{wxPrintout::OnEndDocument}\label{wxprintoutonenddocument} |
987 | ||
988 | \func{void}{OnEndDocument}{\void} | |
989 | ||
990 | Called by the framework at the end of document printing. OnEndDocument | |
991 | is called once for every copy printed. | |
992 | ||
993 | The base wxPrintout::OnEndDocument {\it must} be called | |
f6bcfd97 | 994 | from within the overridden function, since it calls wxDC::EndDoc. |
a660d684 | 995 | |
60090256 | 996 | |
a660d684 KB |
997 | \membersection{wxPrintout::OnBeginPrinting}\label{wxprintoutonbeginprinting} |
998 | ||
999 | \func{void}{OnBeginPrinting}{\void} | |
1000 | ||
1001 | Called by the framework at the start of printing. OnBeginPrinting is called once for every | |
1002 | print job (regardless of how many copies are being printed). | |
1003 | ||
60090256 | 1004 | |
a660d684 KB |
1005 | \membersection{wxPrintout::OnEndPrinting}\label{wxprintoutonendprinting} |
1006 | ||
1007 | \func{void}{OnEndPrinting}{\void} | |
1008 | ||
1009 | Called by the framework at the end of printing. OnEndPrinting | |
1010 | is called once for every print job (regardless of how many copies are being printed). | |
1011 | ||
60090256 | 1012 | |
a660d684 KB |
1013 | \membersection{wxPrintout::OnPreparePrinting}\label{wxprintoutonprepareprinting} |
1014 | ||
1015 | \func{void}{OnPreparePrinting}{\void} | |
1016 | ||
1017 | Called once by the framework before any other demands are made of the | |
1018 | wxPrintout object. This gives the object an opportunity to calculate the | |
1019 | number of pages in the document, for example. | |
1020 | ||
60090256 | 1021 | |
a660d684 KB |
1022 | \membersection{wxPrintout::OnPrintPage}\label{wxprintoutonprintpage} |
1023 | ||
1024 | \func{bool}{OnPrintPage}{\param{int}{ pageNum}} | |
1025 | ||
cc81d32f | 1026 | Called by the framework when a page should be printed. Returning false cancels |
a660d684 KB |
1027 | the print job. The application can use wxPrintout::GetDC to obtain a device |
1028 | context to draw on. | |
1029 | ||
1030 | \section{\class{wxPrintPreview}}\label{wxprintpreview} | |
1031 | ||
a660d684 KB |
1032 | Objects of this class manage the print preview process. The object is passed |
1033 | a wxPrintout object, and the wxPrintPreview object itself is passed to | |
1034 | a wxPreviewFrame object. Previewing is started by initializing and showing | |
1035 | the preview frame. Unlike wxPrinter::Print, flow of control returns to the application | |
1036 | immediately after the frame is shown. | |
1037 | ||
1038 | \wxheading{Derived from} | |
1039 | ||
1040 | \helpref{wxObject}{wxobject} | |
1041 | ||
954b8ae6 JS |
1042 | \wxheading{Include files} |
1043 | ||
1044 | <wx/print.h> | |
1045 | ||
a660d684 KB |
1046 | \wxheading{See also} |
1047 | ||
1048 | \overview{Printing framework overview}{printingoverview}, \helpref{wxPrinterDC}{wxprinterdc}, \helpref{wxPrintDialog}{wxprintdialog},\rtfsp | |
1049 | \helpref{wxPrintout}{wxprintout}, \helpref{wxPrinter}{wxprinter},\rtfsp | |
1050 | \helpref{wxPreviewCanvas}{wxpreviewcanvas}, \helpref{wxPreviewControlBar}{wxpreviewcontrolbar},\rtfsp | |
1051 | \helpref{wxPreviewFrame}{wxpreviewframe}. | |
1052 | ||
1053 | \latexignore{\rtfignore{\wxheading{Members}}} | |
1054 | ||
60090256 | 1055 | |
3e79fa75 | 1056 | \membersection{wxPrintPreview::wxPrintPreview}\label{wxprintpreviewctor} |
a660d684 KB |
1057 | |
1058 | \func{}{wxPrintPreview}{\param{wxPrintout* }{printout}, \param{wxPrintout* }{printoutForPrinting}, | |
1059 | \param{wxPrintData* }{data=NULL}} | |
1060 | ||
1061 | Constructor. Pass a printout object, an optional printout object to be | |
1062 | used for actual printing, and the address of an optional | |
1063 | block of printer data, which will be copied to the print preview object's | |
1064 | print data. | |
1065 | ||
1066 | If {\it printoutForPrinting} is non-NULL, a {\bf Print...} button will be placed on the | |
1067 | preview frame so that the user can print directly from the preview interface. | |
1068 | ||
1069 | Do not explicitly delete the printout objects once this destructor has been | |
1070 | called, since they will be deleted in the wxPrintPreview constructor. | |
1071 | The same does not apply to the {\it data} argument. | |
1072 | ||
1073 | Test the Ok member to check whether the wxPrintPreview object was created correctly. | |
cc81d32f | 1074 | Ok could return false if there was a problem initializing the printer device context |
a660d684 KB |
1075 | (current printer not set, for example). |
1076 | ||
60090256 | 1077 | |
3e79fa75 | 1078 | \membersection{wxPrintPreview::\destruct{wxPrintPreview}}\label{wxprintpreviewdtor} |
a660d684 KB |
1079 | |
1080 | \func{}{\destruct{wxPrinter}}{\void} | |
1081 | ||
1082 | Destructor. Deletes both print preview objects, so do not destroy these objects | |
1083 | in your application. | |
1084 | ||
60090256 | 1085 | |
a660d684 KB |
1086 | \membersection{wxPrintPreview::GetCanvas}\label{wxprintpreviewgetcanvas} |
1087 | ||
d2b354f9 | 1088 | \func{wxPreviewCanvas* }{GetCanvas}{\void} |
a660d684 KB |
1089 | |
1090 | Gets the preview window used for displaying the print preview image. | |
1091 | ||
60090256 | 1092 | |
a660d684 KB |
1093 | \membersection{wxPrintPreview::GetCurrentPage}\label{wxprintpreviewgetcurrentpage} |
1094 | ||
1095 | \func{int}{GetCurrentPage}{\void} | |
1096 | ||
1097 | Gets the page currently being previewed. | |
1098 | ||
60090256 | 1099 | |
a660d684 KB |
1100 | \membersection{wxPrintPreview::GetFrame}\label{wxprintpreviewgetframe} |
1101 | ||
1102 | \func{wxFrame *}{GetFrame}{\void} | |
1103 | ||
1104 | Gets the frame used for displaying the print preview canvas | |
1105 | and control bar. | |
1106 | ||
60090256 | 1107 | |
a660d684 KB |
1108 | \membersection{wxPrintPreview::GetMaxPage}\label{wxprintpreviewgetmaxpage} |
1109 | ||
1110 | \func{int}{GetMaxPage}{\void} | |
1111 | ||
1112 | Returns the maximum page number. | |
1113 | ||
60090256 | 1114 | |
a660d684 KB |
1115 | \membersection{wxPrintPreview::GetMinPage}\label{wxprintpreviewgetminpage} |
1116 | ||
1117 | \func{int}{GetMinPage}{\void} | |
1118 | ||
1119 | Returns the minimum page number. | |
1120 | ||
60090256 | 1121 | |
a660d684 KB |
1122 | \membersection{wxPrintPreview::GetPrintout}\label{wxprintpreviewgetprintout} |
1123 | ||
1124 | \func{wxPrintout *}{GetPrintout}{\void} | |
1125 | ||
1126 | Gets the preview printout object associated with the wxPrintPreview object. | |
1127 | ||
60090256 | 1128 | |
a660d684 KB |
1129 | \membersection{wxPrintPreview::GetPrintoutForPrinting}\label{wxprintpreviewgetprintoutforprinting} |
1130 | ||
1131 | \func{wxPrintout *}{GetPrintoutForPrinting}{\void} | |
1132 | ||
1133 | Gets the printout object to be used for printing from within the preview interface, | |
1134 | or NULL if none exists. | |
1135 | ||
60090256 | 1136 | |
a660d684 KB |
1137 | \membersection{wxPrintPreview::Ok}\label{wxprintpreviewok} |
1138 | ||
1139 | \func{bool}{Ok}{\void} | |
1140 | ||
cc81d32f | 1141 | Returns true if the wxPrintPreview is valid, false otherwise. It could return false if there was a |
a660d684 KB |
1142 | problem initializing the printer device context (current printer not set, for example). |
1143 | ||
60090256 | 1144 | |
a660d684 KB |
1145 | \membersection{wxPrintPreview::PaintPage}\label{wxprintpreviewpaintpage} |
1146 | ||
f6e9a818 | 1147 | \func{bool}{PaintPage}{\param{wxPreviewCanvas *}{canvas}, \param{wxDC& }{dc}} |
a660d684 KB |
1148 | |
1149 | This refreshes the preview window with the preview image. | |
1150 | It must be called from the preview window's OnPaint member. | |
1151 | ||
1152 | The implementation simply blits the preview bitmap onto | |
1153 | the canvas, creating a new preview bitmap if none exists. | |
1154 | ||
60090256 | 1155 | |
a660d684 KB |
1156 | \membersection{wxPrintPreview::Print}\label{wxprintpreviewprint} |
1157 | ||
1158 | \func{bool}{Print}{\param{bool }{prompt}} | |
1159 | ||
1160 | Invokes the print process using the second wxPrintout object | |
1161 | supplied in the wxPrintPreview constructor. | |
1162 | Will normally be called by the {\bf Print...} panel item on the | |
1163 | preview frame's control bar. | |
1164 | ||
cc81d32f | 1165 | Returns false in case of error -- call |
f6bcfd97 BP |
1166 | \helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed |
1167 | information about the kind of the error. | |
1168 | ||
60090256 | 1169 | |
a660d684 KB |
1170 | \membersection{wxPrintPreview::RenderPage}\label{wxprintpreviewrenderpage} |
1171 | ||
1172 | \func{bool}{RenderPage}{\param{int }{pageNum}} | |
1173 | ||
1174 | Renders a page into a wxMemoryDC. Used internally by wxPrintPreview. | |
1175 | ||
60090256 | 1176 | |
a660d684 KB |
1177 | \membersection{wxPrintPreview::SetCanvas}\label{wxprintpreviewsetcanvas} |
1178 | ||
9a75ba66 | 1179 | \func{void}{SetCanvas}{\param{wxPreviewCanvas* }{window}} |
a660d684 KB |
1180 | |
1181 | Sets the window to be used for displaying the print preview image. | |
1182 | ||
60090256 | 1183 | |
a660d684 KB |
1184 | \membersection{wxPrintPreview::SetCurrentPage}\label{wxprintpreviewsetcurrentpage} |
1185 | ||
1186 | \func{void}{SetCurrentPage}{\param{int}{ pageNum}} | |
1187 | ||
1188 | Sets the current page to be previewed. | |
1189 | ||
60090256 | 1190 | |
a660d684 KB |
1191 | \membersection{wxPrintPreview::SetFrame}\label{wxprintpreviewsetframe} |
1192 | ||
1193 | \func{void}{SetFrame}{\param{wxFrame *}{frame}} | |
1194 | ||
1195 | Sets the frame to be used for displaying the print preview canvas | |
1196 | and control bar. | |
1197 | ||
60090256 | 1198 | |
a660d684 KB |
1199 | \membersection{wxPrintPreview::SetPrintout}\label{wxprintpreviewsetprintout} |
1200 | ||
1201 | \func{void}{SetPrintout}{\param{wxPrintout *}{printout}} | |
1202 | ||
1203 | Associates a printout object with the wxPrintPreview object. | |
1204 | ||
60090256 | 1205 | |
a660d684 KB |
1206 | \membersection{wxPrintPreview::SetZoom}\label{wxprintpreviewsetzoom} |
1207 | ||
1208 | \func{void}{SetZoom}{\param{int}{ percent}} | |
1209 | ||
1210 | Sets the percentage preview zoom, and refreshes the preview canvas | |
1211 | accordingly. | |
1212 |