X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c061373dc5ba0ed5e3670af0698154302f1fec2c..dc3065a56f1febf3de3b3bbf0904cf8fdc7f7c50:/include/wx/mac/carbon/printdlg.h diff --git a/include/wx/mac/carbon/printdlg.h b/include/wx/mac/carbon/printdlg.h index 5714163592..f0e9677a96 100644 --- a/include/wx/mac/carbon/printdlg.h +++ b/include/wx/mac/carbon/printdlg.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: printdlg.h +// Name: wx/mac/carbon/printdlg.h // Purpose: wxPrintDialog, wxPageSetupDialog classes. // Use generic, PostScript version if no // platform-specific implementation. @@ -14,17 +14,14 @@ #ifndef _WX_PRINTDLG_H_ #define _WX_PRINTDLG_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "printdlg.h" -#endif - #include "wx/dialog.h" #include "wx/cmndata.h" #include "wx/printdlg.h" - +#include "wx/prntbase.h" + /* - * wxPrinterDialog - * The common dialog for printing. + * wxMacPrintDialog + * The Mac dialog for printing */ class WXDLLEXPORT wxDC; @@ -34,7 +31,7 @@ public: wxMacPrintDialog(); wxMacPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); wxMacPrintDialog(wxWindow *parent, wxPrintData* data ); - ~wxMacPrintDialog(); + virtual ~wxMacPrintDialog(); bool Create(wxWindow *parent, wxPrintDialogData* data = NULL); virtual int ShowModal(); @@ -53,23 +50,63 @@ private: DECLARE_DYNAMIC_CLASS(wxPrintDialog) }; -class WXDLLEXPORT wxPageSetupDialog: public wxDialog +/* + * wxMacPageSetupDialog + * The Mac page setup dialog + */ + +class WXDLLEXPORT wxMacPageSetupDialog: public wxPageSetupDialogBase { - DECLARE_DYNAMIC_CLASS(wxPageSetupDialog) +public: + wxMacPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL); + virtual ~wxMacPageSetupDialog(); - public: - wxPageSetupDialog(); - wxPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL); - ~wxPageSetupDialog(); + virtual wxPageSetupData& GetPageSetupDialogData(); + + bool Create(wxWindow *parent, wxPageSetupData *data = NULL); + virtual int ShowModal(); + +private: + wxPageSetupData m_pageSetupData; + wxWindow* m_dialogParent; + +private: + DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacPageSetupDialog) +}; + +class WXDLLEXPORT wxTextCtrl; + +/* +* wxMacPageMarginsDialog +* A Mac dialog for setting the page margins separately from page setup since +* (native) wxMacPageSetupDialog doesn't let you set margins. +*/ + +class WXDLLEXPORT wxMacPageMarginsDialog : public wxDialog +{ +public: + wxMacPageMarginsDialog(wxFrame* parent, wxPageSetupData* data); + bool TransferToWindow(); + bool TransferDataFromWindow(); - bool Create(wxWindow *parent, wxPageSetupData *data = NULL); - virtual int ShowModal(); + virtual wxPageSetupData& GetPageSetupDialogData() { return *m_pageSetupDialogData; } - inline wxPageSetupData& GetPageSetupData() { return m_pageSetupData; } - private: - wxPageSetupData m_pageSetupData; - wxWindow* m_dialogParent; +private: + wxPageSetupData* m_pageSetupDialogData; + + wxPoint m_MinMarginTopLeft; + wxPoint m_MinMarginBottomRight; + wxTextCtrl *m_LeftMargin; + wxTextCtrl *m_TopMargin; + wxTextCtrl *m_RightMargin; + wxTextCtrl *m_BottomMargin; + + void GetMinMargins(); + bool CheckValue(wxTextCtrl* textCtrl, int *value, int minValue, const wxString& name); + +private: + DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacPageMarginsDialog) }; -#endif - // _WX_PRINTDLG_H_ + +#endif // _WX_PRINTDLG_H_