]> git.saurik.com Git - wxWidgets.git/commitdiff
Better wrapper for wxListCtrl.GetColumn, and some other cleanup
authorRobin Dunn <robin@alldunn.com>
Thu, 21 Feb 2002 00:54:23 +0000 (00:54 +0000)
committerRobin Dunn <robin@alldunn.com>
Thu, 21 Feb 2002 00:54:23 +0000 (00:54 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/src/controls2.i
wxPython/src/msw/controls2.cpp
wxPython/src/msw/controls2.py
wxPython/src/msw/wx.py
wxPython/src/windows.i

index ebbb299a32c89a295ac7195c54a8b815f042fee0..5f0077a7bfa6166eb12f1ab41af006b05f8792bf 100644 (file)
@@ -421,7 +421,22 @@ public:
     bool SetBackgroundColour(const wxColour& col);
 
     // Gets information about this column
-    bool GetColumn(int col, wxListItem& item) const;
+    // bool GetColumn(int col, wxListItem& item) const;
+    %addmethods {
+        %new wxListItem* GetColumn(int col) {
+            wxListItem item;
+            if (self->GetColumn(col, item))
+                return new wxListItem(item);
+            else
+                return NULL;
+        }
+    }  // The OOR typemaps don't know what to do with the %new, so fix it up.
+    %pragma(python) addtoclass = "
+    def GetItem(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListCtrl_GetColumn,(self,) + _args, _kwargs)
+        if val is not None: val.thisown = 1
+        return val
+    "
 
     // Sets information about this column
     bool SetColumn(int col, wxListItem& item) ;
index 4c7f47568ede274ef06e4525c3c6197e44521eec..13074c0dc7ca39632d6c8bdd17f0ccff52daaeaa 100644 (file)
@@ -3182,19 +3182,23 @@ static PyObject *_wrap_wxListCtrl_SetBackgroundColour(PyObject *self, PyObject *
     return _resultobj;
 }
 
-#define wxListCtrl_GetColumn(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetColumn(_swigarg0,_swigarg1))
+static wxListItem * wxPyListCtrl_GetColumn(wxPyListCtrl *self,int  col) {
+            wxListItem item;
+            if (self->GetColumn(col, item))
+                return new wxListItem(item);
+            else
+                return NULL;
+        }
 static PyObject *_wrap_wxListCtrl_GetColumn(PyObject *self, PyObject *args, PyObject *kwargs) {
     PyObject * _resultobj;
-    bool  _result;
+    wxListItem * _result;
     wxPyListCtrl * _arg0;
     int  _arg1;
-    wxListItem * _arg2;
     PyObject * _argo0 = 0;
-    PyObject * _argo2 = 0;
-    char *_kwnames[] = { "self","col","item", NULL };
+    char *_kwnames[] = { "self","col", NULL };
 
     self = self;
-    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxListCtrl_GetColumn",_kwnames,&_argo0,&_arg1,&_argo2)) 
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxListCtrl_GetColumn",_kwnames,&_argo0,&_arg1)) 
         return NULL;
     if (_argo0) {
         if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -3203,20 +3207,13 @@ static PyObject *_wrap_wxListCtrl_GetColumn(PyObject *self, PyObject *args, PyOb
         return NULL;
         }
     }
-    if (_argo2) {
-        if (_argo2 == Py_None) { _arg2 = NULL; }
-        else if (SWIG_GetPtrObj(_argo2,(void **) &_arg2,"_wxListItem_p")) {
-            PyErr_SetString(PyExc_TypeError,"Type error in argument 3 of wxListCtrl_GetColumn. Expected _wxListItem_p.");
-        return NULL;
-        }
-    }
 {
     PyThreadState* __tstate = wxPyBeginAllowThreads();
-        _result = (bool )wxListCtrl_GetColumn(_arg0,_arg1,*_arg2);
+        _result = (wxListItem *)wxPyListCtrl_GetColumn(_arg0,_arg1);
 
     wxPyEndAllowThreads(__tstate);
     if (PyErr_Occurred()) return NULL;
-}    _resultobj = Py_BuildValue("i",_result);
+}{ _resultobj = wxPyMake_wxObject(_result); }
     return _resultobj;
 }
 
index 66a0e5ea88e95e6c371bd6e8bea2fdcc74b8e698..b550f38f9e3def99a42457a75bf527b258270824 100644 (file)
@@ -621,6 +621,12 @@ class wxListCtrlPtr(wxControlPtr):
     def __repr__(self):
         return "<C wxListCtrl instance at %s>" % (self.this,)
     
+    def GetItem(self, *_args, **_kwargs):
+        val = apply(controls2c.wxListCtrl_GetColumn,(self,) + _args, _kwargs)
+        if val is not None: val.thisown = 1
+        return val
+    
+    
     def GetItem(self, *_args, **_kwargs):
         val = apply(controls2c.wxListCtrl_GetItem,(self,) + _args, _kwargs)
         val.thisown = 1
index d72f84b8a06066cd009e814b6b8a6b738974908c..76d13b852a527fd8c0149159f392463ddb27aab8 100644 (file)
@@ -1676,7 +1676,7 @@ class __wxPyCleanup:
 
 sys.__wxPythonCleanup = __wxPyCleanup()
 
-## # another possible solution, but it gets called too eary...
+## # another possible solution, but it gets called too early...
 ## if sys.version[0] == '2':
 ##     import atexit
 ##     atexit.register(wxc.wxApp_CleanUp)
index a72fb75ab5178e4a2ea25831dea10f525687209f..a29f44807064514f28860c96981c858d251edaf4 100644 (file)
@@ -375,8 +375,8 @@ public:
     wxSizer* GetSizer();
 
         // Track if this window is a member of a sizer
-    void SetContainingSizer(wxSizer* sizer) { m_containingSizer = sizer; }
-    wxSizer *GetContainingSizer() const { return m_containingSizer; }
+    void SetContainingSizer(wxSizer* sizer);
+    wxSizer *GetContainingSizer() const;
 
     wxValidator* GetValidator();
     void SetValidator(const wxValidator& validator);