printdlg.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. // Copyright: (c) Julian Smart
  8. // Licence: wxWindows Licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _WX_PRINTDLG_H_BASE_
  11. #define _WX_PRINTDLG_H_BASE_
  12. #include "wx/defs.h"
  13. #if wxUSE_PRINTING_ARCHITECTURE
  14. #include "wx/event.h"
  15. #include "wx/dialog.h"
  16. #include "wx/intl.h"
  17. #include "wx/cmndata.h"
  18. // ---------------------------------------------------------------------------
  19. // wxPrintDialogBase: interface for the dialog for printing
  20. // ---------------------------------------------------------------------------
  21. class WXDLLIMPEXP_CORE wxPrintDialogBase : public wxDialog
  22. {
  23. public:
  24. wxPrintDialogBase() { }
  25. wxPrintDialogBase(wxWindow *parent,
  26. wxWindowID id = wxID_ANY,
  27. const wxString &title = wxEmptyString,
  28. const wxPoint &pos = wxDefaultPosition,
  29. const wxSize &size = wxDefaultSize,
  30. long style = wxDEFAULT_DIALOG_STYLE);
  31. virtual wxPrintDialogData& GetPrintDialogData() = 0;
  32. virtual wxPrintData& GetPrintData() = 0;
  33. virtual wxDC *GetPrintDC() = 0;
  34. private:
  35. DECLARE_ABSTRACT_CLASS(wxPrintDialogBase)
  36. wxDECLARE_NO_COPY_CLASS(wxPrintDialogBase);
  37. };
  38. // ---------------------------------------------------------------------------
  39. // wxPrintDialog: the dialog for printing.
  40. // ---------------------------------------------------------------------------
  41. class WXDLLIMPEXP_CORE wxPrintDialog : public wxObject
  42. {
  43. public:
  44. wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
  45. wxPrintDialog(wxWindow *parent, wxPrintData* data);
  46. virtual ~wxPrintDialog();
  47. virtual int ShowModal();
  48. virtual wxPrintDialogData& GetPrintDialogData();
  49. virtual wxPrintData& GetPrintData();
  50. virtual wxDC *GetPrintDC();
  51. private:
  52. wxPrintDialogBase *m_pimpl;
  53. private:
  54. DECLARE_DYNAMIC_CLASS(wxPrintDialog)
  55. wxDECLARE_NO_COPY_CLASS(wxPrintDialog);
  56. };
  57. // ---------------------------------------------------------------------------
  58. // wxPageSetupDialogBase: interface for the page setup dialog
  59. // ---------------------------------------------------------------------------
  60. class WXDLLIMPEXP_CORE wxPageSetupDialogBase: public wxDialog
  61. {
  62. public:
  63. wxPageSetupDialogBase() { }
  64. wxPageSetupDialogBase(wxWindow *parent,
  65. wxWindowID id = wxID_ANY,
  66. const wxString &title = wxEmptyString,
  67. const wxPoint &pos = wxDefaultPosition,
  68. const wxSize &size = wxDefaultSize,
  69. long style = wxDEFAULT_DIALOG_STYLE);
  70. virtual wxPageSetupDialogData& GetPageSetupDialogData() = 0;
  71. private:
  72. DECLARE_ABSTRACT_CLASS(wxPageSetupDialogBase)
  73. wxDECLARE_NO_COPY_CLASS(wxPageSetupDialogBase);
  74. };
  75. // ---------------------------------------------------------------------------
  76. // wxPageSetupDialog: the page setup dialog
  77. // ---------------------------------------------------------------------------
  78. class WXDLLIMPEXP_CORE wxPageSetupDialog: public wxObject
  79. {
  80. public:
  81. wxPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL);
  82. virtual ~wxPageSetupDialog();
  83. int ShowModal();
  84. wxPageSetupDialogData& GetPageSetupDialogData();
  85. // old name
  86. wxPageSetupDialogData& GetPageSetupData();
  87. private:
  88. wxPageSetupDialogBase *m_pimpl;
  89. private:
  90. DECLARE_DYNAMIC_CLASS(wxPageSetupDialog)
  91. wxDECLARE_NO_COPY_CLASS(wxPageSetupDialog);
  92. };
  93. #endif
  94. #endif
  95. // _WX_PRINTDLG_H_BASE_