]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/printfw.i
Allow compiling when _WIN32_IE < 0x300
[wxWidgets.git] / wxPython / src / printfw.i
index 4ab596d72e4d2c638b7cc2ea403a7239fc26266c..399b28e0d573de68f4bce97d81f68296c8734767 100644 (file)
 #include "helpers.h"
 #include <wx/print.h>
 #include <wx/printdlg.h>
+#include <wx/dcps.h>
 
 #include "printfw.h"
 %}
 
 //----------------------------------------------------------------------
 
+%{
+    // Put some wx default wxChar* values into wxStrings.
+    static const wxChar* wxPrintoutTitleStr = wxT("Printout");
+    DECLARE_DEF_STRING(PrintoutTitleStr);
+
+    DECLARE_DEF_STRING(FrameNameStr);
+%}
+
+//----------------------------------------------------------------------
+
 %include typemaps.i
 %include my_typemaps.i
 
@@ -50,6 +61,8 @@ public:
     bool GetCollate();
     int  GetOrientation();
 
+    bool Ok();
+
     const wxString& GetPrinterName();
     bool GetColour();
     wxDuplexMode GetDuplex();
@@ -112,6 +125,22 @@ public:
 
 //---------------------------------------------------------------------------
 
+class wxPostScriptDC : public wxDC {
+public:
+    wxPostScriptDC(const wxPrintData& printData);
+    %name(wxPostScriptDC2)wxPostScriptDC(const wxString& output,
+                                         bool interactive = TRUE,
+                                         wxWindow* parent = NULL);
+
+    wxPrintData& GetPrintData();
+    void SetPrintData(const wxPrintData& data);
+
+    static void SetResolution(int ppi);
+    static int GetResolution();
+};
+
+//---------------------------------------------------------------------------
+
 class wxPageSetupDialogData : public wxObject {
 public:
     wxPageSetupDialogData();
@@ -140,6 +169,9 @@ public:
             return new wxPrintData(self->GetPrintData());  // force a copy
         }
     }
+
+    bool Ok();
+
     void SetDefaultInfo(bool flag);
     void SetDefaultMinMargins(bool flag);
     void SetMarginTopLeft(const wxPoint& pt);
@@ -187,6 +219,9 @@ public:
     }
     bool GetPrintToFile();
     int GetToPage();
+
+    bool Ok();
+
     void SetCollate(bool flag);
     void SetFromPage(int page);
     void SetMaxPage(int page);
@@ -221,7 +256,7 @@ void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *p
     bool hadErr = FALSE;
     bool found;
 
-    wxPyTState* state = wxPyBeginBlockThreads();
+    wxPyBeginBlockThreads();
     if ((found = m_myInst.findCallback("GetPageInfo"))) {
         PyObject* result = m_myInst.callCallbackObj(Py_BuildValue("()"));
         if (result && PyTuple_Check(result) && PyTuple_Size(result) == 4) {
@@ -252,7 +287,7 @@ void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *p
         }
         Py_DECREF(result);
     }
-    wxPyEndBlockThreads(state);
+    wxPyEndBlockThreads();
     if (! found)
         wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
 }
@@ -277,10 +312,10 @@ IMP_PYCALLBACK_BOOL_INT(wxPyPrintout, wxPrintout, HasPage);
 // Now define the custom class for SWIGging
 %name(wxPrintout) class wxPyPrintout  : public wxObject {
 public:
-    wxPyPrintout(const char* title = "Printout");
+    wxPyPrintout(const wxString& title = wxPyPrintoutTitleStr);
 
-    void _setSelf(PyObject* self, PyObject* _class);
-    %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPrintout)"
+    void _setCallbackInfo(PyObject* self, PyObject* _class);
+    %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPrintout)"
 
     %addmethods {
         void Destroy() { delete self; }
@@ -314,7 +349,7 @@ public:
     wxPrintDialogData& GetPrintDialogData();
     bool Print(wxWindow *parent, wxPyPrintout *printout, int prompt=TRUE);
     wxDC* PrintDialog(wxWindow *parent);
-    void ReportError(wxWindow *parent, wxPyPrintout *printout, char* message);
+    void ReportError(wxWindow *parent, wxPyPrintout *printout, const wxString& message);
     bool Setup(wxWindow *parent);
 };
 
@@ -351,9 +386,9 @@ public:
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize&  size = wxDefaultSize,
                    long style = wxDEFAULT_FRAME_STYLE,
-                   char* name = "frame");
+                   const wxString& name = wxPyFrameNameStr);
 
-    %pragma(python) addtomethod = "__init__:#wx._StdFrameCallbacks(self)"
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
 
     void Initialize();