printdlg.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/osx/printdlg.h
  3. // Purpose: wxPrintDialog, wxPageSetupDialog classes.
  4. // Use generic, PostScript version if no
  5. // platform-specific implementation.
  6. // Author: Stefan Csomor
  7. // Modified by:
  8. // Created: 1998-01-01
  9. // Copyright: (c) Stefan Csomor
  10. // Licence: wxWindows licence
  11. /////////////////////////////////////////////////////////////////////////////
  12. #ifndef _WX_PRINTDLG_H_
  13. #define _WX_PRINTDLG_H_
  14. #include "wx/dialog.h"
  15. #include "wx/cmndata.h"
  16. #include "wx/printdlg.h"
  17. #include "wx/prntbase.h"
  18. /*
  19. * wxMacPrintDialog
  20. * The Mac dialog for printing
  21. */
  22. class WXDLLIMPEXP_FWD_CORE wxDC;
  23. class WXDLLIMPEXP_CORE wxMacPrintDialog: public wxPrintDialogBase
  24. {
  25. public:
  26. wxMacPrintDialog();
  27. wxMacPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
  28. wxMacPrintDialog(wxWindow *parent, wxPrintData* data );
  29. virtual ~wxMacPrintDialog();
  30. bool Create(wxWindow *parent, wxPrintDialogData* data = NULL);
  31. virtual int ShowModal();
  32. virtual wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; }
  33. virtual wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); }
  34. virtual wxDC *GetPrintDC();
  35. private:
  36. wxPrintDialogData m_printDialogData;
  37. wxDC* m_printerDC;
  38. bool m_destroyDC;
  39. wxWindow* m_dialogParent;
  40. private:
  41. DECLARE_DYNAMIC_CLASS(wxPrintDialog)
  42. };
  43. /*
  44. * wxMacPageSetupDialog
  45. * The Mac page setup dialog
  46. */
  47. class WXDLLIMPEXP_CORE wxMacPageSetupDialog: public wxPageSetupDialogBase
  48. {
  49. public:
  50. wxMacPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL);
  51. virtual ~wxMacPageSetupDialog();
  52. virtual wxPageSetupDialogData& GetPageSetupDialogData();
  53. bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL);
  54. virtual int ShowModal();
  55. private:
  56. wxPageSetupDialogData m_pageSetupData;
  57. wxWindow* m_dialogParent;
  58. private:
  59. DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacPageSetupDialog)
  60. };
  61. class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
  62. /*
  63. * wxMacPageMarginsDialog
  64. * A Mac dialog for setting the page margins separately from page setup since
  65. * (native) wxMacPageSetupDialog doesn't let you set margins.
  66. */
  67. class WXDLLIMPEXP_CORE wxMacPageMarginsDialog : public wxDialog
  68. {
  69. public:
  70. wxMacPageMarginsDialog(wxFrame* parent, wxPageSetupDialogData* data);
  71. bool TransferToWindow();
  72. bool TransferDataFromWindow();
  73. virtual wxPageSetupDialogData& GetPageSetupDialogData() { return *m_pageSetupDialogData; }
  74. private:
  75. wxPageSetupDialogData* m_pageSetupDialogData;
  76. wxPoint m_MinMarginTopLeft;
  77. wxPoint m_MinMarginBottomRight;
  78. wxTextCtrl *m_LeftMargin;
  79. wxTextCtrl *m_TopMargin;
  80. wxTextCtrl *m_RightMargin;
  81. wxTextCtrl *m_BottomMargin;
  82. void GetMinMargins();
  83. bool CheckValue(wxTextCtrl* textCtrl, int *value, int minValue, const wxString& name);
  84. private:
  85. DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacPageMarginsDialog)
  86. };
  87. #endif // _WX_PRINTDLG_H_