X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/70b7a5fe0cb26e15c52bcdeb730f43eb3838360f..db679b8c836e69c111cdc31e62cf92cebe4f938f:/wxPython/src/msw/_controls_wrap.cpp?ds=sidebyside diff --git a/wxPython/src/msw/_controls_wrap.cpp b/wxPython/src/msw/_controls_wrap.cpp index 5c803a74ae..bb45e8da75 100644 --- a/wxPython/src/msw/_controls_wrap.cpp +++ b/wxPython/src/msw/_controls_wrap.cpp @@ -1037,7 +1037,8 @@ SWIG_Python_TypeError(const char *type, PyObject *obj) PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", type, otype); } - Py_DECREF(str); + if (str) + Py_DECREF(str); return; } } @@ -2164,6 +2165,16 @@ public: void SetBestSize(const wxSize& size) { wxControl::SetBestSize(size); } + bool DoEraseBackground(wxDC* dc) { +#ifdef __WXMSW__ + return wxWindow::DoEraseBackground(dc->GetHDC()); +#else + dc->SetBackground(wxBrush(GetBackgroundColour())); + dc->Clear(); + return true; +#endif + } + DEC_PYCALLBACK_VOID_INT4(DoMoveWindow); DEC_PYCALLBACK_VOID_INT5(DoSetSize); DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize); @@ -3822,15 +3833,11 @@ static PyObject *_wrap_new_Choice(PyObject *, PyObject *args, PyObject *kwargs) int i, len=PySequence_Length(obj4); for (i=0; iAdd(Py2wxString(str)); + arg5->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -3977,15 +3984,11 @@ static PyObject *_wrap_Choice_Create(PyObject *, PyObject *args, PyObject *kwarg int i, len=PySequence_Length(obj5); for (i=0; iAdd(Py2wxString(str)); + arg6->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -4179,15 +4182,11 @@ static PyObject *_wrap_new_ComboBox(PyObject *, PyObject *args, PyObject *kwargs int i, len=PySequence_Length(obj5); for (i=0; iAdd(Py2wxString(str)); + arg6->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -4353,15 +4352,11 @@ static PyObject *_wrap_ComboBox_Create(PyObject *, PyObject *args, PyObject *kwa int i, len=PySequence_Length(obj6); for (i=0; iAdd(Py2wxString(str)); + arg7->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -7182,15 +7177,11 @@ static PyObject *_wrap_new_ListBox(PyObject *, PyObject *args, PyObject *kwargs) int i, len=PySequence_Length(obj4); for (i=0; iAdd(Py2wxString(str)); + arg5->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -7337,15 +7328,11 @@ static PyObject *_wrap_ListBox_Create(PyObject *, PyObject *args, PyObject *kwar int i, len=PySequence_Length(obj5); for (i=0; iAdd(Py2wxString(str)); + arg6->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -7480,15 +7467,11 @@ static PyObject *_wrap_ListBox_InsertItems(PyObject *, PyObject *args, PyObject int i, len=PySequence_Length(obj1); for (i=0; iAdd(Py2wxString(str)); + arg2->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } { @@ -7539,15 +7522,11 @@ static PyObject *_wrap_ListBox_Set(PyObject *, PyObject *args, PyObject *kwargs) int i, len=PySequence_Length(obj1); for (i=0; iAdd(Py2wxString(str)); + arg2->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } { @@ -8211,15 +8190,11 @@ static PyObject *_wrap_new_CheckListBox(PyObject *, PyObject *args, PyObject *kw int i, len=PySequence_Length(obj4); for (i=0; iAdd(Py2wxString(str)); + arg5->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -8366,15 +8341,11 @@ static PyObject *_wrap_CheckListBox_Create(PyObject *, PyObject *args, PyObject int i, len=PySequence_Length(obj5); for (i=0; iAdd(Py2wxString(str)); + arg6->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -13634,15 +13605,11 @@ static PyObject *_wrap_new_RadioBox(PyObject *, PyObject *args, PyObject *kwargs int i, len=PySequence_Length(obj5); for (i=0; iAdd(Py2wxString(str)); + arg6->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -13816,15 +13783,11 @@ static PyObject *_wrap_RadioBox_Create(PyObject *, PyObject *args, PyObject *kwa int i, len=PySequence_Length(obj6); for (i=0; iAdd(Py2wxString(str)); + arg7->Add(*s); + delete s; Py_DECREF(item); - Py_DECREF(str); } } } @@ -32514,6 +32477,38 @@ static PyObject *_wrap_PyControl_SetBestSize(PyObject *, PyObject *args, PyObjec } +static PyObject *_wrap_PyControl_DoEraseBackground(PyObject *, PyObject *args, PyObject *kwargs) { + PyObject *resultobj; + wxPyControl *arg1 = (wxPyControl *) 0 ; + wxDC *arg2 = (wxDC *) 0 ; + bool result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + char *kwnames[] = { + (char *) "self",(char *) "dc", NULL + }; + + if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"OO:PyControl_DoEraseBackground",kwnames,&obj0,&obj1)) goto fail; + SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_wxPyControl, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(1)) SWIG_fail; + SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_wxDC, SWIG_POINTER_EXCEPTION | 0); + if (SWIG_arg_fail(2)) SWIG_fail; + { + PyThreadState* __tstate = wxPyBeginAllowThreads(); + result = (bool)(arg1)->DoEraseBackground(arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) SWIG_fail; + } + { + resultobj = result ? Py_True : Py_False; Py_INCREF(resultobj); + } + return resultobj; + fail: + return NULL; +} + + static PyObject *_wrap_PyControl_base_DoMoveWindow(PyObject *, PyObject *args, PyObject *kwargs) { PyObject *resultobj; wxPyControl *arg1 = (wxPyControl *) 0 ; @@ -35894,6 +35889,7 @@ static PyMethodDef SwigMethods[] = { { (char *)"new_PrePyControl", (PyCFunction) _wrap_new_PrePyControl, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"PyControl__setCallbackInfo", (PyCFunction) _wrap_PyControl__setCallbackInfo, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"PyControl_SetBestSize", (PyCFunction) _wrap_PyControl_SetBestSize, METH_VARARGS | METH_KEYWORDS, NULL}, + { (char *)"PyControl_DoEraseBackground", (PyCFunction) _wrap_PyControl_DoEraseBackground, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"PyControl_base_DoMoveWindow", (PyCFunction) _wrap_PyControl_base_DoMoveWindow, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"PyControl_base_DoSetSize", (PyCFunction) _wrap_PyControl_base_DoSetSize, METH_VARARGS | METH_KEYWORDS, NULL}, { (char *)"PyControl_base_DoSetClientSize", (PyCFunction) _wrap_PyControl_base_DoSetClientSize, METH_VARARGS | METH_KEYWORDS, NULL},