X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd64de596c085f81aa3ef7d8ee6b2f4afebbed8e..29825f5fc4639b5aa86902cb4b1cd4fa07fb3593:/include/wx/mac/carbon/printdlg.h?ds=inline diff --git a/include/wx/mac/carbon/printdlg.h b/include/wx/mac/carbon/printdlg.h index c7f92db66c..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,34 +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" - -//---------------------------------------------------------------------------- -// wxMacPrintNativeData -//---------------------------------------------------------------------------- - -class WXDLLEXPORT wxMacPrintNativeData: public wxPrintNativeDataBase -{ -public: - wxMacPrintNativeData() {}; - virtual ~wxMacPrintNativeData() {}; - - virtual bool TransferTo( wxPrintData &data ) { return true; } - virtual bool TransferFrom( const wxPrintData &data ) { return true; } - - virtual bool Ok() const { return true; } -}; /* - * wxPrinterDialog - * The common dialog for printing. + * wxMacPrintDialog + * The Mac dialog for printing */ class WXDLLEXPORT wxDC; @@ -51,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(); @@ -70,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; - bool Create(wxWindow *parent, wxPageSetupData *data = NULL); - virtual int ShowModal(); +/* +* 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(); - inline wxPageSetupData& GetPageSetupData() { return m_pageSetupData; } - private: - wxPageSetupData m_pageSetupData; - wxWindow* m_dialogParent; + virtual wxPageSetupData& GetPageSetupDialogData() { return *m_pageSetupDialogData; } + +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_