X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12bdd77c85888f29ed94e23ba28d31d99a522598..eba99da4c0563e6508761272a1e1f1b791d0af6b:/include/wx/printdlg.h?ds=inline

diff --git a/include/wx/printdlg.h b/include/wx/printdlg.h
index 32d9821515..4486ab3233 100644
--- a/include/wx/printdlg.h
+++ b/include/wx/printdlg.h
@@ -1,33 +1,114 @@
 #ifndef _WX_PRINTDLG_H_BASE_
 #define _WX_PRINTDLG_H_BASE_
 
-#if defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
-#include "wx/generic/prntdlgg.h"
-#elif defined(__WXMSW__)
-#include "wx/msw/printdlg.h"
-#elif defined(__WXMOTIF__)
-#include "wx/generic/prntdlgg.h"
-#elif defined(__WXGTK__)
-#include "wx/generic/prntdlgg.h"
-#elif defined(__WXX11__)
-#include "wx/generic/prntdlgg.h"
-#elif defined(__WXMGL__)
-#include "wx/generic/prntdlgg.h"
-#elif defined(__WXMAC__)
-#include "wx/mac/printdlg.h"
-#elif defined(__WXPM__)
-#include "wx/generic/prntdlgg.h"
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+    #pragma interface "printdlg.h"
 #endif
 
-#if (defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) ) || (!defined(__WXMSW__) && !defined(__WXMAC__))
-#define wxPrintDialog wxGenericPrintDialog
-#define sm_classwxPrintDialog sm_classwxGenericPrintDialog
+#include "wx/defs.h"
 
-#define wxPrintSetupDialog wxGenericPrintSetupDialog
-#define sm_classwxPrintSetupDialog sm_classwxGenericPrintSetupDialog
+#if wxUSE_PRINTING_ARCHITECTURE
+
+#include "wx/event.h"
+#include "wx/dialog.h"
+#include "wx/intl.h"
+#include "wx/cmndata.h"
+
+
+// ---------------------------------------------------------------------------
+// wxPrintDialogBase: interface for the dialog for printing
+// ---------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPrintDialogBase : public wxDialog
+{
+public:
+    wxPrintDialogBase() { }
+    wxPrintDialogBase(wxWindow *parent,
+                      wxWindowID id = wxID_ANY,
+                      const wxString &title = wxEmptyString,
+                      const wxPoint &pos = wxDefaultPosition,
+                      const wxSize &size = wxDefaultSize,
+                      long style = wxDEFAULT_DIALOG_STYLE);
+            
+    virtual wxPrintDialogData& GetPrintDialogData() = 0;
+    virtual wxPrintData& GetPrintData() = 0;
+    virtual wxDC *GetPrintDC() = 0;
+    
+private:
+    DECLARE_ABSTRACT_CLASS(wxPrintDialogBase)
+    DECLARE_NO_COPY_CLASS(wxPrintDialogBase)
+};
+
+// ---------------------------------------------------------------------------
+// wxPrintDialog: the dialog for printing.
+// ---------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPrintDialog : public wxObject
+{
+public:
+    wxPrintDialog(wxWindow *parent, wxPrintDialogData* data = NULL);
+    wxPrintDialog(wxWindow *parent, wxPrintData* data);
+    ~wxPrintDialog();
+
+    virtual int ShowModal();
+
+    virtual wxPrintDialogData& GetPrintDialogData();
+    virtual wxPrintData& GetPrintData();
+    virtual wxDC *GetPrintDC();
+    
+private:
+    wxPrintDialogBase  *m_pimpl;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxPrintDialog)
+    DECLARE_NO_COPY_CLASS(wxPrintDialog)
+};
+
+// ---------------------------------------------------------------------------
+// wxPageSetupDialogBase: interface for the page setup dialog
+// ---------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPageSetupDialogBase: public wxDialog
+{
+public:
+    wxPageSetupDialogBase() { }
+    wxPageSetupDialogBase(wxWindow *parent,
+                      wxWindowID id = wxID_ANY,
+                      const wxString &title = wxEmptyString,
+                      const wxPoint &pos = wxDefaultPosition,
+                      const wxSize &size = wxDefaultSize,
+                      long style = wxDEFAULT_DIALOG_STYLE);
+
+    virtual wxPageSetupDialogData& GetPageSetupDialogData() = 0;
+
+private:
+    DECLARE_ABSTRACT_CLASS(wxPageSetupDialogBase)
+    DECLARE_NO_COPY_CLASS(wxPageSetupDialogBase)
+};
+
+// ---------------------------------------------------------------------------
+// wxPageSetupDialog: the page setup dialog
+// ---------------------------------------------------------------------------
+
+class WXDLLEXPORT wxPageSetupDialog: public wxObject
+{
+public:
+    wxPageSetupDialog(wxWindow *parent, wxPageSetupDialogData *data = NULL);
+    ~wxPageSetupDialog();
+
+    int ShowModal();
+    wxPageSetupDialogData& GetPageSetupDialogData();
+    // old name
+    wxPageSetupDialogData& GetPageSetupData();
+
+private:
+    wxPageSetupDialogBase  *m_pimpl;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxPageSetupDialog)
+    DECLARE_NO_COPY_CLASS(wxPageSetupDialog)
+};
 
-#define wxPageSetupDialog wxGenericPageSetupDialog
-#define sm_classwxPageSetupDialog sm_classwxGenericPageSetupDialog
 #endif
 
 #endif