]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_controls_wrap.cpp
Use the wx.ART_NORMAL_FILE icon
[wxWidgets.git] / wxPython / src / msw / _controls_wrap.cpp
index 5c803a74ae084c294f16372d6289db46f558a5b9..bb45e8da751f5fe4758fcb11bb12529cded0e096 100644 (file)
@@ -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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(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; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(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; i<len; i++) {
             PyObject* item = PySequence_GetItem(obj1, i);
-#if wxUSE_UNICODE
-            PyObject* str  = PyObject_Unicode(item);
-#else
-            PyObject* str  = PyObject_Str(item);
-#endif
+            wxString* s = wxString_in_helper(item);
             if (PyErr_Occurred())  SWIG_fail;
-            arg2->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj4, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg5->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj5, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg6->Add(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; i<len; i++) {
                 PyObject* item = PySequence_GetItem(obj6, i);
-#if wxUSE_UNICODE
-                PyObject* str  = PyObject_Unicode(item);
-#else
-                PyObject* str  = PyObject_Str(item);
-#endif
+                wxString* s = wxString_in_helper(item);
                 if (PyErr_Occurred())  SWIG_fail;
-                arg7->Add(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},