1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Base classes for printing framework
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_PRNTBASEH__
13 #define _WX_PRNTBASEH__
17 #if wxUSE_PRINTING_ARCHITECTURE
20 #include "wx/cmndata.h"
22 #include "wx/scrolwin.h"
23 #include "wx/dialog.h"
27 class WXDLLIMPEXP_FWD_CORE wxDC
;
28 class WXDLLIMPEXP_FWD_CORE wxButton
;
29 class WXDLLIMPEXP_FWD_CORE wxChoice
;
30 class WXDLLIMPEXP_FWD_CORE wxPrintout
;
31 class WXDLLIMPEXP_FWD_CORE wxPrinterBase
;
32 class WXDLLIMPEXP_FWD_CORE wxPrintDialogBase
;
33 class WXDLLIMPEXP_FWD_CORE wxPrintDialog
;
34 class WXDLLIMPEXP_FWD_CORE wxPageSetupDialogBase
;
35 class WXDLLIMPEXP_FWD_CORE wxPageSetupDialog
;
36 class WXDLLIMPEXP_FWD_CORE wxPrintPreviewBase
;
37 class WXDLLIMPEXP_FWD_CORE wxPreviewCanvas
;
38 class WXDLLIMPEXP_FWD_CORE wxPreviewControlBar
;
39 class WXDLLIMPEXP_FWD_CORE wxPreviewFrame
;
40 class WXDLLIMPEXP_FWD_CORE wxPrintFactory
;
41 class WXDLLIMPEXP_FWD_CORE wxPrintNativeDataBase
;
43 //----------------------------------------------------------------------------
45 //----------------------------------------------------------------------------
49 wxPRINTER_NO_ERROR
= 0,
54 //----------------------------------------------------------------------------
56 //----------------------------------------------------------------------------
58 class WXDLLIMPEXP_CORE wxPrintFactory
62 virtual ~wxPrintFactory() {}
64 virtual wxPrinterBase
*CreatePrinter( wxPrintDialogData
* data
) = 0;
66 virtual wxPrintPreviewBase
*CreatePrintPreview( wxPrintout
*preview
,
67 wxPrintout
*printout
= NULL
,
68 wxPrintDialogData
*data
= NULL
) = 0;
69 virtual wxPrintPreviewBase
*CreatePrintPreview( wxPrintout
*preview
,
71 wxPrintData
*data
) = 0;
73 virtual wxPrintDialogBase
*CreatePrintDialog( wxWindow
*parent
,
74 wxPrintDialogData
*data
= NULL
) = 0;
75 virtual wxPrintDialogBase
*CreatePrintDialog( wxWindow
*parent
,
76 wxPrintData
*data
) = 0;
78 virtual wxPageSetupDialogBase
*CreatePageSetupDialog( wxWindow
*parent
,
79 wxPageSetupDialogData
* data
= NULL
) = 0;
81 virtual wxDCImpl
* CreatePrinterDCImpl( wxPrinterDC
*owner
, const wxPrintData
& data
) = 0;
83 // What to do and what to show in the wxPrintDialog
84 // a) Use the generic print setup dialog or a native one?
85 virtual bool HasPrintSetupDialog() = 0;
86 virtual wxDialog
*CreatePrintSetupDialog( wxWindow
*parent
, wxPrintData
*data
) = 0;
87 // b) Provide the "print to file" option ourselves or via print setup?
88 virtual bool HasOwnPrintToFile() = 0;
89 // c) Show current printer
90 virtual bool HasPrinterLine() = 0;
91 virtual wxString
CreatePrinterLine() = 0;
92 // d) Show Status line for current printer?
93 virtual bool HasStatusLine() = 0;
94 virtual wxString
CreateStatusLine() = 0;
97 virtual wxPrintNativeDataBase
*CreatePrintNativeData() = 0;
99 static void SetPrintFactory( wxPrintFactory
*factory
);
100 static wxPrintFactory
*GetFactory();
102 static wxPrintFactory
*m_factory
;
105 class WXDLLIMPEXP_CORE wxNativePrintFactory
: public wxPrintFactory
108 virtual wxPrinterBase
*CreatePrinter( wxPrintDialogData
*data
);
110 virtual wxPrintPreviewBase
*CreatePrintPreview( wxPrintout
*preview
,
111 wxPrintout
*printout
= NULL
,
112 wxPrintDialogData
*data
= NULL
);
113 virtual wxPrintPreviewBase
*CreatePrintPreview( wxPrintout
*preview
,
114 wxPrintout
*printout
,
117 virtual wxPrintDialogBase
*CreatePrintDialog( wxWindow
*parent
,
118 wxPrintDialogData
*data
= NULL
);
119 virtual wxPrintDialogBase
*CreatePrintDialog( wxWindow
*parent
,
122 virtual wxPageSetupDialogBase
*CreatePageSetupDialog( wxWindow
*parent
,
123 wxPageSetupDialogData
* data
= NULL
);
125 virtual wxDCImpl
* CreatePrinterDCImpl( wxPrinterDC
*owner
, const wxPrintData
& data
);
127 virtual bool HasPrintSetupDialog();
128 virtual wxDialog
*CreatePrintSetupDialog( wxWindow
*parent
, wxPrintData
*data
);
129 virtual bool HasOwnPrintToFile();
130 virtual bool HasPrinterLine();
131 virtual wxString
CreatePrinterLine();
132 virtual bool HasStatusLine();
133 virtual wxString
CreateStatusLine();
135 virtual wxPrintNativeDataBase
*CreatePrintNativeData();
138 //----------------------------------------------------------------------------
139 // wxPrintNativeDataBase
140 //----------------------------------------------------------------------------
142 class WXDLLIMPEXP_CORE wxPrintNativeDataBase
: public wxObject
145 wxPrintNativeDataBase();
146 virtual ~wxPrintNativeDataBase() {}
148 virtual bool TransferTo( wxPrintData
&data
) = 0;
149 virtual bool TransferFrom( const wxPrintData
&data
) = 0;
151 virtual bool Ok() const { return IsOk(); }
152 virtual bool IsOk() const = 0;
157 DECLARE_CLASS(wxPrintNativeDataBase
)
158 wxDECLARE_NO_COPY_CLASS(wxPrintNativeDataBase
);
161 //----------------------------------------------------------------------------
163 //----------------------------------------------------------------------------
166 * Represents the printer: manages printing a wxPrintout object
169 class WXDLLIMPEXP_CORE wxPrinterBase
: public wxObject
172 wxPrinterBase(wxPrintDialogData
*data
= NULL
);
173 virtual ~wxPrinterBase();
175 virtual wxWindow
*CreateAbortWindow(wxWindow
*parent
, wxPrintout
*printout
);
176 virtual void ReportError(wxWindow
*parent
, wxPrintout
*printout
, const wxString
& message
);
178 virtual wxPrintDialogData
& GetPrintDialogData() const;
179 bool GetAbort() const { return sm_abortIt
; }
181 static wxPrinterError
GetLastError() { return sm_lastError
; }
183 ///////////////////////////////////////////////////////////////////////////
186 virtual bool Setup(wxWindow
*parent
) = 0;
187 virtual bool Print(wxWindow
*parent
, wxPrintout
*printout
, bool prompt
= true) = 0;
188 virtual wxDC
* PrintDialog(wxWindow
*parent
) = 0;
191 wxPrintDialogData m_printDialogData
;
192 wxPrintout
* m_currentPrintout
;
194 static wxPrinterError sm_lastError
;
197 static wxWindow
* sm_abortWindow
;
198 static bool sm_abortIt
;
201 DECLARE_CLASS(wxPrinterBase
)
202 wxDECLARE_NO_COPY_CLASS(wxPrinterBase
);
205 //----------------------------------------------------------------------------
207 //----------------------------------------------------------------------------
209 class WXDLLIMPEXP_CORE wxPrinter
: public wxPrinterBase
212 wxPrinter(wxPrintDialogData
*data
= NULL
);
213 virtual ~wxPrinter();
215 virtual wxWindow
*CreateAbortWindow(wxWindow
*parent
, wxPrintout
*printout
);
216 virtual void ReportError(wxWindow
*parent
, wxPrintout
*printout
, const wxString
& message
);
218 virtual bool Setup(wxWindow
*parent
);
219 virtual bool Print(wxWindow
*parent
, wxPrintout
*printout
, bool prompt
= true);
220 virtual wxDC
* PrintDialog(wxWindow
*parent
);
222 virtual wxPrintDialogData
& GetPrintDialogData() const;
225 wxPrinterBase
*m_pimpl
;
228 DECLARE_CLASS(wxPrinter
)
229 wxDECLARE_NO_COPY_CLASS(wxPrinter
);
232 //----------------------------------------------------------------------------
234 //----------------------------------------------------------------------------
237 * Represents an object via which a document may be printed.
238 * The programmer derives from this, overrides (at least) OnPrintPage,
239 * and passes it to a wxPrinter object for printing, or a wxPrintPreview
240 * object for previewing.
243 class WXDLLIMPEXP_CORE wxPrintout
: public wxObject
246 wxPrintout(const wxString
& title
= wxT("Printout"));
247 virtual ~wxPrintout();
249 virtual bool OnBeginDocument(int startPage
, int endPage
);
250 virtual void OnEndDocument();
251 virtual void OnBeginPrinting();
252 virtual void OnEndPrinting();
254 // Guaranteed to be before any other functions are called
255 virtual void OnPreparePrinting() { }
257 virtual bool HasPage(int page
);
258 virtual bool OnPrintPage(int page
) = 0;
259 virtual void GetPageInfo(int *minPage
, int *maxPage
, int *pageFrom
, int *pageTo
);
261 virtual wxString
GetTitle() const { return m_printoutTitle
; }
263 wxDC
*GetDC() const { return m_printoutDC
; }
264 void SetDC(wxDC
*dc
) { m_printoutDC
= dc
; }
266 void FitThisSizeToPaper(const wxSize
& imageSize
);
267 void FitThisSizeToPage(const wxSize
& imageSize
);
268 void FitThisSizeToPageMargins(const wxSize
& imageSize
, const wxPageSetupDialogData
& pageSetupData
);
269 void MapScreenSizeToPaper();
270 void MapScreenSizeToPage();
271 void MapScreenSizeToPageMargins(const wxPageSetupDialogData
& pageSetupData
);
272 void MapScreenSizeToDevice();
274 wxRect
GetLogicalPaperRect() const;
275 wxRect
GetLogicalPageRect() const;
276 wxRect
GetLogicalPageMarginsRect(const wxPageSetupDialogData
& pageSetupData
) const;
278 void SetLogicalOrigin(wxCoord x
, wxCoord y
);
279 void OffsetLogicalOrigin(wxCoord xoff
, wxCoord yoff
);
281 void SetPageSizePixels(int w
, int h
) { m_pageWidthPixels
= w
; m_pageHeightPixels
= h
; }
282 void GetPageSizePixels(int *w
, int *h
) const { *w
= m_pageWidthPixels
; *h
= m_pageHeightPixels
; }
283 void SetPageSizeMM(int w
, int h
) { m_pageWidthMM
= w
; m_pageHeightMM
= h
; }
284 void GetPageSizeMM(int *w
, int *h
) const { *w
= m_pageWidthMM
; *h
= m_pageHeightMM
; }
286 void SetPPIScreen(int x
, int y
) { m_PPIScreenX
= x
; m_PPIScreenY
= y
; }
287 void SetPPIScreen(const wxSize
& ppi
) { SetPPIScreen(ppi
.x
, ppi
.y
); }
288 void GetPPIScreen(int *x
, int *y
) const { *x
= m_PPIScreenX
; *y
= m_PPIScreenY
; }
289 void SetPPIPrinter(int x
, int y
) { m_PPIPrinterX
= x
; m_PPIPrinterY
= y
; }
290 void SetPPIPrinter(const wxSize
& ppi
) { SetPPIPrinter(ppi
.x
, ppi
.y
); }
291 void GetPPIPrinter(int *x
, int *y
) const { *x
= m_PPIPrinterX
; *y
= m_PPIPrinterY
; }
293 void SetPaperRectPixels(const wxRect
& paperRectPixels
) { m_paperRectPixels
= paperRectPixels
; }
294 wxRect
GetPaperRectPixels() const { return m_paperRectPixels
; }
296 virtual bool IsPreview() const { return m_isPreview
; }
298 virtual void SetIsPreview(bool p
) { m_isPreview
= p
; }
301 wxString m_printoutTitle
;
304 int m_pageWidthPixels
;
305 int m_pageHeightPixels
;
315 wxRect m_paperRectPixels
;
320 DECLARE_ABSTRACT_CLASS(wxPrintout
)
321 wxDECLARE_NO_COPY_CLASS(wxPrintout
);
324 //----------------------------------------------------------------------------
326 //----------------------------------------------------------------------------
329 * Canvas upon which a preview is drawn.
332 class WXDLLIMPEXP_CORE wxPreviewCanvas
: public wxScrolledWindow
335 wxPreviewCanvas(wxPrintPreviewBase
*preview
,
337 const wxPoint
& pos
= wxDefaultPosition
,
338 const wxSize
& size
= wxDefaultSize
,
340 const wxString
& name
= wxT("canvas"));
341 virtual ~wxPreviewCanvas();
343 void SetPreview(wxPrintPreviewBase
*preview
) { m_printPreview
= preview
; }
345 void OnPaint(wxPaintEvent
& event
);
346 void OnChar(wxKeyEvent
&event
);
347 // Responds to colour changes
348 void OnSysColourChanged(wxSysColourChangedEvent
& event
);
352 void OnMouseWheel(wxMouseEvent
& event
);
353 #endif // wxUSE_MOUSEWHEEL
354 void OnIdle(wxIdleEvent
& event
);
356 wxPrintPreviewBase
* m_printPreview
;
358 DECLARE_CLASS(wxPreviewCanvas
)
359 DECLARE_EVENT_TABLE()
360 wxDECLARE_NO_COPY_CLASS(wxPreviewCanvas
);
363 //----------------------------------------------------------------------------
365 //----------------------------------------------------------------------------
368 * Default frame for showing preview.
371 class WXDLLIMPEXP_CORE wxPreviewFrame
: public wxFrame
374 wxPreviewFrame(wxPrintPreviewBase
*preview
,
376 const wxString
& title
= wxT("Print Preview"),
377 const wxPoint
& pos
= wxDefaultPosition
,
378 const wxSize
& size
= wxDefaultSize
,
379 long style
= wxDEFAULT_FRAME_STYLE
| wxFRAME_FLOAT_ON_PARENT
,
380 const wxString
& name
= wxFrameNameStr
);
381 virtual ~wxPreviewFrame();
383 void OnCloseWindow(wxCloseEvent
& event
);
384 virtual void Initialize();
385 virtual void CreateCanvas();
386 virtual void CreateControlBar();
388 inline wxPreviewControlBar
* GetControlBar() const { return m_controlBar
; }
391 wxPreviewCanvas
* m_previewCanvas
;
392 wxPreviewControlBar
* m_controlBar
;
393 wxPrintPreviewBase
* m_printPreview
;
394 wxWindowDisabler
* m_windowDisabler
;
397 void OnChar(wxKeyEvent
& event
);
399 DECLARE_EVENT_TABLE()
400 DECLARE_CLASS(wxPreviewFrame
)
401 wxDECLARE_NO_COPY_CLASS(wxPreviewFrame
);
404 //----------------------------------------------------------------------------
405 // wxPreviewControlBar
406 //----------------------------------------------------------------------------
409 * A panel with buttons for controlling a print preview.
410 * The programmer may wish to use other means for controlling
414 #define wxPREVIEW_PRINT 1
415 #define wxPREVIEW_PREVIOUS 2
416 #define wxPREVIEW_NEXT 4
417 #define wxPREVIEW_ZOOM 8
418 #define wxPREVIEW_FIRST 16
419 #define wxPREVIEW_LAST 32
420 #define wxPREVIEW_GOTO 64
422 #define wxPREVIEW_DEFAULT (wxPREVIEW_PREVIOUS|wxPREVIEW_NEXT|wxPREVIEW_ZOOM\
423 |wxPREVIEW_FIRST|wxPREVIEW_GOTO|wxPREVIEW_LAST)
426 #define wxID_PREVIEW_CLOSE 1
427 #define wxID_PREVIEW_NEXT 2
428 #define wxID_PREVIEW_PREVIOUS 3
429 #define wxID_PREVIEW_PRINT 4
430 #define wxID_PREVIEW_ZOOM 5
431 #define wxID_PREVIEW_FIRST 6
432 #define wxID_PREVIEW_LAST 7
433 #define wxID_PREVIEW_GOTO 8
435 class WXDLLIMPEXP_CORE wxPreviewControlBar
: public wxPanel
437 DECLARE_CLASS(wxPreviewControlBar
)
440 wxPreviewControlBar(wxPrintPreviewBase
*preview
,
443 const wxPoint
& pos
= wxDefaultPosition
,
444 const wxSize
& size
= wxDefaultSize
,
445 long style
= wxTAB_TRAVERSAL
,
446 const wxString
& name
= wxT("panel"));
447 virtual ~wxPreviewControlBar();
449 virtual void CreateButtons();
450 virtual void SetZoomControl(int zoom
);
451 virtual int GetZoomControl();
452 virtual wxPrintPreviewBase
*GetPrintPreview() const
453 { return m_printPreview
; }
455 void OnWindowClose(wxCommandEvent
& event
);
462 void OnPrintButton(wxCommandEvent
& WXUNUSED(event
)) { OnPrint(); }
463 void OnNextButton(wxCommandEvent
& WXUNUSED(event
)) { OnNext(); }
464 void OnPreviousButton(wxCommandEvent
& WXUNUSED(event
)) { OnPrevious(); }
465 void OnFirstButton(wxCommandEvent
& WXUNUSED(event
)) { OnFirst(); }
466 void OnLastButton(wxCommandEvent
& WXUNUSED(event
)) { OnLast(); }
467 void OnGotoButton(wxCommandEvent
& WXUNUSED(event
)) { OnGoto(); }
468 void OnZoom(wxCommandEvent
& event
);
469 void OnPaint(wxPaintEvent
& event
);
472 wxPrintPreviewBase
* m_printPreview
;
473 wxButton
* m_closeButton
;
474 wxButton
* m_nextPageButton
;
475 wxButton
* m_previousPageButton
;
476 wxButton
* m_printButton
;
477 wxChoice
* m_zoomControl
;
478 wxButton
* m_firstPageButton
;
479 wxButton
* m_lastPageButton
;
480 wxButton
* m_gotoPageButton
;
484 DECLARE_EVENT_TABLE()
485 wxDECLARE_NO_COPY_CLASS(wxPreviewControlBar
);
488 //----------------------------------------------------------------------------
489 // wxPrintPreviewBase
490 //----------------------------------------------------------------------------
493 * Programmer creates an object of this class to preview a wxPrintout.
496 class WXDLLIMPEXP_CORE wxPrintPreviewBase
: public wxObject
499 wxPrintPreviewBase(wxPrintout
*printout
,
500 wxPrintout
*printoutForPrinting
= NULL
,
501 wxPrintDialogData
*data
= NULL
);
502 wxPrintPreviewBase(wxPrintout
*printout
,
503 wxPrintout
*printoutForPrinting
,
505 virtual ~wxPrintPreviewBase();
507 virtual bool SetCurrentPage(int pageNum
);
508 virtual int GetCurrentPage() const;
510 virtual void SetPrintout(wxPrintout
*printout
);
511 virtual wxPrintout
*GetPrintout() const;
512 virtual wxPrintout
*GetPrintoutForPrinting() const;
514 virtual void SetFrame(wxFrame
*frame
);
515 virtual void SetCanvas(wxPreviewCanvas
*canvas
);
517 virtual wxFrame
*GetFrame() const;
518 virtual wxPreviewCanvas
*GetCanvas() const;
520 // This is a helper routine, used by the next 4 routines.
522 virtual void CalcRects(wxPreviewCanvas
*canvas
, wxRect
& printableAreaRect
, wxRect
& paperRect
);
524 // The preview canvas should call this from OnPaint
525 virtual bool PaintPage(wxPreviewCanvas
*canvas
, wxDC
& dc
);
527 // Updates rendered page by calling RenderPage() if needed, returns true
528 // if there was some change. Preview canvas should call it at idle time
529 virtual bool UpdatePageRendering();
531 // This draws a blank page onto the preview canvas
532 virtual bool DrawBlankPage(wxPreviewCanvas
*canvas
, wxDC
& dc
);
534 // Adjusts the scrollbars for the current scale
535 virtual void AdjustScrollbars(wxPreviewCanvas
*canvas
);
537 // This is called by wxPrintPreview to render a page into a wxMemoryDC.
538 virtual bool RenderPage(int pageNum
);
541 virtual void SetZoom(int percent
);
542 virtual int GetZoom() const;
544 virtual wxPrintDialogData
& GetPrintDialogData();
546 virtual int GetMaxPage() const;
547 virtual int GetMinPage() const;
549 virtual bool Ok() const { return IsOk(); }
550 virtual bool IsOk() const;
551 virtual void SetOk(bool ok
);
553 ///////////////////////////////////////////////////////////////////////////
556 // If we own a wxPrintout that can be used for printing, this
557 // will invoke the actual printing procedure. Called
558 // by the wxPreviewControlBar.
559 virtual bool Print(bool interactive
) = 0;
561 // Calculate scaling that needs to be done to get roughly
562 // the right scaling for the screen pretending to be
563 // the currently selected printer.
564 virtual void DetermineScaling() = 0;
567 // helpers for RenderPage():
568 virtual bool RenderPageIntoDC(wxDC
& dc
, int pageNum
);
569 // renders preview into m_previewBitmap
570 virtual bool RenderPageIntoBitmap(wxBitmap
& bmp
, int pageNum
);
572 void InvalidatePreviewBitmap();
575 wxPrintDialogData m_printDialogData
;
576 wxPreviewCanvas
* m_previewCanvas
;
577 wxFrame
* m_previewFrame
;
578 wxBitmap
* m_previewBitmap
;
579 bool m_previewFailed
;
580 wxPrintout
* m_previewPrintout
;
581 wxPrintout
* m_printPrintout
;
584 float m_previewScaleX
;
585 float m_previewScaleY
;
594 bool m_printingPrepared
; // Called OnPreparePrinting?
597 void Init(wxPrintout
*printout
, wxPrintout
*printoutForPrinting
);
599 wxDECLARE_NO_COPY_CLASS(wxPrintPreviewBase
);
600 DECLARE_CLASS(wxPrintPreviewBase
)
603 //----------------------------------------------------------------------------
605 //----------------------------------------------------------------------------
607 class WXDLLIMPEXP_CORE wxPrintPreview
: public wxPrintPreviewBase
610 wxPrintPreview(wxPrintout
*printout
,
611 wxPrintout
*printoutForPrinting
= NULL
,
612 wxPrintDialogData
*data
= NULL
);
613 wxPrintPreview(wxPrintout
*printout
,
614 wxPrintout
*printoutForPrinting
,
616 virtual ~wxPrintPreview();
618 virtual bool SetCurrentPage(int pageNum
);
619 virtual int GetCurrentPage() const;
620 virtual void SetPrintout(wxPrintout
*printout
);
621 virtual wxPrintout
*GetPrintout() const;
622 virtual wxPrintout
*GetPrintoutForPrinting() const;
623 virtual void SetFrame(wxFrame
*frame
);
624 virtual void SetCanvas(wxPreviewCanvas
*canvas
);
626 virtual wxFrame
*GetFrame() const;
627 virtual wxPreviewCanvas
*GetCanvas() const;
628 virtual bool PaintPage(wxPreviewCanvas
*canvas
, wxDC
& dc
);
629 virtual bool UpdatePageRendering();
630 virtual bool DrawBlankPage(wxPreviewCanvas
*canvas
, wxDC
& dc
);
631 virtual void AdjustScrollbars(wxPreviewCanvas
*canvas
);
632 virtual bool RenderPage(int pageNum
);
633 virtual void SetZoom(int percent
);
634 virtual int GetZoom() const;
636 virtual bool Print(bool interactive
);
637 virtual void DetermineScaling();
639 virtual wxPrintDialogData
& GetPrintDialogData();
641 virtual int GetMaxPage() const;
642 virtual int GetMinPage() const;
644 virtual bool Ok() const { return IsOk(); }
645 virtual bool IsOk() const;
646 virtual void SetOk(bool ok
);
649 wxPrintPreviewBase
*m_pimpl
;
652 DECLARE_CLASS(wxPrintPreview
)
653 wxDECLARE_NO_COPY_CLASS(wxPrintPreview
);
656 //----------------------------------------------------------------------------
657 // wxPrintAbortDialog
658 //----------------------------------------------------------------------------
660 class WXDLLIMPEXP_CORE wxPrintAbortDialog
: public wxDialog
663 wxPrintAbortDialog(wxWindow
*parent
,
664 const wxString
& title
,
665 const wxPoint
& pos
= wxDefaultPosition
,
666 const wxSize
& size
= wxDefaultSize
,
668 const wxString
& name
= wxT("dialog"))
669 : wxDialog(parent
, wxID_ANY
, title
, pos
, size
, style
, name
)
673 void OnCancel(wxCommandEvent
& event
);
676 DECLARE_EVENT_TABLE()
677 wxDECLARE_NO_COPY_CLASS(wxPrintAbortDialog
);
680 #endif // wxUSE_PRINTING_ARCHITECTURE