]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_printfw.i
Add some missing wxPyBeginBlockThreads calls
[wxWidgets.git] / wxPython / src / _printfw.i
index b4911ce8fda530269ac266a6c3d8725091233c6a..cebbc4c996bc4467f4057ced09f8c52197d9ad53 100644 (file)
@@ -341,6 +341,7 @@ public:
 
     bool GetAbort();
     static wxPrinterError GetLastError();
+
 };
 
 
@@ -393,9 +394,6 @@ void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *p
         wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
 }
 
-void wxPyPrintout::base_GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) {
-    wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
-}
 
 
 IMP_PYCALLBACK_BOOL_INTINT(wxPyPrintout, wxPrintout, OnBeginDocument);
@@ -417,10 +415,14 @@ MustHaveApp(wxPyPrintout);
 class wxPyPrintout  : public wxObject {
 public:
     %pythonAppend wxPyPrintout   "self._setCallbackInfo(self, Printout)"
+    %typemap(out) wxPyPrintout*;    // turn off this typemap
 
     wxPyPrintout(const wxString& title = wxPyPrintoutTitleStr);
-    //~wxPyPrintout();      wxPrintPreview object takes ownership...
+    ~wxPyPrintout();      
     
+    // Turn it back on again
+    %typemap(out) wxPyPrintout* { $result = wxPyMake_wxObject($1, $owner); }
+
     void _setCallbackInfo(PyObject* self, PyObject* _class);
 
     
@@ -452,15 +454,22 @@ public:
     void SetIsPreview(bool p);
 
     
-    bool base_OnBeginDocument(int startPage, int endPage);
-    void base_OnEndDocument();
-    void base_OnBeginPrinting();
-    void base_OnEndPrinting();
-    void base_OnPreparePrinting();
-    bool base_HasPage(int page);
+    bool OnBeginDocument(int startPage, int endPage);
+    void OnEndDocument();
+    void OnBeginPrinting();
+    void OnEndPrinting();
+    void OnPreparePrinting();
+    bool HasPage(int page);
     DocDeclA(
-        void, base_GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
-        "base_GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)");
+        void, GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT),
+        "GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)");
+    
+    %MAKE_BASE_FUNC(Printout, OnBeginDocument);
+    %MAKE_BASE_FUNC(Printout, OnEndDocument);
+    %MAKE_BASE_FUNC(Printout, OnBeginPrinting);
+    %MAKE_BASE_FUNC(Printout, OnEndPrinting);
+    %MAKE_BASE_FUNC(Printout, OnPreparePrinting);
+    %MAKE_BASE_FUNC(Printout, GetPageInfo);
 };
 
 //---------------------------------------------------------------------------
@@ -487,14 +496,17 @@ MustHaveApp(wxPreviewFrame);
 
 class wxPreviewFrame : public wxFrame {
 public:
+    %disownarg(wxPrintPreview*);
+    
     %pythonAppend wxPreviewFrame   "self._setOORInfo(self)"
-
     wxPreviewFrame(wxPrintPreview* preview, wxFrame* parent, const wxString& title,
                    const wxPoint& pos = wxDefaultPosition,
                    const wxSize&  size = wxDefaultSize,
                    long style = wxDEFAULT_FRAME_STYLE,
                    const wxString& name = wxPyFrameNameStr);
 
+    %cleardisown(wxPrintPreview*);
+
     void Initialize();
     void CreateControlBar();
     void CreateCanvas();
@@ -558,6 +570,8 @@ MustHaveApp(wxPrintPreview);
 
 class wxPrintPreview : public wxObject {
 public:
+    %disownarg(wxPyPrintout*);
+    
     %nokwargs wxPrintPreview;
     wxPrintPreview(wxPyPrintout* printout,
                    wxPyPrintout* printoutForPrinting,
@@ -566,6 +580,8 @@ public:
                   wxPyPrintout* printoutForPrinting,
                   wxPrintData* data);
 
+    ~wxPrintPreview();
+    
     virtual bool SetCurrentPage(int pageNum);
     int GetCurrentPage();
 
@@ -573,6 +589,8 @@ public:
     wxPyPrintout *GetPrintout();
     wxPyPrintout *GetPrintoutForPrinting();
 
+    %cleardisown(wxPyPrintout*);
+    
     void SetFrame(wxFrame *frame);
     void SetCanvas(wxPreviewCanvas *canvas);
 
@@ -617,15 +635,14 @@ public:
 %{
 
 #define DEC_PYCALLBACK_BOOL_PREWINDC(CBNAME)                                            \
-    bool CBNAME(wxPreviewCanvas* a, wxDC& b);                                           \
-    bool base_##CBNAME(wxPreviewCanvas* a, wxDC& b)
+    bool CBNAME(wxPreviewCanvas* a, wxDC& b)
 
 
 #define IMP_PYCALLBACK_BOOL_PREWINDC(CLASS, PCLASS, CBNAME)                             \
     bool CLASS::CBNAME(wxPreviewCanvas* a, wxDC& b) {                                   \
         bool rval=false;                                                                \
         bool found;                                                                     \
-        wxPyBlock_t blocked = wxPyBeginBlockThreads();                                         \
+        wxPyBlock_t blocked = wxPyBeginBlockThreads();                                  \
         if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) {                        \
             PyObject* win = wxPyMake_wxObject(a,false);                                 \
             PyObject* dc  = wxPyMake_wxObject(&b,false);                                \
@@ -637,10 +654,7 @@ public:
         if (! found)                                                                    \
             rval = PCLASS::CBNAME(a, b);                                                \
         return rval;                                                                    \
-    }                                                                                   \
-    bool CLASS::base_##CBNAME(wxPreviewCanvas* a, wxDC& b) {                            \
-        return PCLASS::CBNAME(a, b);                                                    \
-    }
+    }                                       
 
 
 
@@ -656,7 +670,7 @@ public:
     {}
     wxPyPrintPreview(wxPyPrintout* printout,
                      wxPyPrintout* printoutForPrinting,
-                     wxPrintData* data=NULL)
+                     wxPrintData* data)
         : wxPrintPreview(printout, printoutForPrinting, data)
     {}
 
