X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dd9f7fea29e3f8bb61861f52984b7943512346ac..019fd9d3793f9a56f80fa72589a6b7eb53885ff8:/wxPython/src/_printfw.i diff --git a/wxPython/src/_printfw.i b/wxPython/src/_printfw.i index 615cd9e629..e81578d220 100644 --- a/wxPython/src/_printfw.i +++ b/wxPython/src/_printfw.i @@ -19,13 +19,11 @@ %{ #include "wx/wxPython/printfw.h" - static const wxChar* wxPrintoutTitleStr = wxT("Printout"); - DECLARE_DEF_STRING(PrintoutTitleStr); - static const wxChar* wxPreviewCanvasNameStr = wxT("previewcanvas"); - DECLARE_DEF_STRING(PreviewCanvasNameStr); - %} +MAKE_CONST_WXSTRING2(PrintoutTitleStr, wxT("Printout")); +MAKE_CONST_WXSTRING2(PreviewCanvasNameStr, wxT("previewcanvas")); + //--------------------------------------------------------------------------- @@ -34,7 +32,8 @@ 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 }; @@ -56,7 +55,7 @@ public: wxPaperSize GetPaperId(); const wxSize& GetPaperSize(); - wxPrintQuality GetQuality(); + int GetQuality(); void SetNoCopies(int v); void SetCollate(bool flag); @@ -67,7 +66,7 @@ public: void SetDuplex(wxDuplexMode duplex); void SetPaperId(wxPaperSize sizeId); void SetPaperSize(const wxSize& sz); - void SetQuality(wxPrintQuality quality); + void SetQuality(int quality); // PostScript-specific data const wxString& GetPrinterCommand(); @@ -94,6 +93,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() } }; @@ -149,7 +151,7 @@ public: class wxPageSetupDialog : public wxDialog { public: - %addtofunc wxPageSetupDialog "self._setOORInfo(self)" + %pythonAppend wxPageSetupDialog "self._setOORInfo(self)" wxPageSetupDialog(wxWindow* parent, wxPageSetupDialogData* data = NULL); @@ -162,7 +164,9 @@ public: class wxPrintDialogData : public wxObject { public: + %nokwargs wxPrintDialogData; wxPrintDialogData(); + wxPrintDialogData(const wxPrintData& printData); ~wxPrintDialogData(); int GetFromPage() const; @@ -215,7 +219,7 @@ public: class wxPrintDialog : public wxDialog { public: - %addtofunc wxPrintDialog "self._setOORInfo(self)" + %pythonAppend wxPrintDialog "self._setOORInfo(self)" wxPrintDialog(wxWindow* parent, wxPrintDialogData* data = NULL); @@ -266,7 +270,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) { @@ -297,7 +301,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); } @@ -322,7 +326,7 @@ IMP_PYCALLBACK_BOOL_INT(wxPyPrintout, wxPrintout, HasPage); // Now define the custom class for SWIGging %name(Printout) class wxPyPrintout : public wxObject { public: - %addtofunc wxPyPrintout "self._setCallbackInfo(self, Printout)" + %pythonAppend wxPyPrintout "self._setCallbackInfo(self, Printout)" wxPyPrintout(const wxString& title = wxPyPrintoutTitleStr); //~wxPyPrintout(); wxPrintPreview object takes ownership... @@ -334,17 +338,25 @@ public: wxDC* GetDC(); void SetDC(wxDC *dc); - void GetPageSizePixels(int *OUTPUT, int *OUTPUT); void SetPageSizePixels(int w, int h); + DocDeclA( + void, GetPageSizePixels(int *OUTPUT, int *OUTPUT), + "GetPageSizePixels() -> (w, h)"); void SetPageSizeMM(int w, int h); - void GetPageSizeMM(int *OUTPUT, int *OUTPUT); + DocDeclA( + void, GetPageSizeMM(int *OUTPUT, int *OUTPUT), + "GetPageSizeMM() -> (w, h)"); void SetPPIScreen(int x, int y); - void GetPPIScreen(int *OUTPUT, int *OUTPUT); + DocDeclA( + void, GetPPIScreen(int *OUTPUT, int *OUTPUT), + "GetPPIScreen() -> (x,y)"); void SetPPIPrinter(int x, int y); - void GetPPIPrinter(int *OUTPUT, int *OUTPUT); + DocDeclA( + void, GetPPIPrinter(int *OUTPUT, int *OUTPUT), + "GetPPIPrinter() -> (x,y)"); bool IsPreview(); void SetIsPreview(bool p); @@ -355,8 +367,10 @@ public: void base_OnBeginPrinting(); void base_OnEndPrinting(); void base_OnPreparePrinting(); - void base_GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT); bool base_HasPage(int page); + DocDeclA( + void, base_GetPageInfo(int *OUTPUT, int *OUTPUT, int *OUTPUT, int *OUTPUT), + "base_GetPageInfo() -> (minPage, maxPage, pageFrom, pageTo)"); }; //--------------------------------------------------------------------------- @@ -366,7 +380,7 @@ public: class wxPreviewCanvas: public wxScrolledWindow { public: - %addtofunc wxPreviewCanvas "self._self._setOORInfo(self)" + %pythonAppend wxPreviewCanvas "self._setOORInfo(self)" wxPreviewCanvas(wxPrintPreview *preview, wxWindow *parent, @@ -379,7 +393,7 @@ public: class wxPreviewFrame : public wxFrame { public: - %addtofunc wxPreviewFrame "self._self._setOORInfo(self)" + %pythonAppend wxPreviewFrame "self._setOORInfo(self)" wxPreviewFrame(wxPrintPreview* preview, wxFrame* parent, const wxString& title, const wxPoint& pos = wxDefaultPosition, @@ -419,7 +433,7 @@ enum { class wxPreviewControlBar: public wxPanel { public: - %addtofunc wxPreviewControlBar "self._self._setOORInfo(self)" + %pythonAppend wxPreviewControlBar "self._setOORInfo(self)" wxPreviewControlBar(wxPrintPreview *preview, long buttons, @@ -446,9 +460,13 @@ public: 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(); @@ -509,7 +527,7 @@ 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); \ @@ -517,7 +535,7 @@ public: Py_DECREF(win); \ Py_DECREF(dc); \ } \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(blocked); \ if (! found) \ rval = PCLASS::CBNAME(a, b); \ return rval; \ @@ -533,6 +551,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) @@ -572,11 +595,14 @@ IMP_PYCALLBACK_VOID_ (wxPyPrintPreview, wxPrintPreview, DetermineScaling) class wxPyPrintPreview : public wxPrintPreview { public: - %addtofunc wxPyPrintPreview "self._setCallbackInfo(self, PyPrintPreview)" - + %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); @@ -627,7 +653,7 @@ IMP_PYCALLBACK_VOID_(wxPyPreviewFrame, wxPreviewFrame, CreateControlBar); class wxPyPreviewFrame : public wxPreviewFrame { public: - %addtofunc wxPyPreviewFrame "self._setCallbackInfo(self, PyPreviewFrame); self._setOORInfo(self)" + %pythonAppend wxPyPreviewFrame "self._setCallbackInfo(self, PyPreviewFrame); self._setOORInfo(self)" wxPyPreviewFrame(wxPrintPreview* preview, wxFrame* parent, const wxString& title, @@ -681,7 +707,7 @@ IMP_PYCALLBACK_VOID_INT(wxPyPreviewControlBar, wxPreviewControlBar, SetZoomContr class wxPyPreviewControlBar : public wxPreviewControlBar { public: - %addtofunc wxPyPreviewControlBar "self._setCallbackInfo(self, PyPreviewControlBar); self._setOORInfo(self)" + %pythonAppend wxPyPreviewControlBar "self._setCallbackInfo(self, PyPreviewControlBar); self._setOORInfo(self)" wxPyPreviewControlBar(wxPrintPreview *preview, long buttons,