X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/19a97bd6f98edc899ee0c3b2f2c4fe4ee8a0082b..bffe56c5d19df9926686722fc09ad096afb47633:/wxPython/src/printfw.i diff --git a/wxPython/src/printfw.i b/wxPython/src/printfw.i index 4ab596d72e..05293bade1 100644 --- a/wxPython/src/printfw.i +++ b/wxPython/src/printfw.i @@ -16,12 +16,23 @@ #include "helpers.h" #include #include +#include #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();