@@ -695,6 +709,8 @@ MustHaveApp(wxPyPrintPreview);
 class wxPyPrintPreview : public wxPrintPreview
 {
 public:
+    %disownarg(wxPyPrintout*);
+
     %pythonAppend wxPyPrintPreview   "self._setCallbackInfo(self, PyPrintPreview)"
     %nokwargs wxPyPrintPreview;
     wxPyPrintPreview(wxPyPrintout* printout,
@@ -704,15 +720,25 @@ public:
                      wxPyPrintout* printoutForPrinting,
                      wxPrintData* data);
 
+    %cleardisown(wxPyPrintout*);
+    
     void _setCallbackInfo(PyObject* self, PyObject* _class);
     
-    bool base_SetCurrentPage(int pageNum);
-    bool base_PaintPage(wxPreviewCanvas *canvas, wxDC& dc);
-    bool base_DrawBlankPage(wxPreviewCanvas *canvas, wxDC& dc);
-    bool base_RenderPage(int pageNum);
-    void base_SetZoom(int percent);
-    bool base_Print(bool interactive);
-    void base_DetermineScaling();
+    bool SetCurrentPage(int pageNum);
+    bool PaintPage(wxPreviewCanvas *canvas, wxDC& dc);
+    bool DrawBlankPage(wxPreviewCanvas *canvas, wxDC& dc);
+    bool RenderPage(int pageNum);
+    void SetZoom(int percent);
+    bool Print(bool interactive);
+    void DetermineScaling();
+
+    %MAKE_BASE_FUNC(PyPrintPreview, SetCurrentPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, PaintPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, DrawBlankPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, RenderPage);
+    %MAKE_BASE_FUNC(PyPrintPreview, SetZoom);
+    %MAKE_BASE_FUNC(PyPrintPreview, Print);
+    %MAKE_BASE_FUNC(PyPrintPreview, DetermineScaling);
 };
 
 
@@ -721,7 +747,7 @@ public:
 %{
 class wxPyPreviewFrame : public wxPreviewFrame
 {
-    DECLARE_CLASS(wxPyPreviewFrame);
+    DECLARE_CLASS(wxPyPreviewFrame)
 public:
     wxPyPreviewFrame(wxPrintPreview* preview, wxFrame* parent,
                      const wxString& title,
@@ -769,9 +795,13 @@ public:
     void SetPreviewCanvas(wxPreviewCanvas* canvas);
     void SetControlBar(wxPreviewControlBar* bar);
 
-    void base_Initialize();
-    void base_CreateCanvas();
-    void base_CreateControlBar();
+    void Initialize();
+    void CreateCanvas();
+    void CreateControlBar();
+
+    %MAKE_BASE_FUNC(PyPreviewFrame, Initialize);
+    %MAKE_BASE_FUNC(PyPreviewFrame, CreateCanvas);
+    %MAKE_BASE_FUNC(PyPreviewFrame, CreateControlBar);
 };
 
 
@@ -780,7 +810,7 @@ public:
 %{
 class wxPyPreviewControlBar : public wxPreviewControlBar
 {
-    DECLARE_CLASS(wxPyPreviewControlBar);
+    DECLARE_CLASS(wxPyPreviewControlBar)
 public:
     wxPyPreviewControlBar(wxPrintPreview *preview,
                           long buttons,
@@ -825,8 +855,11 @@ public:
 
     void SetPrintPreview(wxPrintPreview* preview);
 
-    void base_CreateButtons();
-    void base_SetZoomControl(int zoom);
+    void CreateButtons();
+    void SetZoomControl(int zoom);
+
+    %MAKE_BASE_FUNC(PreviewControlBar, CreateButtons);
+    %MAKE_BASE_FUNC(PreviewControlBar, SetZoomControl);
 };
 
 //---------------------------------------------------------------------------