1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/printdlg.h 3// Purpose: Base header and class for print dialogs 4// Author: Julian Smart 5// Modified by: 6// Created: 7// RCS-ID: $Id: printdlg.h 41020 2006-09-05 20:47:48Z VZ $ 8// Copyright: (c) Julian Smart 9// Licence: wxWindows Licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_PRINTDLG_H_BASE_ 13#define _WX_PRINTDLG_H_BASE_ 14 15#include "wx/defs.h" 16 17#if wxUSE_PRINTING_ARCHITECTURE 18 19#include "wx/event.h" 20#include "wx/dialog.h" 21#include "wx/intl.h" 22#include "wx/cmndata.h" 23 24 25// --------------------------------------------------------------------------- 26// wxPrintDialogBase: interface for the dialog for printing 27// --------------------------------------------------------------------------- 28 29class WXDLLEXPORT wxPrintDialogBase : public wxDialog 30{ 31public: 32 wxPrintDialogBase() { } 33 wxPrintDialogBase(wxWindow *parent, 34 wxWindowID id = wxID_ANY, 35 const wxString &title = wxEmptyString, 36 const wxPoint &pos = wxDefaultPosition, 37 const wxSize &size = wxDefaultSize, 38 long style = wxDEFAULT_DIALOG_STYLE); 39 40 virtual wxPrintDialogData& GetPrintDialogData() = 0; 41 virtual wxPrintData& GetPrintData() = 0; 42 virtual wxDC *GetPrintDC() = 0; 43 44private: 45 DECLARE_ABSTRACT_CLASS(wxPrintDialogBase) 46 DECLARE_NO_COPY_CLASS(wxPrintDialogBase) 47}; 48 49// --------------------------------------------------------------------------- 50// wxPrintDialog: the dialog for printing. 51// --------------------------------------------------------------------------- 52 53class WXDLLEXPORT wxPrintDialog : public wxObject 54{ 55public: 56 wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); 57 wxPrintDialog(wxWindow *parent, wxPrintData* data); 58 virtual ~wxPrintDialog(); 59 60 virtual int ShowModal(); 61 62 virtual wxPrintDialogData& GetPrintDialogData(); 63 virtual wxPrintData& GetPrintData(); 64 virtual wxDC *GetPrintDC(); 65 66private: 67 wxPrintDialogBase *m_pimpl; 68 69private: 70 DECLARE_DYNAMIC_CLASS(wxPrintDialog) 71 DECLARE_NO_COPY_CLASS(wxPrintDialog) 72}; 73 74// --------------------------------------------------------------------------- 75// wxPageSetupDialogBase: interface for the page setup dialog 76// --------------------------------------------------------------------------- 77 78class WXDLLEXPORT wxPageSetupDialogBase: public wxDialog 79{ 80public: 81 wxPageSetupDialogBase() { } 82 wxPageSetupDialogBase(wxWindow *parent, 83 wxWindowID id = wxID_ANY, 84 const wxString &title = wxEmptyString, 85 const wxPoint &pos = wxDefaultPosition, 86 const wxSize &size = wxDefaultSize, 87 long style = wxDEFAULT_DIALOG_STYLE); 88 89 virtual wxPageSetupDialogData& GetPageSetupDialogData() = 0; 90 91private: 92 DECLARE_ABSTRACT_CLASS(wxPageSetupDialogBase) 93 DECLARE_NO_COPY_CLASS(wxPageSetupDialogBase) 94}; 95 96// --------------------------------------------------------------------------- 97// wxPageSetupDialog: the page setup dialog 98// --------------------------------------------------------------------------- 99 100class WXDLLEXPORT wxPageSetupDialog: public wxObject 101{ 102public: 103 wxPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL); 104 virtual ~wxPageSetupDialog(); 105 106 int ShowModal(); 107 wxPageSetupDialogData& GetPageSetupDialogData(); 108 // old name 109 wxPageSetupDialogData& GetPageSetupData(); 110 111private: 112 wxPageSetupDialogBase *m_pimpl; 113 114private: 115 DECLARE_DYNAMIC_CLASS(wxPageSetupDialog) 116 DECLARE_NO_COPY_CLASS(wxPageSetupDialog) 117}; 118 119#endif 120 121#endif 122 // _WX_PRINTDLG_H_BASE_ 123