X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b9048c56f0aa04b2adbb7813f9698abdda15184..b0f7404b924646d088c8d7be13781176ea84bb68:/wxPython/src/_printfw.i diff --git a/wxPython/src/_printfw.i b/wxPython/src/_printfw.i index 48708018bc..861fa83a8b 100644 --- a/wxPython/src/_printfw.i +++ b/wxPython/src/_printfw.i @@ -32,14 +32,18 @@ enum wxPrintMode wxPRINT_MODE_NONE = 0, wxPRINT_MODE_PREVIEW = 1, // Preview in external application wxPRINT_MODE_FILE = 2, // Print to file - wxPRINT_MODE_PRINTER = 3 // Send to printer + wxPRINT_MODE_PRINTER = 3, // Send to printer + wxPRINT_MODE_STREAM = 4 // Send postscript data into a stream }; class wxPrintData : public wxObject { public: + %nokwargs wxPrintData; wxPrintData(); + wxPrintData(const wxPrintData& data); // for making copies + ~wxPrintData(); int GetNoCopies(); @@ -92,6 +96,9 @@ public: void SetPrinterTranslation(long x, long y); void SetPrintMode(wxPrintMode printMode); + wxOutputStream* GetOutputStream(); + void SetOutputStream(wxOutputStream* outputstream); + %pythoncode { def __nonzero__(self): return self.Ok() } }; @@ -99,7 +106,9 @@ public: class wxPageSetupDialogData : public wxObject { public: + %nokwargs wxPageSetupDialogData; wxPageSetupDialogData(); + wxPageSetupDialogData(const wxPageSetupDialogData& data); // for making copies ~wxPageSetupDialogData(); void EnableHelp(bool flag); @@ -145,6 +154,8 @@ public: +MustHaveApp(wxPageSetupDialog); + class wxPageSetupDialog : public wxDialog { public: %pythonAppend wxPageSetupDialog "self._setOORInfo(self)" @@ -160,7 +171,9 @@ public: class wxPrintDialogData : public wxObject { public: + %nokwargs wxPrintDialogData; wxPrintDialogData(); + wxPrintDialogData(const wxPrintData& printData); // for making copies ~wxPrintDialogData(); int GetFromPage() const; @@ -211,6 +224,8 @@ public: }; +MustHaveApp(wxPrintDialog); + class wxPrintDialog : public wxDialog { public: %pythonAppend wxPrintDialog "self._setOORInfo(self)" @@ -237,6 +252,8 @@ enum wxPrinterError }; +MustHaveApp(wxPrinter); + class wxPrinter : public wxObject { public: wxPrinter(wxPrintDialogData* data = NULL); @@ -264,7 +281,7 @@ void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *p bool hadErr = False; bool found; - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); if ((found = wxPyCBH_findCallback(m_myInst, "GetPageInfo"))) { PyObject* result = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()")); if (result && PyTuple_Check(result) && PyTuple_Size(result) == 4) { @@ -295,7 +312,7 @@ void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *p } Py_DECREF(result); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); if (! found) wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo); } @@ -317,6 +334,8 @@ IMP_PYCALLBACK_BOOL_INT(wxPyPrintout, wxPrintout, HasPage); %} +MustHaveApp(wxPyPrintout); + // Now define the custom class for SWIGging %name(Printout) class wxPyPrintout : public wxObject { public: @@ -371,6 +390,8 @@ public: +MustHaveApp(wxPreviewCanvas); + class wxPreviewCanvas: public wxScrolledWindow { public: @@ -385,6 +406,8 @@ public: }; +MustHaveApp(wxPreviewFrame); + class wxPreviewFrame : public wxFrame { public: %pythonAppend wxPreviewFrame "self._setOORInfo(self)" @@ -424,6 +447,8 @@ enum { wxID_PREVIEW_GOTO }; +MustHaveApp(wxPreviewControlBar); + class wxPreviewControlBar: public wxPanel { public: @@ -452,11 +477,17 @@ public: //--------------------------------------------------------------------------- +MustHaveApp(wxPrintPreview); + class wxPrintPreview : public wxObject { public: + %nokwargs wxPrintPreview; wxPrintPreview(wxPyPrintout* printout, wxPyPrintout* printoutForPrinting, - wxPrintData* data=NULL); + wxPrintDialogData *data=NULL); + wxPrintPreview(wxPyPrintout* printout, + wxPyPrintout* printoutForPrinting, + wxPrintData* data); virtual bool SetCurrentPage(int pageNum); int GetCurrentPage(); @@ -517,15 +548,15 @@ public: bool CLASS::CBNAME(wxPreviewCanvas* a, wxDC& b) { \ bool rval=False; \ bool found; \ - wxPyBeginBlockThreads(); \ + bool blocked = wxPyBeginBlockThreads(); \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ - PyObject* win = wxPyMake_wxObject(a); \ - PyObject* dc = wxPyMake_wxObject(&b); \ + PyObject* win = wxPyMake_wxObject(a,false); \ + PyObject* dc = wxPyMake_wxObject(&b,false); \ rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", win, dc));\ Py_DECREF(win); \ Py_DECREF(dc); \ } \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(blocked); \ if (! found) \ rval = PCLASS::CBNAME(a, b); \ return rval; \ @@ -541,6 +572,11 @@ class wxPyPrintPreview : public wxPrintPreview { DECLARE_CLASS(wxPyPrintPreview) public: + wxPyPrintPreview(wxPyPrintout* printout, + wxPyPrintout* printoutForPrinting, + wxPrintDialogData* data=NULL) + : wxPrintPreview(printout, printoutForPrinting, data) + {} wxPyPrintPreview(wxPyPrintout* printout, wxPyPrintout* printoutForPrinting, wxPrintData* data=NULL) @@ -577,14 +613,19 @@ IMP_PYCALLBACK_VOID_ (wxPyPrintPreview, wxPrintPreview, DetermineScaling) %} +MustHaveApp(wxPyPrintPreview); + class wxPyPrintPreview : public wxPrintPreview { public: %pythonAppend wxPyPrintPreview "self._setCallbackInfo(self, PyPrintPreview)" - + %nokwargs wxPyPrintPreview; + wxPyPrintPreview(wxPyPrintout* printout, + wxPyPrintout* printoutForPrinting, + wxPrintDialogData* data=NULL); wxPyPrintPreview(wxPyPrintout* printout, wxPyPrintout* printoutForPrinting, - wxPrintData* data=NULL); + wxPrintData* data); void _setCallbackInfo(PyObject* self, PyObject* _class); @@ -632,6 +673,8 @@ IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, CreateControlBar); %} +MustHaveApp(wxPyPreviewFrame); + class wxPyPreviewFrame : public wxPreviewFrame { public: @@ -686,6 +729,8 @@ IMP_PYCALLBACK_VOID_INT(wxPyPreviewControlBar, wxPreviewControlBar, SetZoomContr %} +MustHaveApp(wxPyPreviewControlBar); + class wxPyPreviewControlBar : public wxPreviewControlBar { public: