]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/printdlg.h
fixed memory leak in wxXmlResource introduced when fixing wxVector<> usage (patch...
[wxWidgets.git] / include / wx / mac / carbon / printdlg.h
index 5ea44000980ec72afbfedc2d0f6359243d6313ca..3df2606ebf22ee890b0ddd980a4d80685bd43f51 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.
 #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; }
-};
     
 /*
  * wxMacPrintDialog
  * The Mac dialog for printing
  */
 
-class WXDLLEXPORT wxDC;
+class WXDLLIMPEXP_FWD_CORE wxDC;
 class WXDLLEXPORT 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();
@@ -78,21 +58,55 @@ private:
 class WXDLLEXPORT wxMacPageSetupDialog: public wxPageSetupDialogBase
 {
 public:
-    wxMacPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL);
-    ~wxMacPageSetupDialog();
+    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 WXDLLIMPEXP_FWD_CORE 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_