X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e02c03a42ea85be1e908962c8a344fb2553e7c3e..dbaf885e8725529ba66653aabe5f7f20bc1f28db:/utils/wxPython/src/gtk/controls2.cpp diff --git a/utils/wxPython/src/gtk/controls2.cpp b/utils/wxPython/src/gtk/controls2.cpp index f9e90a8e44..0dde7c06f4 100644 --- a/utils/wxPython/src/gtk/controls2.cpp +++ b/utils/wxPython/src/gtk/controls2.cpp @@ -111,6 +111,24 @@ static char* wxStringErrorMsg = "string type is required for parameter"; extern wxValidator wxPyDefaultValidator; + int wxCALLBACK wxPyTreeCtrl_SortItems(long item1, long item2, long funcPtr) { + int retval = 0; + PyObject* func = (PyObject*)funcPtr; + bool doSave = wxPyRestoreThread(); + + PyObject* args = Py_BuildValue("(ii)", item1, item2); + PyObject* result = PyEval_CallObject(func, args); + Py_DECREF(args); + if (result) { + retval = PyInt_AsLong(result); + Py_DECREF(result); + } + + wxPySaveThread(doSave); + return retval; + } + + class wxPyTreeItemData : public wxTreeItemData { public: wxPyTreeItemData(PyObject* obj = NULL) { @@ -2850,6 +2868,43 @@ static PyObject *_wrap_wxListCtrl_SetWindowStyleFlag(PyObject *self, PyObject *a return _resultobj; } +static bool wxListCtrl_SortItems(wxListCtrl *self,PyObject * func) { + if (!PyCallable_Check(func)) + return FALSE; + + return self->SortItems(wxPyTreeCtrl_SortItems, (long)func); + } +static PyObject *_wrap_wxListCtrl_SortItems(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxListCtrl * _arg0; + PyObject * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","func", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxListCtrl_SortItems",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxListCtrl_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxListCtrl_SortItems. Expected _wxListCtrl_p."); + return NULL; + } + } +{ + _arg1 = _obj1; +} +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxListCtrl_SortItems(_arg0,_arg1); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + #define new_wxTreeItemId() (new wxTreeItemId()) static PyObject *_wrap_new_wxTreeItemId(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -4333,6 +4388,7 @@ static PyObject *_wrap_wxTreeCtrl_GetItemParent(PyObject *self, PyObject *args, } static PyObject * wxTreeCtrl_GetSelections(wxTreeCtrl *self) { + bool doSave = wxPyRestoreThread(); PyObject* rval = PyList_New(0); wxArrayTreeItemIds array; size_t num, x; @@ -4342,6 +4398,7 @@ static PyObject * wxTreeCtrl_GetSelections(wxTreeCtrl *self) { "wxTreeItemId"); PyList_Append(rval, item); } + wxPySaveThread(doSave); return rval; } static PyObject *_wrap_wxTreeCtrl_GetSelections(PyObject *self, PyObject *args, PyObject *kwargs) { @@ -5528,19 +5585,24 @@ static PyObject *_wrap_wxTreeCtrl_IsBold(PyObject *self, PyObject *args, PyObjec return _resultobj; } -#define wxTreeCtrl_HitTest(_swigobj,_swigarg0) (_swigobj->HitTest(_swigarg0)) +#define wxTreeCtrl_HitTest(_swigobj,_swigarg0,_swigarg1) (_swigobj->HitTest(_swigarg0,_swigarg1)) static PyObject *_wrap_wxTreeCtrl_HitTest(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxTreeItemId * _result; wxTreeCtrl * _arg0; wxPoint * _arg1; + int * _arg2; + int temp; PyObject * _argo0 = 0; - wxPoint temp; + wxPoint temp0; PyObject * _obj1 = 0; char *_kwnames[] = { "self","point", NULL }; char _ptemp[128]; self = self; +{ + _arg2 = &temp; +} if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxTreeCtrl_HitTest",_kwnames,&_argo0,&_obj1)) return NULL; if (_argo0) { @@ -5551,17 +5613,22 @@ static PyObject *_wrap_wxTreeCtrl_HitTest(PyObject *self, PyObject *args, PyObje } } { - _arg1 = &temp; + _arg1 = &temp0; if (! wxPoint_helper(_obj1, &_arg1)) return NULL; } { wxPy_BEGIN_ALLOW_THREADS; - _result = new wxTreeItemId (wxTreeCtrl_HitTest(_arg0,*_arg1)); + _result = new wxTreeItemId (wxTreeCtrl_HitTest(_arg0,*_arg1,*_arg2)); wxPy_END_ALLOW_THREADS; } SWIG_MakePtr(_ptemp, (void *) _result,"_wxTreeItemId_p"); _resultobj = Py_BuildValue("s",_ptemp); +{ + PyObject *o; + o = PyInt_FromLong((long) (*_arg2)); + _resultobj = t_output_helper(_resultobj, o); +} return _resultobj; } @@ -5776,6 +5843,7 @@ static PyMethodDef controls2cMethods[] = { { "wxTreeItemId_IsOk", (PyCFunction) _wrap_wxTreeItemId_IsOk, METH_VARARGS | METH_KEYWORDS }, { "delete_wxTreeItemId", (PyCFunction) _wrap_delete_wxTreeItemId, METH_VARARGS | METH_KEYWORDS }, { "new_wxTreeItemId", (PyCFunction) _wrap_new_wxTreeItemId, METH_VARARGS | METH_KEYWORDS }, + { "wxListCtrl_SortItems", (PyCFunction) _wrap_wxListCtrl_SortItems, METH_VARARGS | METH_KEYWORDS }, { "wxListCtrl_SetWindowStyleFlag", (PyCFunction) _wrap_wxListCtrl_SetWindowStyleFlag, METH_VARARGS | METH_KEYWORDS }, { "wxListCtrl_SetSingleStyle", (PyCFunction) _wrap_wxListCtrl_SetSingleStyle, METH_VARARGS | METH_KEYWORDS }, { "wxListCtrl_SetItemText", (PyCFunction) _wrap_wxListCtrl_SetItemText, METH_VARARGS | METH_KEYWORDS }, @@ -5985,7 +6053,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_class_wxButton","_wxButton",0}, { "_wxRadioBox","_class_wxRadioBox",0}, { "_wxBitmap","_class_wxBitmap",0}, - { "_char","_wxDash",0}, { "_wxPyTimer","_class_wxPyTimer",0}, { "_wxWindowDC","_class_wxWindowDC",0}, { "_wxScrollBar","_class_wxScrollBar",0}, @@ -6205,7 +6272,6 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = { { "_wxEvtHandler","_class_wxEvtHandler",0}, { "_wxMenuItem","_class_wxMenuItem",0}, { "_class_wxScrollBar","_wxScrollBar",0}, - { "_wxDash","_char",0}, { "_class_wxScrolledWindow","_wxScrolledWindow",0}, { "_wxKeyEvent","_class_wxKeyEvent",0}, { "_wxMoveEvent","_class_wxMoveEvent",0}, @@ -6278,6 +6344,20 @@ SWIGEXPORT(void) initcontrols2c() { PyDict_SetItemString(d,"wxTreeItemIcon_Expanded", PyInt_FromLong((long) wxTreeItemIcon_Expanded)); PyDict_SetItemString(d,"wxTreeItemIcon_SelectedExpanded", PyInt_FromLong((long) wxTreeItemIcon_SelectedExpanded)); PyDict_SetItemString(d,"wxTreeItemIcon_Max", PyInt_FromLong((long) wxTreeItemIcon_Max)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ABOVE", PyInt_FromLong((long) wxTREE_HITTEST_ABOVE)); + PyDict_SetItemString(d,"wxTREE_HITTEST_BELOW", PyInt_FromLong((long) wxTREE_HITTEST_BELOW)); + PyDict_SetItemString(d,"wxTREE_HITTEST_NOWHERE", PyInt_FromLong((long) wxTREE_HITTEST_NOWHERE)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMBUTTON", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMBUTTON)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMICON", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMICON)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMINDENT", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMINDENT)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMLABEL", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMLABEL)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMRIGHT", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMRIGHT)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMSTATEICON", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMSTATEICON)); + PyDict_SetItemString(d,"wxTREE_HITTEST_TOLEFT", PyInt_FromLong((long) wxTREE_HITTEST_TOLEFT)); + PyDict_SetItemString(d,"wxTREE_HITTEST_TORIGHT", PyInt_FromLong((long) wxTREE_HITTEST_TORIGHT)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMUPPERPART", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMUPPERPART)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEMLOWERPART", PyInt_FromLong((long) wxTREE_HITTEST_ONITEMLOWERPART)); + PyDict_SetItemString(d,"wxTREE_HITTEST_ONITEM", PyInt_FromLong((long) wxTREE_HITTEST_ONITEM)); { int i; for (i = 0; _swig_mapping[i].n1; i++)