X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f90df854ed9630ab60ac7729287807e4d1d8286..8b85d24e4cc885263d3bb72bd36a759fbd25631d:/utils/wxPython/src/msw/printfw.cpp diff --git a/utils/wxPython/src/msw/printfw.cpp b/utils/wxPython/src/msw/printfw.cpp index bfed146225..0faffa91d1 100644 --- a/utils/wxPython/src/msw/printfw.cpp +++ b/utils/wxPython/src/msw/printfw.cpp @@ -57,6 +57,8 @@ extern PyObject *SWIG_newvarlink(void); #include #include +#include "printfw.h" + static PyObject* l_output_helper(PyObject* target, PyObject* o) { PyObject* o2; PyObject* o3; @@ -106,66 +108,53 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { static char* wxStringErrorMsg = "string type is required for parameter"; -class wxPyPrintout : public wxPrintout { -public: - wxPyPrintout(const wxString& title) : wxPrintout(title) {} - - DEC_PYCALLBACK_BOOL_INTINT(OnBeginDocument); - DEC_PYCALLBACK__(OnEndDocument); - DEC_PYCALLBACK__(OnBeginPrinting); - DEC_PYCALLBACK__(OnEndPrinting); - DEC_PYCALLBACK__(OnPreparePrinting); - DEC_PYCALLBACK_BOOL_INT_pure(OnPrintPage); - DEC_PYCALLBACK_BOOL_INT(HasPage); - - - // Since this one would be tough and ugly to do with the Macros... - void GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) { - bool hadErr = false; - - bool doSave = wxPyRestoreThread(); - if (m_myInst.findCallback("GetPageInfo")) { - PyObject* result = m_myInst.callCallbackObj(Py_BuildValue("()")); - if (result && PyTuple_Check(result) && PyTuple_Size(result) == 4) { - PyObject* val; - - val = PyTuple_GetItem(result, 0); - if (PyInt_Check(val)) *minPage = PyInt_AsLong(val); - else hadErr = true; - - val = PyTuple_GetItem(result, 1); - if (PyInt_Check(val)) *maxPage = PyInt_AsLong(val); - else hadErr = true; - - val = PyTuple_GetItem(result, 2); - if (PyInt_Check(val)) *pageFrom = PyInt_AsLong(val); - else hadErr = true; - - val = PyTuple_GetItem(result, 3); - if (PyInt_Check(val)) *pageTo = PyInt_AsLong(val); - else hadErr = true; - } - else - hadErr = true; - - if (hadErr) { - PyErr_SetString(PyExc_TypeError, "GetPageInfo should return a tuple of 4 integers."); - PyErr_Print(); - } - Py_DECREF(result); + + +// Since this one would be tough and ugly to do with the Macros... +void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) { + bool hadErr = false; + + bool doSave = wxPyRestoreThread(); + if (m_myInst.findCallback("GetPageInfo")) { + PyObject* result = m_myInst.callCallbackObj(Py_BuildValue("()")); + if (result && PyTuple_Check(result) && PyTuple_Size(result) == 4) { + PyObject* val; + + val = PyTuple_GetItem(result, 0); + if (PyInt_Check(val)) *minPage = PyInt_AsLong(val); + else hadErr = true; + + val = PyTuple_GetItem(result, 1); + if (PyInt_Check(val)) *maxPage = PyInt_AsLong(val); + else hadErr = true; + + val = PyTuple_GetItem(result, 2); + if (PyInt_Check(val)) *pageFrom = PyInt_AsLong(val); + else hadErr = true; + + val = PyTuple_GetItem(result, 3); + if (PyInt_Check(val)) *pageTo = PyInt_AsLong(val); + else hadErr = true; } else - wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo); + hadErr = true; - wxPySaveThread(doSave); + if (hadErr) { + PyErr_SetString(PyExc_TypeError, "GetPageInfo should return a tuple of 4 integers."); + PyErr_Print(); + } + Py_DECREF(result); } - - void base_GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) { + else wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo); - } - PYPRIVATE; -}; + wxPySaveThread(doSave); +} + +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); IMP_PYCALLBACK__(wxPyPrintout, wxPrintout, OnEndDocument); @@ -4413,7 +4402,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_size_t","_wxWindowID",0}, { "_size_t","_uint",0}, { "_class_wxRealPoint","_wxRealPoint",0}, + { "_wxNavigationKeyEvent","_class_wxNavigationKeyEvent",0}, { "_wxPrinterDC","_class_wxPrinterDC",0}, + { "_wxWindowCreateEvent","_class_wxWindowCreateEvent",0}, { "_class_wxMenuItem","_wxMenuItem",0}, { "_class_wxPaintEvent","_wxPaintEvent",0}, { "_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0}, @@ -4486,6 +4477,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_EBool","_wxWindowID",0}, { "_class_wxRegion","_wxRegion",0}, { "_class_wxDropFilesEvent","_wxDropFilesEvent",0}, + { "_wxWindowDestroyEvent","_class_wxWindowDestroyEvent",0}, { "_class_wxPreviewFrame","_wxPreviewFrame",0}, { "_wxStaticText","_class_wxStaticText",0}, { "_wxFont","_class_wxFont",0}, @@ -4496,6 +4488,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxDC","_wxDC",0}, { "_wxScrollWinEvent","_class_wxScrollWinEvent",0}, { "_class_wxProgressDialog","_wxProgressDialog",0}, + { "_wxQueryNewPaletteEvent","_class_wxQueryNewPaletteEvent",0}, + { "_class_wxWindowCreateEvent","_wxWindowCreateEvent",0}, { "_class_wxDirDialog","_wxDirDialog",0}, { "_class_wxPyTimer","_wxPyTimer",0}, { "_wxFocusEvent","_class_wxFocusEvent",0}, @@ -4541,7 +4535,9 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxFont","_wxFont",0}, { "_class_wxPyValidator","_wxPyValidator",0}, { "_class_wxCloseEvent","_wxCloseEvent",0}, + { "_wxBusyInfo","_class_wxBusyInfo",0}, { "_class_wxMenuEvent","_wxMenuEvent",0}, + { "_wxPaletteChangedEvent","_class_wxPaletteChangedEvent",0}, { "_wxClientDC","_class_wxClientDC",0}, { "_wxMouseEvent","_class_wxMouseEvent",0}, { "_wxSingleChoiceDialog","_class_wxSingleChoiceDialog",0}, @@ -4592,6 +4588,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxFrame","_class_wxPreviewFrame",SwigwxPreviewFrameTowxFrame}, { "_wxFrame","_wxPreviewFrame",SwigwxPreviewFrameTowxFrame}, { "_wxFrame","_class_wxFrame",0}, + { "_class_wxPaletteChangedEvent","_wxPaletteChangedEvent",0}, { "_wxWindowID","_wxPrintQuality",0}, { "_wxWindowID","_size_t",0}, { "_wxWindowID","_EBool",0}, @@ -4611,6 +4608,8 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxPyCommandEvent","_class_wxPyCommandEvent",0}, { "_class_wxPrintPreview","_wxPrintPreview",0}, { "_class_wxSpinEvent","_wxSpinEvent",0}, + { "_class_wxQueryNewPaletteEvent","_wxQueryNewPaletteEvent",0}, + { "_class_wxNavigationKeyEvent","_wxNavigationKeyEvent",0}, { "_wxButton","_class_wxButton",0}, { "_wxSize","_class_wxSize",0}, { "_wxRegionIterator","_class_wxRegionIterator",0}, @@ -4641,6 +4640,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxActivateEvent","_class_wxActivateEvent",0}, { "_wxGauge","_class_wxGauge",0}, { "_class_wxCheckListBox","_wxCheckListBox",0}, + { "_class_wxBusyInfo","_wxBusyInfo",0}, { "_class_wxCommandEvent","_wxCommandEvent",0}, { "_class_wxClientDC","_wxClientDC",0}, { "_class_wxSizeEvent","_wxSizeEvent",0}, @@ -4678,6 +4678,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxWindow","_class_wxPageSetupDialog",SwigwxPageSetupDialogTowxWindow}, { "_wxWindow","_wxPageSetupDialog",SwigwxPageSetupDialogTowxWindow}, { "_wxWindow","_class_wxWindow",0}, + { "_class_wxWindowDestroyEvent","_wxWindowDestroyEvent",0}, { "_class_wxFrame","_class_wxPreviewFrame",SwigwxPreviewFrameTowxFrame}, { "_class_wxFrame","_wxPreviewFrame",SwigwxPreviewFrameTowxFrame}, { "_class_wxFrame","_wxFrame",0},