/////////////////////////////////////////////////////////////////////////////
-// Name: printdlg.h
+// Name: wx/mac/carbon/printdlg.h
// Purpose: wxPrintDialog, wxPageSetupDialog classes.
// Use generic, PostScript version if no
// platform-specific implementation.
class WXDLLEXPORT wxMacPageSetupDialog: public wxPageSetupDialogBase
{
public:
- wxMacPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL);
+ wxMacPageSetupDialog(wxWindow *parent, wxPageSetupData *data = NULL);
virtual ~wxMacPageSetupDialog();
virtual wxPageSetupData& GetPageSetupDialogData();
- bool Create(wxWindow *parent, wxPageSetupDialogData *data = NULL);
+ bool Create(wxWindow *parent, wxPageSetupData *data = NULL);
virtual int ShowModal();
private:
- wxPageSetupDialogData m_pageSetupData;
+ wxPageSetupData m_pageSetupData;
wxWindow* m_dialogParent;
private:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacPageSetupDialog)
};
-#endif
- // _WX_PRINTDLG_H_
+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();
+
+ 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_