]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/grid.i
make wxArtProvider pure virtual (I was not so on
[wxWidgets.git] / wxPython / src / grid.i
index 64a11cda5018549c8c8447ce1af18cb308d360b0..b0249ef93123b06918b09fe189116f208e82403f 100644 (file)
 
 %pragma(python) code = "import wx"
 
+//----------------------------------------------------------------------
+
+%{
+    // Put some wx default wxChar* values into wxStrings.
+    DECLARE_DEF_STRING(PanelNameStr);
+%}
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 // Macros, similar to what's in helpers.h, to aid in the creation of
@@ -524,8 +531,23 @@ public:
                               wxPyConstructObject((void*)&dc,   "wxDC", 0),
                               row, col));
             if (ro) {
-                if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxSize_p"))
+                const char* errmsg = "GetBestSize should return a 2-tuple of integers or a wxSize object.";
+                if (!SWIG_GetPtrObj(ro, (void **)&ptr, "_wxSize_p")) {
                     rval = *ptr;
+                }
+                else if (PySequence_Check(ro) && PyObject_Length(ro) == 2) {
+                    PyObject* o1 = PySequence_GetItem(ro, 0);
+                    PyObject* o2 = PySequence_GetItem(ro, 1);
+                    if (PyNumber_Check(o1) && PyNumber_Check(o2))
+                        rval = wxSize(PyInt_AsLong(o1), PyInt_AsLong(o2));
+                    else
+                        PyErr_SetString(PyExc_TypeError, errmsg);
+                    Py_DECREF(o1);
+                    Py_DECREF(o2);
+                }
+                else {
+                    PyErr_SetString(PyExc_TypeError, errmsg);
+                }
                 Py_DECREF(ro);
             }
         }
@@ -1315,7 +1337,7 @@ public:
             const wxPoint& pos = wxDefaultPosition,
             const wxSize& size = wxDefaultSize,
             long style = wxWANTS_CHARS,
-            const char* name = wxPanelNameStr );
+            const wxString& name = wxPyPanelNameStr);
 
     %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"