/////////////////////////////////////////////////////////////////////////////
-// Name: printdlg.h
+// Name: wx/mac/carbon/printdlg.h
// Purpose: wxPrintDialog, wxPageSetupDialog classes.
// Use generic, PostScript version if no
// platform-specific implementation.
#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;
-class WXDLLEXPORT wxMacPrintDialog: public wxPrintDialogBase
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_CORE wxMacPrintDialog: public wxPrintDialogBase
{
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();
DECLARE_DYNAMIC_CLASS(wxPrintDialog)
};
-class WXDLLEXPORT wxPageSetupDialog: public wxDialog
+/*
+ * wxMacPageSetupDialog
+ * The Mac page setup dialog
+ */
+
+class WXDLLIMPEXP_CORE 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 WXDLLIMPEXP_FWD_CORE 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 WXDLLIMPEXP_CORE 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_