X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..cf2810aa394d47a43489d6138edf0497c389a22c:/include/wx/mac/carbon/printdlg.h diff --git a/include/wx/mac/carbon/printdlg.h b/include/wx/mac/carbon/printdlg.h index 3c6281940c..3df2606ebf 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. @@ -8,66 +8,105 @@ // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #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; -class WXDLLEXPORT wxPrintDialog: public wxDialog +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLEXPORT wxMacPrintDialog: public wxPrintDialogBase { - DECLARE_DYNAMIC_CLASS(wxPrintDialog) - - public: - wxPrintDialog(); - wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); - wxPrintDialog(wxWindow *parent, wxPrintData* data ); - ~wxPrintDialog(); +public: + wxMacPrintDialog(); + wxMacPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL); + wxMacPrintDialog(wxWindow *parent, wxPrintData* data ); + virtual ~wxMacPrintDialog(); bool Create(wxWindow *parent, wxPrintDialogData* data = NULL); - virtual int ShowModal(); + virtual int ShowModal(); - wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; } - wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); } - virtual wxDC *GetPrintDC(); + virtual wxPrintDialogData& GetPrintDialogData() { return m_printDialogData; } + virtual wxPrintData& GetPrintData() { return m_printDialogData.GetPrintData(); } + virtual wxDC *GetPrintDC(); - private: - wxPrintDialogData m_printDialogData; - wxDC* m_printerDC; - bool m_destroyDC; - wxWindow* m_dialogParent; +private: + wxPrintDialogData m_printDialogData; + wxDC* m_printerDC; + bool m_destroyDC; + wxWindow* m_dialogParent; + +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) +}; - bool Create(wxWindow *parent, wxPageSetupData *data = NULL); - virtual int ShowModal(); +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; - inline wxPageSetupData& GetPageSetupData() { return m_pageSetupData; } - private: - wxPageSetupData m_pageSetupData; - wxWindow* m_dialogParent; +/* +* 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(); + + 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_