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