1 \section{\class{wxPrintData
}}\label{wxprintdata
}
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.
9 \wxheading{Derived from
}
11 \helpref{wxObject
}{wxobject
}
13 \wxheading{Include files
}
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
},
25 \helpref{wxPostScriptDC
}{wxpostscriptdc
}
29 The following functions are specific to PostScript printing
30 and have not yet been documented:
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 ;
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) ;
59 \latexignore{\rtfignore{\wxheading{Members
}}}
61 \membersection{wxPrintData::wxPrintData
}
63 \func{}{wxPrintData
}{\void}
67 \func{}{wxPrintData
}{\param{const wxPrintData\&
}{ data
}}
71 \membersection{wxPrintData::
\destruct{wxPrintData
}}
73 \func{}{\destruct{wxPrintData
}}{\void}
77 \membersection{wxPrintData::GetCollate
}\label{wxprintdatagetcollate
}
79 \constfunc{bool
}{GetCollate
}{\void}
81 Returns TRUE if collation is on.
83 \membersection{wxPrintData::GetColour
}\label{wxprintdatagetcolour
}
85 \constfunc{bool
}{GetColour
}{\void}
87 Returns TRUE if colour printing is on.
89 \membersection{wxPrintData::GetDuplex
}\label{wxprintdatagetduplex
}
91 \constfunc{wxDuplexMode
}{GetDuplex
}{\void}
93 Returns the duplex mode. One of wxDUPLEX
\_SIMPLEX, wxDUPLEX
\_HORIZONTAL, wxDUPLEX
\_VERTICAL.
95 \membersection{wxPrintData::GetNoCopies
}\label{wxprintdatagetnocopies
}
97 \constfunc{int
}{GetNoCopies
}{\void}
99 Returns the number of copies requested by the user.
101 \membersection{wxPrintData::GetOrientation
}\label{wxprintdatagetorientation
}
103 \constfunc{int
}{GetOrientation
}{\void}
105 Gets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
107 \membersection{wxPrintData::GetPaperId
}\label{wxprintdatagetpaperid
}
109 \constfunc{wxPaperSize
}{GetPaperId
}{\void}
111 Returns the paper size id. For more information, see
\helpref{wxPrintData::SetPaperId
}{wxprintdatasetpaperid
}.
113 \membersection{wxPrintData::GetPrinterName
}\label{wxprintdatagetprintername
}
115 \constfunc{const wxString\&
}{GetPrinterName
}{\void}
117 Returns the printer name. If the printer name is the empty string, it indicates that the default
118 printer should be used.
120 \membersection{wxPrintData::GetQuality
}\label{wxprintdatagetquality
}
122 \constfunc{wxPaperQuality
}{GetQuality
}{\void}
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:
129 wxPRINT_QUALITY_MEDIUM
131 wxPRINT_QUALITY_DRAFT
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.
137 \membersection{wxPrintData::Ok
}\label{wxprintdataok
}
139 \constfunc{bool
}{Ok
}{\void}
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.
145 \membersection{wxPrintData::SetCollate
}\label{wxprintdatasetcollate
}
147 \func{void
}{SetCollate
}{\param{bool
}{flag
}}
149 Sets collation to on or off.
151 \membersection{wxPrintData::SetColour
}\label{wxprintdatasetcolour
}
153 \func{void
}{SetColour
}{\param{bool
}{flag
}}
155 Sets colour printing on or off.
157 \membersection{wxPrintData::SetDuplex
}\label{wxprintdatasetduplex
}
159 \func{void
}{SetDuplex
}{\param{wxDuplexMode
}{ mode
}}
161 Returns the duplex mode. One of wxDUPLEX
\_SIMPLEX, wxDUPLEX
\_HORIZONTAL, wxDUPLEX
\_VERTICAL.
163 \membersection{wxPrintData::SetNoCopies
}\label{wxprintdatasetnocopies
}
165 \func{void
}{SetNoCopies
}{\param{int
}{n
}}
167 Sets the default number of copies to be printed out.
169 \membersection{wxPrintData::SetOrientation
}\label{wxprintdatasetorientation
}
171 \func{void
}{SetOrientation
}{\param{int
}{orientation
}}
173 Sets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
175 \membersection{wxPrintData::SetPaperId
}\label{wxprintdatasetpaperid
}
177 \func{void
}{SetPaperId
}{\param{wxPaperSize
}{ paperId
}}
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).
182 {\it paperId
} can be one of:
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
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
258 \membersection{wxPrintData::SetPrinterName
}\label{wxprintdatasetprintername
}
260 \func{void
}{SetPrinterName
}{\param{const wxString\&
}{printerName
}}
262 Sets the printer name. This can be the empty string to indicate that the default
263 printer should be used.
265 \membersection{wxPrintData::SetQuality
}\label{wxprintdatasetquality
}
267 \func{void
}{SetQuality
}{\param{wxPaperQuality
}{ quality
}}
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:
274 wxPRINT_QUALITY_MEDIUM
276 wxPRINT_QUALITY_DRAFT
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.
282 \membersection{wxPrintData::operator $=$
}\label{wxprintdataassign
}
284 \func{void
}{operator $=$
}{\param{const wxPrintData\&
}{ data
}}
286 Assigns print data to this object.
288 \func{void
}{operator $=$
}{\param{const wxPrintSetupData\&
}{ data
}}
290 Assigns print setup data to this object. wxPrintSetupData is deprecated,
291 but retained for backward compatibility.
293 \section{\class{wxPrintDialog
}}\label{wxprintdialog
}
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.
299 \wxheading{Derived from
}
301 \helpref{wxDialog
}{wxdialog
}\\
302 \helpref{wxWindow
}{wxwindow
}\\
303 \helpref{wxEvtHandler
}{wxevthandler
}\\
304 \helpref{wxObject
}{wxobject
}
306 \wxheading{Include files
}
312 \helpref{wxPrintDialog Overview
}{wxprintdialogoverview
}
314 \latexignore{\rtfignore{\wxheading{Members
}}}
316 \membersection{wxPrintDialog::wxPrintDialog
}
318 \func{}{wxPrintDialog
}{\param{wxWindow*
}{parent
},
\param{wxPrintDialogData*
}{data = NULL
}}
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.
325 \helpref{wxPrintDialogData
}{wxprintdialogdata
}
327 \membersection{wxPrintDialog::
\destruct{wxPrintDialog
}}
329 \func{}{\destruct{wxPrintDialog
}}{\void}
331 Destructor. If wxPrintDialog::GetPrintDC has
{\it not
} been called,
332 the device context obtained by the dialog (if any) will be deleted.
334 \membersection{wxPrintDialog::GetPrintDialogData
}\label{wxprintdialoggetprintdialogdata
}
336 \func{wxPrintDialogData\&
}{GetPrintDialogData
}{\void}
338 Returns the
\helpref{print dialog data
}{wxprintdialogdata
} associated with the print dialog.
340 \membersection{wxPrintDialog::GetPrintDC
}\label{wxprintdialoggetprintdc
}
342 \func{wxDC*
}{GetPrintDC
}{\void}
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
349 \membersection{wxPrintDialog::Ok
}\label{wxprintdialogok
}
351 \constfunc{bool
}{Ok
}{\void}
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.
357 \membersection{wxPrintDialog::ShowModal
}\label{wxprintdialogshowmodal
}
359 \func{int
}{ShowModal
}{\void}
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
}.
365 \section{\class{wxPrintDialogData
}}\label{wxprintdialogdata
}
367 This class holds information related to the visual characteristics of wxPrintDialog.
368 It contains a wxPrintData object with underlying printing settings.
370 \wxheading{Derived from
}
372 \helpref{wxObject
}{wxobject
}
374 \wxheading{Include files
}
380 \helpref{wxPrintDialog
}{wxprintdialog
},
\helpref{wxPrintDialog Overview
}{wxprintdialogoverview
}
382 \latexignore{\rtfignore{\wxheading{Members
}}}
384 \membersection{wxPrintDialogData::wxPrintDialogData
}
386 \func{}{wxPrintDialogData
}{\void}
390 \func{}{wxPrintDialogData
}{\param{wxPrintDialogData\&
}{ dialogData
}}
394 \func{}{wxPrintDialogData
}{\param{wxPrintData\&
}{ printData
}}
396 Construct an object from a print dialog data object.
398 \membersection{wxPrintDialogData::
\destruct{wxprintdialogdata
}}
400 \func{}{\destruct{wxPrintDialogData
}}{\void}
404 \membersection{wxPrintDialogData::EnableHelp
}\label{wxprintdialogdataenablehelp
}
406 \func{void
}{EnableHelp
}{\param{bool
}{flag
}}
408 Enables or disables the `Help' button.
410 \membersection{wxPrintDialogData::EnablePageNumbers
}\label{wxprintdialogdataenablepagenumbers
}
412 \func{void
}{EnablePageNumbers
}{\param{bool
}{flag
}}
414 Enables or disables the `Page numbers' controls.
416 \membersection{wxPrintDialogData::EnablePrintToFile
}\label{wxprintdialogdataenableprinttofile
}
418 \func{void
}{EnablePrintToFile
}{\param{bool
}{flag
}}
420 Enables or disables the `Print to file' checkbox.
422 \membersection{wxPrintDialogData::EnableSelection
}\label{wxprintdialogdataenableselection
}
424 \func{void
}{EnableSelection
}{\param{bool
}{flag
}}
426 Enables or disables the `Selection' radio button.
428 \membersection{wxPrintDialogData::GetAllPages
}\label{wxprintdialogdatagetallpages
}
430 \constfunc{bool
}{GetAllPages
}{\void}
432 Returns TRUE if the user requested that all pages be printed.
434 \membersection{wxPrintDialogData::GetCollate
}\label{wxprintdialogdatagetcollate
}
436 \constfunc{bool
}{GetCollate
}{\void}
438 Returns TRUE if the user requested that the
document(s) be collated.
440 \membersection{wxPrintDialogData::GetFromPage
}\label{wxprintdialogdatagetfrompage
}
442 \constfunc{int
}{GetFromPage
}{\void}
444 Returns the
{\it from
} page number, as entered by the user.
446 \membersection{wxPrintDialogData::GetMaxPage
}\label{wxprintdialogdatagetmaxpage
}
448 \constfunc{int
}{GetMaxPage
}{\void}
450 Returns the
{\it maximum
} page number.
452 \membersection{wxPrintDialogData::GetMinPage
}\label{wxprintdialogdatagetminpage
}
454 \constfunc{int
}{GetMinPage
}{\void}
456 Returns the
{\it minimum
} page number.
458 \membersection{wxPrintDialogData::GetNoCopies
}\label{wxprintdialogdatagetnocopies
}
460 \constfunc{int
}{GetNoCopies
}{\void}
462 Returns the number of copies requested by the user.
464 \membersection{wxPrintDialogData::GetPrintData
}\label{wxprintdialogdatagetprintdata
}
466 \func{wxPrintData\&
}{GetPrintData
}{\void}
468 Returns a reference to the internal wxPrintData object.
470 \membersection{wxPrintDialogData::GetPrintToFile
}\label{wxprintdialogdatagetprinttofile
}
472 \constfunc{bool
}{GetPrintToFile
}{\void}
474 Returns TRUE if the user has selected printing to a file.
476 \membersection{wxPrintDialogData::GetSelection
}\label{wxprintdialogdatagetselection
}
478 \constfunc{bool
}{GetSelection
}{\void}
480 Returns TRUE if the user requested that the selection be printed (where 'selection' is
481 a concept specific to the application).
483 \membersection{wxPrintDialogData::GetToPage
}\label{wxprintdialogdatagettopage
}
485 \constfunc{int
}{GetToPage
}{\void}
487 Returns the
{\it to
} page number, as entered by the user.
489 \membersection{wxPrintDialogData::Ok
}\label{wxprintdialogdataok
}
491 \constfunc{bool
}{Ok
}{\void}
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.
497 \membersection{wxPrintDialogData::SetCollate
}\label{wxprintdialogdatasetcollate
}
499 \func{void
}{SetCollate
}{\param{bool
}{flag
}}
501 Sets the 'Collate' checkbox to TRUE or FALSE.
503 \membersection{wxPrintDialogData::SetFromPage
}\label{wxprintdialogdatasetfrompage
}
505 \func{void
}{SetFromPage
}{\param{int
}{page
}}
507 Sets the
{\it from
} page number.
509 \membersection{wxPrintDialogData::SetMaxPage
}\label{wxprintdialogdatasetmaxpage
}
511 \func{void
}{SetMaxPage
}{\param{int
}{page
}}
513 Sets the
{\it maximum
} page number.
515 \membersection{wxPrintDialogData::SetMinPage
}\label{wxprintdialogdatasetminpage
}
517 \func{void
}{SetMinPage
}{\param{int
}{page
}}
519 Sets the
{\it minimum
} page number.
521 \membersection{wxPrintDialogData::SetNoCopies
}\label{wxprintdialogdatasetnocopies
}
523 \func{void
}{SetNoCopies
}{\param{int
}{n
}}
525 Sets the default number of copies the user has requested to be printed out.
527 \membersection{wxPrintDialogData::SetPrintData
}\label{wxprintdialogdatasetprintdata
}
529 \func{void
}{SetPrintData
}{\param{const wxPrintData\&
}{printData
}}
531 Sets the internal wxPrintData.
533 \membersection{wxPrintDialogData::SetPrintToFile
}\label{wxprintdialogdatasetprinttofile
}
535 \func{void
}{SetPrintToFile
}{\param{bool
}{flag
}}
537 Sets the 'Print to file' checkbox to TRUE or FALSE.
539 \membersection{wxPrintDialogData::SetSelection
}\label{wxprintdialogdatasetselection
}
541 \func{void
}{SetSelection
}{\param{bool
}{ flag
}}
543 Selects the 'Selection' radio button. The effect of printing the selection depends on how the application
544 implements this command, if at all.
546 \membersection{wxPrintDialogData::SetSetupDialog
}\label{wxprintdialogdatasetsetupdialog
}
548 \func{void
}{SetSetupDialog
}{\param{bool
}{flag
}}
550 Determines whether the dialog to be shown will be the Print dialog
551 (pass FALSE) or Print Setup dialog (pass TRUE).
553 Note that the setup dialog is (according to Microsoft) obsolete from
554 Windows
95, though retained for backward compatibility.
556 \membersection{wxPrintDialogData::SetToPage
}\label{wxprintdialogdatasettopage
}
558 \func{void
}{SetToPage
}{\param{int
}{page
}}
560 Sets the
{\it to
} page number.
562 \membersection{wxPrintDialogData::operator $=$
}\label{wxprintdialogdataassign
}
564 \func{void
}{operator $=$
}{\param{const wxPrintData\&
}{ data
}}
566 Assigns print data to this object.
568 \func{void
}{operator $=$
}{\param{const wxPrintDialogData\&
}{ data
}}
570 Assigns another print dialog data object to this object.
572 \section{\class{wxPrinter
}}\label{wxprinter
}
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
580 \wxheading{Derived from
}
582 \helpref{wxObject
}{wxobject
}
584 \wxheading{Include files
}
590 \helpref{Printing framework overview
}{printingoverview
},
\helpref{wxPrinterDC
}{wxprinterdc
},
\helpref{wxPrintDialog
}{wxprintdialog
},
\rtfsp
591 \helpref{wxPrintout
}{wxprintout
},
\helpref{wxPrintPreview
}{wxprintpreview
}.
593 \latexignore{\rtfignore{\wxheading{Members
}}}
595 \membersection{wxPrinter::wxPrinter
}
597 \func{}{wxPrinter
}{\param{wxPrintDialogData*
}{data = NULL
}}
599 Constructor. Pass an optional pointer to a block of print
600 dialog data, which will be copied to the printer object's local data.
604 \helpref{wxPrintDialogData
}{wxprintdialogdata
},
605 \helpref{wxPrintData
}{wxprintdata
}
607 \membersection{wxPrinter::
\destruct{wxPrinter
}}
609 \func{}{\destruct{wxPrinter
}}{\void}
613 \membersection{wxPrinter::Abort
}\label{wxprinterabort
}
615 \func{bool
}{Abort
}{\void}
617 Returns TRUE if the user has aborted the print job.
619 \membersection{wxPrinter::CreateAbortWindow
}\label{wxprintercreateabortwindow
}
621 \func{void
}{CreateAbortWindow
}{\param{wxWindow*
}{parent
},
\param{wxPrintout*
}{printout
}}
623 Creates the default printing abort window, with a cancel button.
626 \membersection{wxPrinter::GetLastError
}\label{wxprintergetlasterror
}
628 \func{static wxPrinterError
}{GetLastError
}{\void}
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.
635 Returned value is one of the following:
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.
}
645 \membersection{wxPrinter::GetPrintDialogData
}\label{wxprintergetprintdialogdata
}
647 \func{wxPrintDialogData\&
}{GetPrintDialogData
}{\void}
649 Returns the
\helpref{print data
}{wxprintdata
} associated with the printer object.
651 \membersection{wxPrinter::Print
}\label{wxprinterprint
}
653 \func{bool
}{Print
}{\param{wxWindow *
}{parent
},
\param{wxPrintout *
}{printout
},
\param{bool
}{prompt=TRUE
}}
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.
658 Print could return FALSE if there was a problem initializing the printer device context
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.
663 \membersection{wxPrinter::PrintDialog
}\label{wxprinterprintdialog
}
665 \func{wxDC*
}{PrintDialog
}{\param{wxWindow *
}{parent
}}
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
669 (otherwise NULL is returned -- call
670 \helpref{wxPrinter::GetLastError
}{wxprintergetlasterror
} to get detailed
671 information about the kind of the error).
673 The application must delete this device context to avoid a memory leak.
675 \membersection{wxPrinter::ReportError
}\label{wxprinterreporterror
}
677 \func{void
}{ReportError
}{\param{wxWindow *
}{parent
},
\param{wxPrintout *
}{printout
},
\param{const wxString\&
}{message
}}
679 Default error-reporting function.
681 \membersection{wxPrinter::Setup
}\label{wxprintersetup
}
683 \func{bool
}{Setup
}{\param{wxWindow *
}{parent
}}
685 Invokes the print setup dialog. Note that the setup dialog is obsolete from
686 Windows
95, though retained for backward compatibility.
688 \section{\class{wxPrinterDC
}}\label{wxprinterdc
}
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.
695 \wxheading{Derived from
}
697 \helpref{wxDC
}{wxdc
}\\
698 \helpref{wxObject
}{wxdc
}
700 \wxheading{Include files
}
706 \helpref{wxDC
}{wxdc
},
\helpref{Printing framework overview
}{printingoverview
}
708 \latexignore{\rtfignore{\wxheading{Members
}}}
710 \membersection{wxPrinterDC::wxPrinterDC
}
712 \func{}{wxPrinterDC
}{\param{const wxPrintData\&
}{printData
}}
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.
718 \func{}{wxPrinterDC
}{\param{const wxString\&
}{driver
},
\param{const wxString\&
}{device
},
\param{const wxString\&
}{output
},
719 \param{const bool
}{interactive = TRUE
},
\param{int
}{orientation = wxPORTRAIT
}}
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
725 constructor was successful in creating a useable device context.
727 This constructor is deprecated and retained only for backward compatibility.
729 \section{\class{wxPrintout
}}\label{wxprintout
}
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.
737 \wxheading{Derived from
}
739 \helpref{wxObject
}{wxobject
}
741 \wxheading{Include files
}
747 \helpref{Printing framework overview
}{printingoverview
},
\helpref{wxPrinterDC
}{wxprinterdc
},
\helpref{wxPrintDialog
}{wxprintdialog
},
\rtfsp
748 \helpref{wxPrinter
}{wxprinter
},
\helpref{wxPrintPreview
}{wxprintpreview
}
750 \latexignore{\rtfignore{\wxheading{Members
}}}
752 \membersection{wxPrintout::wxPrintout
}
754 \func{}{wxPrintout
}{\param{const wxString\&
}{title = "Printout"
}}
756 Constructor. Pass an optional title argument - the curent filename would be a good idea. This will appear in the printing list
759 \membersection{wxPrintout::
\destruct{wxPrintout
}}
761 \func{}{\destruct{wxPrintout
}}{\void}
765 \membersection{wxPrintout::GetDC
}\label{wxprintoutgetdc
}
767 \func{wxDC *
}{GetDC
}{\void}
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.
773 \membersection{wxPrintout::GetPageInfo
}\label{wxprintoutgetpageinfo
}
775 \func{void
}{GetPageInfo
}{\param{int *
}{minPage
},
\param{int *
}{maxPage
},
\param{int *
}{pageFrom
},
\param{int *
}{pageTo
}}
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.
781 If
{\it minPage
} is zero, the page number controls in the print dialog will be disabled.
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.
788 \perlnote{When this method is overridden in a derived class,
789 it must not take any parameters, an return a
4-element list.
792 \membersection{wxPrintout::GetPageSizeMM
}\label{wxprintoutgetpagesizemm
}
794 \func{void
}{GetPageSizeMM
}{\param{int *
}{w
},
\param{int *
}{h
}}
796 Returns the size of the printer page in millimetres.
798 \pythonnote{This method returns the output-only parameters as a tuple.
}
800 \perlnote{In wxPerl this method takes no arguments and returns a
801 2-element list
{\tt ( w, h )
}}
803 \membersection{wxPrintout::GetPageSizePixels
}\label{wxprintoutgetpagesizepixels
}
805 \func{void
}{GetPageSizePixels
}{\param{int *
}{w
},
\param{int *
}{h
}}
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.
814 \pythonnote{This method returns the output-only parameters as a tuple.
}
816 \perlnote{In wxPerl this method takes no arguments and returns a
817 2-element list
{\tt ( w, h )
}}
819 \membersection{wxPrintout::GetPPIPrinter
}\label{wxprintoutgetppiprinter
}
821 \func{void
}{GetPPIPrinter
}{\param{int *
}{w
},
\param{int *
}{h
}}
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.
828 \pythonnote{This method returns the output-only parameters as a tuple.
}
830 \perlnote{In wxPerl this method takes no arguments and returns a
831 2-element list
{\tt ( w, h )
}}
833 \membersection{wxPrintout::GetPPIScreen
}\label{wxprintoutgetppiscreen
}
835 \func{void
}{GetPPIScreen
}{\param{int *
}{w
},
\param{int *
}{h
}}
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.
842 \membersection{wxPrintout::GetTitle
}\label{wxprintoutgettitle
}
844 \func{wxString
}{GetTitle
}{\void}
846 Returns the title of the printout
848 \pythonnote{This method returns the output-only parameters as a tuple.
}
850 \perlnote{In wxPerl this method takes no arguments and returns a
851 2-element list
{\tt ( w, h )
}}
853 \membersection{wxPrintout::HasPage
}\label{wxprintouthaspage
}
855 \func{bool
}{HasPage
}{\param{int
}{ pageNum
}}
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,
859 HasPage behaves as if the
document has only one page.
861 \membersection{wxPrintout::IsPreview
}\label{wxprintoutispreview
}
863 \func{bool
}{IsPreview
}{\void}
865 Returns TRUE if the printout is currently being used for previewing.
867 \membersection{wxPrintout::OnBeginDocument
}\label{wxprintoutonbegindocument
}
869 \func{bool
}{OnBeginDocument
}{\param{int
}{ startPage
},
\param{int
}{ endPage
}}
871 Called by the framework at the start of
document printing. Return FALSE from
872 this function cancels the print job. OnBeginDocument is called once for every
875 The base wxPrintout::OnBeginDocument
{\it must
} be called (and the return value
876 checked) from within the overridden function, since it calls wxDC::StartDoc.
878 \pythonnote{If this method is overridden in a Python class then the
879 base class version can be called by using the method
880 {\tt base
\_OnBeginDocument(startPage, endPage)
}.
}
882 \membersection{wxPrintout::OnEndDocument
}\label{wxprintoutonenddocument
}
884 \func{void
}{OnEndDocument
}{\void}
886 Called by the framework at the end of
document printing. OnEndDocument
887 is called once for every copy printed.
889 The base wxPrintout::OnEndDocument
{\it must
} be called
890 from within the overridden function, since it calls wxDC::EndDoc.
892 \membersection{wxPrintout::OnBeginPrinting
}\label{wxprintoutonbeginprinting
}
894 \func{void
}{OnBeginPrinting
}{\void}
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).
899 \membersection{wxPrintout::OnEndPrinting
}\label{wxprintoutonendprinting
}
901 \func{void
}{OnEndPrinting
}{\void}
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).
906 \membersection{wxPrintout::OnPreparePrinting
}\label{wxprintoutonprepareprinting
}
908 \func{void
}{OnPreparePrinting
}{\void}
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.
914 \membersection{wxPrintout::OnPrintPage
}\label{wxprintoutonprintpage
}
916 \func{bool
}{OnPrintPage
}{\param{int
}{ pageNum
}}
918 Called by the framework when a page should be printed. Returning FALSE cancels
919 the print job. The application can use wxPrintout::GetDC to obtain a device
922 \section{\class{wxPrintPreview
}}\label{wxprintpreview
}
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.
930 \wxheading{Derived from
}
932 \helpref{wxObject
}{wxobject
}
934 \wxheading{Include files
}
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
}.
945 \latexignore{\rtfignore{\wxheading{Members
}}}
947 \membersection{wxPrintPreview::wxPrintPreview
}
949 \func{}{wxPrintPreview
}{\param{wxPrintout*
}{printout
},
\param{wxPrintout*
}{printoutForPrinting
},
950 \param{wxPrintData*
}{data=NULL
}}
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
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.
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.
964 Test the Ok member to check whether the wxPrintPreview object was created correctly.
965 Ok could return FALSE if there was a problem initializing the printer device context
966 (current printer not set, for example).
968 \membersection{wxPrintPreview::
\destruct{wxPrintPreview
}}
970 \func{}{\destruct{wxPrinter
}}{\void}
972 Destructor. Deletes both print preview objects, so do not destroy these objects
975 \membersection{wxPrintPreview::DrawBlankPage
}\label{wxprintpreviewdrawblankpage
}
977 \func{bool
}{DrawBlankPage
}{\param{wxWindow*
}{window
}}
979 Draws a representation of the blank page into the preview window. Used
982 \membersection{wxPrintPreview::GetCanvas
}\label{wxprintpreviewgetcanvas
}
984 \func{wxWindow*
}{GetCanvas
}{\void}
986 Gets the preview window used for displaying the print preview image.
988 \membersection{wxPrintPreview::GetCurrentPage
}\label{wxprintpreviewgetcurrentpage
}
990 \func{int
}{GetCurrentPage
}{\void}
992 Gets the page currently being previewed.
994 \membersection{wxPrintPreview::GetFrame
}\label{wxprintpreviewgetframe
}
996 \func{wxFrame *
}{GetFrame
}{\void}
998 Gets the frame used for displaying the print preview canvas
1001 \membersection{wxPrintPreview::GetMaxPage
}\label{wxprintpreviewgetmaxpage
}
1003 \func{int
}{GetMaxPage
}{\void}
1005 Returns the maximum page number.
1007 \membersection{wxPrintPreview::GetMinPage
}\label{wxprintpreviewgetminpage
}
1009 \func{int
}{GetMinPage
}{\void}
1011 Returns the minimum page number.
1013 \membersection{wxPrintPreview::GetPrintData
}\label{wxprintpreviewgetprintdata
}
1015 \func{wxPrintData\&
}{GetPrintData
}{\void}
1017 Returns a reference to the internal print data.
1019 \membersection{wxPrintPreview::GetPrintout
}\label{wxprintpreviewgetprintout
}
1021 \func{wxPrintout *
}{GetPrintout
}{\void}
1023 Gets the preview printout object associated with the wxPrintPreview object.
1025 \membersection{wxPrintPreview::GetPrintoutForPrinting
}\label{wxprintpreviewgetprintoutforprinting
}
1027 \func{wxPrintout *
}{GetPrintoutForPrinting
}{\void}
1029 Gets the printout object to be used for printing from within the preview interface,
1030 or NULL if none exists.
1032 \membersection{wxPrintPreview::Ok
}\label{wxprintpreviewok
}
1034 \func{bool
}{Ok
}{\void}
1036 Returns TRUE if the wxPrintPreview is valid, FALSE otherwise. It could return FALSE if there was a
1037 problem initializing the printer device context (current printer not set, for example).
1039 \membersection{wxPrintPreview::PaintPage
}\label{wxprintpreviewpaintpage
}
1041 \func{bool
}{PaintPage
}{\param{wxWindow*
}{window
}}
1043 This refreshes the preview window with the preview image.
1044 It must be called from the preview window's OnPaint member.
1046 The implementation simply blits the preview bitmap onto
1047 the canvas, creating a new preview bitmap if none exists.
1049 \membersection{wxPrintPreview::Print
}\label{wxprintpreviewprint
}
1051 \func{bool
}{Print
}{\param{bool
}{prompt
}}
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.
1058 Returns FALSE in case of error -- call
1059 \helpref{wxPrinter::GetLastError
}{wxprintergetlasterror
} to get detailed
1060 information about the kind of the error.
1062 \membersection{wxPrintPreview::RenderPage
}\label{wxprintpreviewrenderpage
}
1064 \func{bool
}{RenderPage
}{\param{int
}{pageNum
}}
1066 Renders a page into a wxMemoryDC. Used internally by wxPrintPreview.
1068 \membersection{wxPrintPreview::SetCanvas
}\label{wxprintpreviewsetcanvas
}
1070 \func{void
}{SetCanvas
}{\param{wxWindow*
}{window
}}
1072 Sets the window to be used for displaying the print preview image.
1074 \membersection{wxPrintPreview::SetCurrentPage
}\label{wxprintpreviewsetcurrentpage
}
1076 \func{void
}{SetCurrentPage
}{\param{int
}{ pageNum
}}
1078 Sets the current page to be previewed.
1080 \membersection{wxPrintPreview::SetFrame
}\label{wxprintpreviewsetframe
}
1082 \func{void
}{SetFrame
}{\param{wxFrame *
}{frame
}}
1084 Sets the frame to be used for displaying the print preview canvas
1087 \membersection{wxPrintPreview::SetPrintout
}\label{wxprintpreviewsetprintout
}
1089 \func{void
}{SetPrintout
}{\param{wxPrintout *
}{printout
}}
1091 Associates a printout object with the wxPrintPreview object.
1093 \membersection{wxPrintPreview::SetZoom
}\label{wxprintpreviewsetzoom
}
1095 \func{void
}{SetZoom
}{\param{int
}{ percent
}}
1097 Sets the percentage preview zoom, and refreshes the preview canvas