X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/33ff77f695fa78cae844cc930e73c076639b8fe3..7108497a54ee5de03bcea8de85e2750116c223e6:/wxPython/src/msw/grid.cpp diff --git a/wxPython/src/msw/grid.cpp b/wxPython/src/msw/grid.cpp index 1b307e707e..e239f48d53 100644 --- a/wxPython/src/msw/grid.cpp +++ b/wxPython/src/msw/grid.cpp @@ -55,7 +55,7 @@ extern PyObject *SWIG_newvarlink(void); #define SWIG_name "gridc" -#include "export.h" +#include "wxPython.h" #include #include @@ -91,6 +91,39 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { DECLARE_DEF_STRING2(DateTimeFormatStr, wxT("%c")); static const wxString wxPyEmptyString(wxT("")); + +#define wxPyMake_TEMPLATE(TYPE) \ +PyObject* wxPyMake_##TYPE(TYPE* source) { \ + PyObject* target = NULL; \ + if (source) { \ + /* Check if there is already a pointer to a Python object in the \ + OOR data that we can use. */ \ + wxPyOORClientData* data = (wxPyOORClientData*)source->GetClientObject(); \ + if (data) { \ + target = data->m_obj; \ + Py_INCREF(target); \ + } \ + /* Otherwise make a new wrapper for it the old fashioned way and \ + give it the OOR treatment */ \ + if (! target) { \ + target = wxPyConstructObject(source, #TYPE, FALSE); \ + if (target) \ + source->SetClientObject(new wxPyOORClientData(target)); \ + } \ + } else { /* source was NULL so return None. */ \ + Py_INCREF(Py_None); target = Py_None; \ + } \ + return target; \ +} \ + + +wxPyMake_TEMPLATE(wxGridCellRenderer) +wxPyMake_TEMPLATE(wxGridCellEditor) +wxPyMake_TEMPLATE(wxGridCellAttr) +wxPyMake_TEMPLATE(wxGridCellAttrProvider) +wxPyMake_TEMPLATE(wxGridTableBase) + + #define PYCALLBACK_GCA_INTINTKIND(PCLASS, CBNAME) \ wxGridCellAttr* CBNAME(int a, int b, wxGridCellAttr::wxAttrKind c) { \ wxGridCellAttr* rval = NULL; \ @@ -119,14 +152,14 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { #define PYCALLBACK__GCAINTINT(PCLASS, CBNAME) \ void CBNAME(wxGridCellAttr *attr, int a, int b) { \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ bool found; \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ - PyObject* obj = wxPyConstructObject((void*)attr, "wxGridCellAttr", 0);\ - wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oii)", obj, a, b)); \ + PyObject* obj = wxPyMake_wxGridCellAttr(attr); \ + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oii)", obj, a, b)); \ Py_DECREF(obj); \ } \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ PCLASS::CBNAME(attr, a, b); \ } \ @@ -138,10 +171,10 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { #define PYCALLBACK__GCAINT(PCLASS, CBNAME) \ void CBNAME(wxGridCellAttr *attr, int val) { \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ bool found; \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ - PyObject* obj = wxPyConstructObject((void*)attr, "wxGridCellAttr", 0);\ + PyObject* obj = wxPyMake_wxGridCellAttr(attr); \ wxPyCBH_callCallback(m_myInst, Py_BuildValue("(Oi)", obj, val)); \ Py_DECREF(obj); \ } \ @@ -198,8 +231,11 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { #define PYCALLBACK__INTINTSTRING_pure(CBNAME) \ void CBNAME(int a, int b, const wxString& c) { \ wxPyBeginBlockThreads(); \ - if (wxPyCBH_findCallback(m_myInst, #CBNAME)) \ - wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",a,b,wx2PyString(c)));\ + if (wxPyCBH_findCallback(m_myInst, #CBNAME)) { \ + PyObject* s = wx2PyString(c); \ + rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",a,b,s));\ + Py_DECREF(s); \ + } \ wxPyEndBlockThreads(); \ } @@ -232,8 +268,11 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { bool rval = 0; \ bool found; \ wxPyBeginBlockThreads(); \ - if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ - rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)", a,b,wx2PyString(c)));\ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ + PyObject* s = wx2PyString(c); \ + rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",a,b,s));\ + Py_DECREF(s); \ + } \ wxPyEndBlockThreads(); \ if (! found) \ rval = PCLASS::CBNAME(a,b,c); \ @@ -296,7 +335,7 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { Py_DECREF(ro); Py_DECREF(str); \ } \ } \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ rval = PCLASS::CBNAME(a, b); \ return rval; \ @@ -310,10 +349,10 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { #define PYCALLBACK__(PCLASS, CBNAME) \ void CBNAME() { \ bool found; \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ wxPyCBH_callCallback(m_myInst, Py_BuildValue("()")); \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ PCLASS::CBNAME(); \ } \ @@ -328,10 +367,10 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { bool CBNAME(size_t a, size_t b) { \ bool rval = 0; \ bool found; \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(ii)", a,b)); \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ rval = PCLASS::CBNAME(a,b); \ return rval; \ @@ -346,10 +385,10 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { bool CBNAME(size_t a) { \ bool rval = 0; \ bool found; \ - wxPyBeginBlockThreads(); \ + wxPyBeginBlockThreads(); \ if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ rval = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(i)", a)); \ - wxPyEndBlockThreads(); \ + wxPyEndBlockThreads(); \ if (! found) \ rval = PCLASS::CBNAME(a); \ return rval; \ @@ -386,8 +425,11 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { void CBNAME(int a, const wxString& c) { \ bool found; \ wxPyBeginBlockThreads(); \ - if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) \ - wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iO)", a, wx2PyString(c))); \ + if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \ + PyObject* s = wx2PyString(c); \ + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iO)",a,s)); \ + Py_DECREF(s); \ + } \ wxPyEndBlockThreads(); \ if (! found) \ PCLASS::CBNAME(a,c); \ @@ -485,39 +527,6 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { - - -#define wxPyMake_TEMPLATE(TYPE) \ -PyObject* wxPyMake_##TYPE(TYPE* source) { \ - PyObject* target = NULL; \ - if (source) { \ - /* Check if there is already a pointer to a Python object in the \ - OOR data that we can use. */ \ - wxPyOORClientData* data = (wxPyOORClientData*)source->GetClientObject(); \ - if (data) { \ - target = data->m_obj; \ - Py_INCREF(target); \ - } \ - /* Otherwise make a new wrapper for it the old fashioned way and \ - give it the OOR treatment */ \ - if (! target) { \ - target = wxPyConstructObject(source, #TYPE, FALSE); \ - if (target) \ - source->SetClientObject(new wxPyOORClientData(target)); \ - } \ - } else { /* source was NULL so return None. */ \ - Py_INCREF(Py_None); target = Py_None; \ - } \ - return target; \ -} \ - -wxPyMake_TEMPLATE(wxGridCellRenderer) -wxPyMake_TEMPLATE(wxGridCellEditor) -wxPyMake_TEMPLATE(wxGridCellAttr) -wxPyMake_TEMPLATE(wxGridCellAttrProvider) -wxPyMake_TEMPLATE(wxGridTableBase) - - class wxPyGridCellRenderer : public wxGridCellRenderer { public: @@ -529,13 +538,17 @@ public: int row, int col, bool isSelected) { wxPyBeginBlockThreads(); if (wxPyCBH_findCallback(m_myInst, "Draw")) { - wxPyCBH_callCallback(m_myInst, - Py_BuildValue("(OOOOiii)", - wxPyConstructObject((void*)&grid, "wxGrid", 0), - wxPyConstructObject((void*)&attr, "wxGridCellAttr", 0), - wxPyConstructObject((void*)&dc, "wxDC", 0), - wxPyConstructObject((void*)&rect, "wxRect", 0), - row, col, isSelected)); + PyObject* go = wxPyMake_wxObject(&grid); + PyObject* dco = wxPyMake_wxObject(&dc); + PyObject* ao = wxPyMake_wxGridCellAttr(&attr); + PyObject* ro = wxPyConstructObject((void*)&rect, "wxRect", 0); + + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OOOOiii)", go, ao, dco, ro, + row, col, isSelected)); + Py_DECREF(go); + Py_DECREF(ao); + Py_DECREF(dco); + Py_DECREF(ro); } wxPyEndBlockThreads(); } @@ -547,12 +560,17 @@ public: if (wxPyCBH_findCallback(m_myInst, "GetBestSize")) { PyObject* ro; wxSize* ptr; - ro = wxPyCBH_callCallbackObj(m_myInst, - Py_BuildValue("(OOOii)", - wxPyConstructObject((void*)&grid, "wxGrid", 0), - wxPyConstructObject((void*)&attr, "wxGridCellAttr", 0), - wxPyConstructObject((void*)&dc, "wxDC", 0), - row, col)); + PyObject* go = wxPyMake_wxObject(&grid); + PyObject* dco = wxPyMake_wxObject(&dc); + PyObject* ao = wxPyMake_wxGridCellAttr(&attr); + + ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("(OOOii)", + go, ao, dco, + row, col)); + Py_DECREF(go); + Py_DECREF(ao); + Py_DECREF(dco); + if (ro) { const char* errmsg = "GetBestSize should return a 2-tuple of integers or a wxSize object."; if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxSize_p")) { @@ -612,11 +630,12 @@ public: void Create(wxWindow* parent, wxWindowID id, wxEvtHandler* evtHandler) { wxPyBeginBlockThreads(); if (wxPyCBH_findCallback(m_myInst, "Create")) { - wxPyCBH_callCallback(m_myInst, - Py_BuildValue("(OiO)", - wxPyConstructObject((void*)parent, "wxWindow", 0), - id, - wxPyConstructObject((void*)evtHandler, "wxEvtHandler", 0))); + PyObject* po = wxPyMake_wxObject(parent); + PyObject* eo = wxPyMake_wxObject(evtHandler); + + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OiO)", po, id, eo)); + Py_DECREF(po); + Py_DECREF(eo); } wxPyEndBlockThreads(); } @@ -625,9 +644,9 @@ public: void BeginEdit(int row, int col, wxGrid* grid) { wxPyBeginBlockThreads(); if (wxPyCBH_findCallback(m_myInst, "BeginEdit")) { - wxPyCBH_callCallback(m_myInst, - Py_BuildValue("(iiO)", row, col, - wxPyConstructObject((void*)grid, "wxGrid", 0))); + PyObject* go = wxPyMake_wxObject(grid); + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)", row, col, go)); + Py_DECREF(go); } wxPyEndBlockThreads(); } @@ -637,9 +656,9 @@ public: bool rv = FALSE; wxPyBeginBlockThreads(); if (wxPyCBH_findCallback(m_myInst, "EndEdit")) { - rv = wxPyCBH_callCallback(m_myInst, - Py_BuildValue("(iiO)", row, col, - wxPyConstructObject((void*)grid, "wxGrid", 0))); + PyObject* go = wxPyMake_wxObject(grid); + rv = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)", row, col, go)); + Py_DECREF(go); } wxPyEndBlockThreads(); return rv; @@ -667,10 +686,11 @@ public: void Show(bool show, wxGridCellAttr *attr) { bool found; wxPyBeginBlockThreads(); - if ((found = wxPyCBH_findCallback(m_myInst, "Show"))) - wxPyCBH_callCallback(m_myInst, - Py_BuildValue("(iO)", show, - wxPyConstructObject((void*)attr, "wxGridCellAttr", 0))); + if ((found = wxPyCBH_findCallback(m_myInst, "Show"))) { + PyObject* ao = wxPyMake_wxGridCellAttr(attr); + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iO)", show, ao)); + Py_DECREF(ao); + } wxPyEndBlockThreads(); if (! found) wxGridCellEditor::Show(show, attr); @@ -681,13 +701,17 @@ public: void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr) { - bool found; \ + bool found; wxPyBeginBlockThreads(); - if ((found = wxPyCBH_findCallback(m_myInst, "PaintBackground)"))) - wxPyCBH_callCallback(m_myInst, - Py_BuildValue("(OO)", - wxPyConstructObject((void*)&rectCell, "wxRect", 0), - wxPyConstructObject((void*)attr, "wxGridCellAttr", 0))); + if ((found = wxPyCBH_findCallback(m_myInst, "PaintBackground)"))) { + PyObject* ao = wxPyMake_wxGridCellAttr(attr); + PyObject* ro = wxPyConstructObject((void*)&rectCell, "wxRect", 0); + + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(OO)", ro, ao)); + + Py_DECREF(ro); + Py_DECREF(ao); + } wxPyEndBlockThreads(); if (! found) wxGridCellEditor::PaintBackground(rectCell, attr); @@ -780,7 +804,9 @@ public: void SetValue(int row, int col, const wxString& val) { wxPyBeginBlockThreads(); if (wxPyCBH_findCallback(m_myInst, "SetValue")) { - wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",row,col,wx2PyString(val))); + PyObject* s = wx2PyString(val); + wxPyCBH_callCallback(m_myInst, Py_BuildValue("(iiO)",row,col,s)); + Py_DECREF(s); } wxPyEndBlockThreads(); } @@ -3468,6 +3494,67 @@ static PyObject *_wrap_wxGridCellAttr_SetAlignment(PyObject *self, PyObject *arg return _resultobj; } +#define wxGridCellAttr_SetSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxGridCellAttr_SetSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGridCellAttr * _arg0; + int _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","num_rows","num_cols", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGridCellAttr_SetSize",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetSize. Expected _wxGridCellAttr_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGridCellAttr_SetSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxGridCellAttr_SetOverflow(_swigobj,_swigarg0) (_swigobj->SetOverflow(_swigarg0)) +static PyObject *_wrap_wxGridCellAttr_SetOverflow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGridCellAttr * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","allow", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGridCellAttr_SetOverflow",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_SetOverflow. Expected _wxGridCellAttr_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGridCellAttr_SetOverflow(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxGridCellAttr_SetReadOnly(_swigobj,_swigarg0) (_swigobj->SetReadOnly(_swigarg0)) static PyObject *_wrap_wxGridCellAttr_SetReadOnly(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -3936,6 +4023,80 @@ static PyObject *_wrap_wxGridCellAttr_GetAlignment(PyObject *self, PyObject *arg return _resultobj; } +#define wxGridCellAttr_GetSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetSize(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxGridCellAttr_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGridCellAttr * _arg0; + int * _arg1; + int * _arg2; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + PyObject * _argo2 = 0; + char *_kwnames[] = { "self","num_rows","num_cols", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxGridCellAttr_GetSize",_kwnames,&_argo0,&_argo1,&_argo2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetSize. Expected _wxGridCellAttr_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_int_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellAttr_GetSize. Expected _int_p."); + return NULL; + } + } + if (_argo2) { + if (_argo2 == Py_None) { _arg2 = NULL; } + else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_int_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxGridCellAttr_GetSize. Expected _int_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGridCellAttr_GetSize(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxGridCellAttr_GetOverflow(_swigobj) (_swigobj->GetOverflow()) +static PyObject *_wrap_wxGridCellAttr_GetOverflow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxGridCellAttr * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellAttr_GetOverflow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellAttr_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellAttr_GetOverflow. Expected _wxGridCellAttr_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxGridCellAttr_GetOverflow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGridCellAttr_GetRenderer(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->GetRenderer(_swigarg0,_swigarg1,_swigarg2)) static PyObject *_wrap_wxGridCellAttr_GetRenderer(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -7297,6 +7458,34 @@ static PyObject *_wrap_wxGrid_SetSelectionMode(PyObject *self, PyObject *args, P return _resultobj; } +#define wxGrid_GetSelectionMode(_swigobj) (_swigobj->GetSelectionMode()) +static PyObject *_wrap_wxGrid_GetSelectionMode(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + WXGRIDSELECTIONMODES _result; + wxGrid * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetSelectionMode",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetSelectionMode. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (WXGRIDSELECTIONMODES )wxGrid_GetSelectionMode(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define wxGrid_GetNumberRows(_swigobj) (_swigobj->GetNumberRows()) static PyObject *_wrap_wxGrid_GetNumberRows(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -7982,6 +8171,46 @@ static PyObject *_wrap_wxGrid_ForceRefresh(PyObject *self, PyObject *args, PyObj return _resultobj; } +#define wxGrid_Refresh(_swigobj,_swigarg0,_swigarg1) (_swigobj->Refresh(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxGrid_Refresh(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + bool _arg1 = (bool ) TRUE; + wxRect * _arg2 = (wxRect *) NULL; + PyObject * _argo0 = 0; + int tempbool1 = (int) TRUE; + wxRect temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","eraseb","rect", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iO:wxGrid_Refresh",_kwnames,&_argo0,&tempbool1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_Refresh. Expected _wxGrid_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; + if (_obj2) +{ + _arg2 = &temp; + if (! wxRect_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_Refresh(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxGrid_IsEditable(_swigobj) (_swigobj->IsEditable()) static PyObject *_wrap_wxGrid_IsEditable(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -10126,6 +10355,45 @@ static PyObject *_wrap_wxGrid_CanDragGridSize(PyObject *self, PyObject *args, Py return _resultobj; } +#define wxGrid_SetAttr(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->SetAttr(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxGrid_SetAttr(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + int _arg1; + int _arg2; + wxGridCellAttr * _arg3; + PyObject * _argo0 = 0; + PyObject * _argo3 = 0; + char *_kwnames[] = { "self","row","col","attr", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO:wxGrid_SetAttr",_kwnames,&_argo0,&_arg1,&_arg2,&_argo3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetAttr. Expected _wxGrid_p."); + return NULL; + } + } + if (_argo3) { + if (_argo3 == Py_None) { _arg3 = NULL; } + else if (SWIG_GetPtrObj(_argo3,(void **) &_arg3,"_wxGridCellAttr_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 4 of wxGrid_SetAttr. Expected _wxGridCellAttr_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_SetAttr(_arg0,_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxGrid_SetRowAttr(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetRowAttr(_swigarg0,_swigarg1)) static PyObject *_wrap_wxGrid_SetRowAttr(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -10784,6 +11052,114 @@ static PyObject *_wrap_wxGrid_GetCellAlignment(PyObject *self, PyObject *args, P return _resultobj; } +#define wxGrid_GetDefaultCellOverflow(_swigobj) (_swigobj->GetDefaultCellOverflow()) +static PyObject *_wrap_wxGrid_GetDefaultCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxGrid * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGrid_GetDefaultCellOverflow",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetDefaultCellOverflow. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxGrid_GetDefaultCellOverflow(_arg0); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxGrid_GetCellOverflow(_swigobj,_swigarg0,_swigarg1) (_swigobj->GetCellOverflow(_swigarg0,_swigarg1)) +static PyObject *_wrap_wxGrid_GetCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxGrid * _arg0; + int _arg1; + int _arg2; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","row","col", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellOverflow",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellOverflow. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxGrid_GetCellOverflow(_arg0,_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + +#define wxGrid_GetCellSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->GetCellSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxGrid_GetCellSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + int _arg1; + int _arg2; + int * _arg3; + int temp; + int * _arg4; + int temp0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","row","col", NULL }; + + self = self; +{ + _arg3 = &temp; +} +{ + _arg4 = &temp0; +} + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii:wxGrid_GetCellSize",_kwnames,&_argo0,&_arg1,&_arg2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_GetCellSize. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_GetCellSize(_arg0,_arg1,_arg2,_arg3,_arg4); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg3)); + _resultobj = t_output_helper(_resultobj, o); +} +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg4)); + _resultobj = t_output_helper(_resultobj, o); +} + return _resultobj; +} + #define wxGrid_SetDefaultRowSize(_swigobj,_swigarg0,_swigarg1) (_swigobj->SetDefaultRowSize(_swigarg0,_swigarg1)) static PyObject *_wrap_wxGrid_SetDefaultRowSize(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -11408,6 +11784,102 @@ static PyObject *_wrap_wxGrid_SetCellAlignment(PyObject *self, PyObject *args, P return _resultobj; } +#define wxGrid_SetDefaultCellOverflow(_swigobj,_swigarg0) (_swigobj->SetDefaultCellOverflow(_swigarg0)) +static PyObject *_wrap_wxGrid_SetDefaultCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + bool _arg1; + PyObject * _argo0 = 0; + int tempbool1; + char *_kwnames[] = { "self","allow", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxGrid_SetDefaultCellOverflow",_kwnames,&_argo0,&tempbool1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetDefaultCellOverflow. Expected _wxGrid_p."); + return NULL; + } + } + _arg1 = (bool ) tempbool1; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_SetDefaultCellOverflow(_arg0,_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxGrid_SetCellOverflow(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->SetCellOverflow(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxGrid_SetCellOverflow(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + int _arg1; + int _arg2; + bool _arg3; + PyObject * _argo0 = 0; + int tempbool3; + char *_kwnames[] = { "self","row","col","allow", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiii:wxGrid_SetCellOverflow",_kwnames,&_argo0,&_arg1,&_arg2,&tempbool3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellOverflow. Expected _wxGrid_p."); + return NULL; + } + } + _arg3 = (bool ) tempbool3; +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_SetCellOverflow(_arg0,_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +#define wxGrid_SetCellSize(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->SetCellSize(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) +static PyObject *_wrap_wxGrid_SetCellSize(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxGrid * _arg0; + int _arg1; + int _arg2; + int _arg3; + int _arg4; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self","row","col","num_rows","num_cols", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oiiii:wxGrid_SetCellSize",_kwnames,&_argo0,&_arg1,&_arg2,&_arg3,&_arg4)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGrid_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGrid_SetCellSize. Expected _wxGrid_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxGrid_SetCellSize(_arg0,_arg1,_arg2,_arg3,_arg4); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define wxGrid_SetDefaultRenderer(_swigobj,_swigarg0) (_swigobj->SetDefaultRenderer(_swigarg0)) static PyObject *_wrap_wxGrid_SetDefaultRenderer(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -13848,6 +14320,9 @@ static PyMethodDef gridcMethods[] = { { "wxGrid_GetDefaultRenderer", (PyCFunction) _wrap_wxGrid_GetDefaultRenderer, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetCellRenderer", (PyCFunction) _wrap_wxGrid_SetCellRenderer, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetDefaultRenderer", (PyCFunction) _wrap_wxGrid_SetDefaultRenderer, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_SetCellSize", (PyCFunction) _wrap_wxGrid_SetCellSize, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_SetCellOverflow", (PyCFunction) _wrap_wxGrid_SetCellOverflow, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_SetDefaultCellOverflow", (PyCFunction) _wrap_wxGrid_SetDefaultCellOverflow, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetCellAlignment", (PyCFunction) _wrap_wxGrid_SetCellAlignment, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetDefaultCellAlignment", (PyCFunction) _wrap_wxGrid_SetDefaultCellAlignment, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetCellFont", (PyCFunction) _wrap_wxGrid_SetCellFont, METH_VARARGS | METH_KEYWORDS }, @@ -13867,6 +14342,9 @@ static PyMethodDef gridcMethods[] = { { "wxGrid_SetDefaultColSize", (PyCFunction) _wrap_wxGrid_SetDefaultColSize, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetRowSize", (PyCFunction) _wrap_wxGrid_SetRowSize, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetDefaultRowSize", (PyCFunction) _wrap_wxGrid_SetDefaultRowSize, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_GetCellSize", (PyCFunction) _wrap_wxGrid_GetCellSize, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_GetCellOverflow", (PyCFunction) _wrap_wxGrid_GetCellOverflow, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_GetDefaultCellOverflow", (PyCFunction) _wrap_wxGrid_GetDefaultCellOverflow, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_GetCellAlignment", (PyCFunction) _wrap_wxGrid_GetCellAlignment, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_GetDefaultCellAlignment", (PyCFunction) _wrap_wxGrid_GetDefaultCellAlignment, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_GetCellFont", (PyCFunction) _wrap_wxGrid_GetCellFont, METH_VARARGS | METH_KEYWORDS }, @@ -13887,6 +14365,7 @@ static PyMethodDef gridcMethods[] = { { "wxGrid_SetColFormatBool", (PyCFunction) _wrap_wxGrid_SetColFormatBool, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetColAttr", (PyCFunction) _wrap_wxGrid_SetColAttr, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetRowAttr", (PyCFunction) _wrap_wxGrid_SetRowAttr, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_SetAttr", (PyCFunction) _wrap_wxGrid_SetAttr, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_CanDragGridSize", (PyCFunction) _wrap_wxGrid_CanDragGridSize, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_DisableDragGridSize", (PyCFunction) _wrap_wxGrid_DisableDragGridSize, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_EnableDragGridSize", (PyCFunction) _wrap_wxGrid_EnableDragGridSize, METH_VARARGS | METH_KEYWORDS }, @@ -13956,6 +14435,7 @@ static PyMethodDef gridcMethods[] = { { "wxGrid_EnableCellEditControl", (PyCFunction) _wrap_wxGrid_EnableCellEditControl, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_EnableEditing", (PyCFunction) _wrap_wxGrid_EnableEditing, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_IsEditable", (PyCFunction) _wrap_wxGrid_IsEditable, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_Refresh", (PyCFunction) _wrap_wxGrid_Refresh, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_ForceRefresh", (PyCFunction) _wrap_wxGrid_ForceRefresh, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_GetBatchCount", (PyCFunction) _wrap_wxGrid_GetBatchCount, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_EndBatch", (PyCFunction) _wrap_wxGrid_EndBatch, METH_VARARGS | METH_KEYWORDS }, @@ -13975,6 +14455,7 @@ static PyMethodDef gridcMethods[] = { { "wxGrid_ProcessTableMessage", (PyCFunction) _wrap_wxGrid_ProcessTableMessage, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_GetNumberCols", (PyCFunction) _wrap_wxGrid_GetNumberCols, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_GetNumberRows", (PyCFunction) _wrap_wxGrid_GetNumberRows, METH_VARARGS | METH_KEYWORDS }, + { "wxGrid_GetSelectionMode", (PyCFunction) _wrap_wxGrid_GetSelectionMode, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_SetSelectionMode", (PyCFunction) _wrap_wxGrid_SetSelectionMode, METH_VARARGS | METH_KEYWORDS }, { "wxGrid_CreateGrid", (PyCFunction) _wrap_wxGrid_CreateGrid, METH_VARARGS | METH_KEYWORDS }, { "new_wxGrid", (PyCFunction) _wrap_new_wxGrid, METH_VARARGS | METH_KEYWORDS }, @@ -14073,6 +14554,8 @@ static PyMethodDef gridcMethods[] = { { "wxGridCellAttr_IsReadOnly", (PyCFunction) _wrap_wxGridCellAttr_IsReadOnly, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_GetEditor", (PyCFunction) _wrap_wxGridCellAttr_GetEditor, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_GetRenderer", (PyCFunction) _wrap_wxGridCellAttr_GetRenderer, METH_VARARGS | METH_KEYWORDS }, + { "wxGridCellAttr_GetOverflow", (PyCFunction) _wrap_wxGridCellAttr_GetOverflow, METH_VARARGS | METH_KEYWORDS }, + { "wxGridCellAttr_GetSize", (PyCFunction) _wrap_wxGridCellAttr_GetSize, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_GetAlignment", (PyCFunction) _wrap_wxGridCellAttr_GetAlignment, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_GetFont", (PyCFunction) _wrap_wxGridCellAttr_GetFont, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_GetBackgroundColour", (PyCFunction) _wrap_wxGridCellAttr_GetBackgroundColour, METH_VARARGS | METH_KEYWORDS }, @@ -14088,6 +14571,8 @@ static PyMethodDef gridcMethods[] = { { "wxGridCellAttr_SetEditor", (PyCFunction) _wrap_wxGridCellAttr_SetEditor, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_SetRenderer", (PyCFunction) _wrap_wxGridCellAttr_SetRenderer, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_SetReadOnly", (PyCFunction) _wrap_wxGridCellAttr_SetReadOnly, METH_VARARGS | METH_KEYWORDS }, + { "wxGridCellAttr_SetOverflow", (PyCFunction) _wrap_wxGridCellAttr_SetOverflow, METH_VARARGS | METH_KEYWORDS }, + { "wxGridCellAttr_SetSize", (PyCFunction) _wrap_wxGridCellAttr_SetSize, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_SetAlignment", (PyCFunction) _wrap_wxGridCellAttr_SetAlignment, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_SetFont", (PyCFunction) _wrap_wxGridCellAttr_SetFont, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellAttr_SetBackgroundColour", (PyCFunction) _wrap_wxGridCellAttr_SetBackgroundColour, METH_VARARGS | METH_KEYWORDS },