]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/printdlg.h
Cast for argument to delete[] - VC6 doesn't want to delete a const pointer
[wxWidgets.git] / include / wx / mac / carbon / printdlg.h
index 3c6281940cc8777a02dd3a2b69e29e1b630d16b3..d6ec1ce09bfa9abd3f24559c9bcc8345c9622a85 100644 (file)
@@ -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.
 // 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 WXDLLIMPEXP_CORE 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 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)
+};
 
-  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 WXDLLIMPEXP_CORE 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_