]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/grid.py
added missing button state
[wxWidgets.git] / wxPython / src / msw / grid.py
index d25347e1632241a3a6bcda0fa425b0f869c7b517..4c0838bf04eef682e6dea39df4f483daa9305f15 100644 (file)
@@ -1,7 +1,59 @@
-# This file was created automatically by SWIG.
+# This file was created automatically by SWIG 1.3.29.
 # Don't modify this file, modify the SWIG interface instead.
 
 # Don't modify this file, modify the SWIG interface instead.
 
+"""
+Classes for implementing a spreadsheet-like control.
+"""
+
 import _grid
 import _grid
+import new
+new_instancemethod = new.instancemethod
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+    if (name == "thisown"): return self.this.own(value)
+    if (name == "this"):
+        if type(value).__name__ == 'PySwigObject':
+            self.__dict__[name] = value
+            return
+    method = class_type.__swig_setmethods__.get(name,None)
+    if method: return method(self,value)
+    if (not static) or hasattr(self,name):
+        self.__dict__[name] = value
+    else:
+        raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+    return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+    if (name == "thisown"): return self.this.own()
+    method = class_type.__swig_getmethods__.get(name,None)
+    if method: return method(self)
+    raise AttributeError,name
+
+def _swig_repr(self):
+    try: strthis = "proxy of " + self.this.__repr__()
+    except: strthis = ""
+    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+
+import types
+try:
+    _object = types.ObjectType
+    _newclass = 1
+except AttributeError:
+    class _object : pass
+    _newclass = 0
+del types
+
+
+def _swig_setattr_nondynamic_method(set):
+    def set_attr(self,name,value):
+        if (name == "thisown"): return self.this.own(value)
+        if hasattr(self,name) or (name == "this"):
+            set(self,name,value)
+        else:
+            raise AttributeError("You cannot add attributes to %s" % self)
+    return set_attr
+
 
 import _windows
 import _core
 
 import _windows
 import _core
@@ -16,26 +68,49 @@ GRID_VALUE_TEXT = _grid.GRID_VALUE_TEXT
 GRID_VALUE_LONG = _grid.GRID_VALUE_LONG
 GRID_VALUE_CHOICEINT = _grid.GRID_VALUE_CHOICEINT
 GRID_VALUE_DATETIME = _grid.GRID_VALUE_DATETIME
 GRID_VALUE_LONG = _grid.GRID_VALUE_LONG
 GRID_VALUE_CHOICEINT = _grid.GRID_VALUE_CHOICEINT
 GRID_VALUE_DATETIME = _grid.GRID_VALUE_DATETIME
-class GridCellRenderer(object):
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+GRID_DEFAULT_NUMBER_ROWS = _grid.GRID_DEFAULT_NUMBER_ROWS
+GRID_DEFAULT_NUMBER_COLS = _grid.GRID_DEFAULT_NUMBER_COLS
+GRID_DEFAULT_ROW_HEIGHT = _grid.GRID_DEFAULT_ROW_HEIGHT
+GRID_DEFAULT_COL_WIDTH = _grid.GRID_DEFAULT_COL_WIDTH
+GRID_DEFAULT_COL_LABEL_HEIGHT = _grid.GRID_DEFAULT_COL_LABEL_HEIGHT
+GRID_DEFAULT_ROW_LABEL_WIDTH = _grid.GRID_DEFAULT_ROW_LABEL_WIDTH
+GRID_LABEL_EDGE_ZONE = _grid.GRID_LABEL_EDGE_ZONE
+GRID_MIN_ROW_HEIGHT = _grid.GRID_MIN_ROW_HEIGHT
+GRID_MIN_COL_WIDTH = _grid.GRID_MIN_COL_WIDTH
+GRID_DEFAULT_SCROLLBAR_WIDTH = _grid.GRID_DEFAULT_SCROLLBAR_WIDTH
+class GridCellWorker(object):
+    """Proxy of C++ GridCellWorker class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     def _setOORInfo(*args, **kwargs):
         """_setOORInfo(self, PyObject _self)"""
     def _setOORInfo(*args, **kwargs):
         """_setOORInfo(self, PyObject _self)"""
-        return _grid.GridCellRenderer__setOORInfo(*args, **kwargs)
+        return _grid.GridCellWorker__setOORInfo(*args, **kwargs)
 
 
+    __swig_destroy__ = _grid.delete_GridCellWorker
+    __del__ = lambda self : None;
     def SetParameters(*args, **kwargs):
         """SetParameters(self, String params)"""
     def SetParameters(*args, **kwargs):
         """SetParameters(self, String params)"""
-        return _grid.GridCellRenderer_SetParameters(*args, **kwargs)
+        return _grid.GridCellWorker_SetParameters(*args, **kwargs)
 
     def IncRef(*args, **kwargs):
         """IncRef(self)"""
 
     def IncRef(*args, **kwargs):
         """IncRef(self)"""
-        return _grid.GridCellRenderer_IncRef(*args, **kwargs)
+        return _grid.GridCellWorker_IncRef(*args, **kwargs)
 
     def DecRef(*args, **kwargs):
         """DecRef(self)"""
 
     def DecRef(*args, **kwargs):
         """DecRef(self)"""
-        return _grid.GridCellRenderer_DecRef(*args, **kwargs)
+        return _grid.GridCellWorker_DecRef(*args, **kwargs)
 
 
+_grid.GridCellWorker_swigregister(GridCellWorker)
+cvar = _grid.cvar
+GridNoCellCoords = cvar.GridNoCellCoords
+GridNoCellRect = cvar.GridNoCellRect
+
+class GridCellRenderer(GridCellWorker):
+    """Proxy of C++ GridCellRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     def Draw(*args, **kwargs):
         """
         Draw(self, Grid grid, GridCellAttr attr, DC dc, Rect rect, int row, 
     def Draw(*args, **kwargs):
         """
         Draw(self, Grid grid, GridCellAttr attr, DC dc, Rect rect, int row, 
@@ -51,92 +126,61 @@ class GridCellRenderer(object):
         """Clone(self) -> GridCellRenderer"""
         return _grid.GridCellRenderer_Clone(*args, **kwargs)
 
         """Clone(self) -> GridCellRenderer"""
         return _grid.GridCellRenderer_Clone(*args, **kwargs)
 
-
-class GridCellRendererPtr(GridCellRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellRenderer
-_grid.GridCellRenderer_swigregister(GridCellRendererPtr)
-cvar = _grid.cvar
-DateTimeFormatStr = cvar.DateTimeFormatStr
-GridNoCellCoords = cvar.GridNoCellCoords
-GridNoCellRect = cvar.GridNoCellRect
+_grid.GridCellRenderer_swigregister(GridCellRenderer)
 
 class PyGridCellRenderer(GridCellRenderer):
 
 class PyGridCellRenderer(GridCellRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyGridCellRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ PyGridCellRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> PyGridCellRenderer"""
         """__init__(self) -> PyGridCellRenderer"""
-        newobj = _grid.new_PyGridCellRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setCallbackInfo(self, PyGridCellRenderer);self._setOORInfo(self)
+        _grid.PyGridCellRenderer_swiginit(self,_grid.new_PyGridCellRenderer(*args, **kwargs))
+        self._setOORInfo(self);PyGridCellRenderer._setCallbackInfo(self, self, PyGridCellRenderer)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _grid.PyGridCellRenderer__setCallbackInfo(*args, **kwargs)
 
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _grid.PyGridCellRenderer__setCallbackInfo(*args, **kwargs)
 
-    def base_SetParameters(*args, **kwargs):
-        """base_SetParameters(self, String params)"""
-        return _grid.PyGridCellRenderer_base_SetParameters(*args, **kwargs)
+    def SetParameters(*args, **kwargs):
+        """SetParameters(self, String params)"""
+        return _grid.PyGridCellRenderer_SetParameters(*args, **kwargs)
 
 
+    def base_SetParameters(*args, **kw):
+        return PyGridCellRenderer.SetParameters(*args, **kw)
+    base_SetParameters = wx._deprecated(base_SetParameters,
+                                   "Please use PyGridCellRenderer.SetParameters instead.")
 
 
-class PyGridCellRendererPtr(PyGridCellRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PyGridCellRenderer
-_grid.PyGridCellRenderer_swigregister(PyGridCellRendererPtr)
+_grid.PyGridCellRenderer_swigregister(PyGridCellRenderer)
 
 class GridCellStringRenderer(GridCellRenderer):
 
 class GridCellStringRenderer(GridCellRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellStringRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellStringRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellStringRenderer"""
         """__init__(self) -> GridCellStringRenderer"""
-        newobj = _grid.new_GridCellStringRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellStringRenderer_swiginit(self,_grid.new_GridCellStringRenderer(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class GridCellStringRendererPtr(GridCellStringRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellStringRenderer
-_grid.GridCellStringRenderer_swigregister(GridCellStringRendererPtr)
+_grid.GridCellStringRenderer_swigregister(GridCellStringRenderer)
 
 class GridCellNumberRenderer(GridCellStringRenderer):
 
 class GridCellNumberRenderer(GridCellStringRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellNumberRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellNumberRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellNumberRenderer"""
         """__init__(self) -> GridCellNumberRenderer"""
-        newobj = _grid.new_GridCellNumberRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellNumberRenderer_swiginit(self,_grid.new_GridCellNumberRenderer(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class GridCellNumberRendererPtr(GridCellNumberRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellNumberRenderer
-_grid.GridCellNumberRenderer_swigregister(GridCellNumberRendererPtr)
+_grid.GridCellNumberRenderer_swigregister(GridCellNumberRenderer)
 
 class GridCellFloatRenderer(GridCellStringRenderer):
 
 class GridCellFloatRenderer(GridCellStringRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellFloatRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellFloatRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int width=-1, int precision=-1) -> GridCellFloatRenderer"""
         """__init__(self, int width=-1, int precision=-1) -> GridCellFloatRenderer"""
-        newobj = _grid.new_GridCellFloatRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellFloatRenderer_swiginit(self,_grid.new_GridCellFloatRenderer(*args, **kwargs))
         self._setOORInfo(self)
 
     def GetWidth(*args, **kwargs):
         self._setOORInfo(self)
 
     def GetWidth(*args, **kwargs):
@@ -155,98 +199,59 @@ class GridCellFloatRenderer(GridCellStringRenderer):
         """SetPrecision(self, int precision)"""
         return _grid.GridCellFloatRenderer_SetPrecision(*args, **kwargs)
 
         """SetPrecision(self, int precision)"""
         return _grid.GridCellFloatRenderer_SetPrecision(*args, **kwargs)
 
-
-class GridCellFloatRendererPtr(GridCellFloatRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellFloatRenderer
-_grid.GridCellFloatRenderer_swigregister(GridCellFloatRendererPtr)
+    Precision = property(GetPrecision,SetPrecision,doc="See `GetPrecision` and `SetPrecision`") 
+    Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") 
+_grid.GridCellFloatRenderer_swigregister(GridCellFloatRenderer)
 
 class GridCellBoolRenderer(GridCellRenderer):
 
 class GridCellBoolRenderer(GridCellRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellBoolRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellBoolRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellBoolRenderer"""
         """__init__(self) -> GridCellBoolRenderer"""
-        newobj = _grid.new_GridCellBoolRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellBoolRenderer_swiginit(self,_grid.new_GridCellBoolRenderer(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class GridCellBoolRendererPtr(GridCellBoolRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellBoolRenderer
-_grid.GridCellBoolRenderer_swigregister(GridCellBoolRendererPtr)
+_grid.GridCellBoolRenderer_swigregister(GridCellBoolRenderer)
 
 class GridCellDateTimeRenderer(GridCellStringRenderer):
 
 class GridCellDateTimeRenderer(GridCellStringRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellDateTimeRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
-        """__init__(self, String outformat=DateTimeFormatStr, String informat=DateTimeFormatStr) -> GridCellDateTimeRenderer"""
-        newobj = _grid.new_GridCellDateTimeRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+    """Proxy of C++ GridCellDateTimeRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, String outformat=wxPyDefaultDateTimeFormat, String informat=wxPyDefaultDateTimeFormat) -> GridCellDateTimeRenderer"""
+        _grid.GridCellDateTimeRenderer_swiginit(self,_grid.new_GridCellDateTimeRenderer(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class GridCellDateTimeRendererPtr(GridCellDateTimeRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellDateTimeRenderer
-_grid.GridCellDateTimeRenderer_swigregister(GridCellDateTimeRendererPtr)
+_grid.GridCellDateTimeRenderer_swigregister(GridCellDateTimeRenderer)
 
 class GridCellEnumRenderer(GridCellStringRenderer):
 
 class GridCellEnumRenderer(GridCellStringRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellEnumRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellEnumRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, String choices=EmptyString) -> GridCellEnumRenderer"""
         """__init__(self, String choices=EmptyString) -> GridCellEnumRenderer"""
-        newobj = _grid.new_GridCellEnumRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellEnumRenderer_swiginit(self,_grid.new_GridCellEnumRenderer(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class GridCellEnumRendererPtr(GridCellEnumRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellEnumRenderer
-_grid.GridCellEnumRenderer_swigregister(GridCellEnumRendererPtr)
+_grid.GridCellEnumRenderer_swigregister(GridCellEnumRenderer)
 
 class GridCellAutoWrapStringRenderer(GridCellStringRenderer):
 
 class GridCellAutoWrapStringRenderer(GridCellStringRenderer):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellAutoWrapStringRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellAutoWrapStringRenderer class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellAutoWrapStringRenderer"""
         """__init__(self) -> GridCellAutoWrapStringRenderer"""
-        newobj = _grid.new_GridCellAutoWrapStringRenderer(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellAutoWrapStringRenderer_swiginit(self,_grid.new_GridCellAutoWrapStringRenderer(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
+_grid.GridCellAutoWrapStringRenderer_swigregister(GridCellAutoWrapStringRenderer)
 
 
-class GridCellAutoWrapStringRendererPtr(GridCellAutoWrapStringRenderer):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellAutoWrapStringRenderer
-_grid.GridCellAutoWrapStringRenderer_swigregister(GridCellAutoWrapStringRendererPtr)
-
-class GridCellEditor(object):
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def _setOORInfo(*args, **kwargs):
-        """_setOORInfo(self, PyObject _self)"""
-        return _grid.GridCellEditor__setOORInfo(*args, **kwargs)
-
+class GridCellEditor(GridCellWorker):
+    """Proxy of C++ GridCellEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
     def IsCreated(*args, **kwargs):
         """IsCreated(self) -> bool"""
         return _grid.GridCellEditor_IsCreated(*args, **kwargs)
     def IsCreated(*args, **kwargs):
         """IsCreated(self) -> bool"""
         return _grid.GridCellEditor_IsCreated(*args, **kwargs)
@@ -267,18 +272,6 @@ class GridCellEditor(object):
         """SetCellAttr(self, GridCellAttr attr)"""
         return _grid.GridCellEditor_SetCellAttr(*args, **kwargs)
 
         """SetCellAttr(self, GridCellAttr attr)"""
         return _grid.GridCellEditor_SetCellAttr(*args, **kwargs)
 
-    def SetParameters(*args, **kwargs):
-        """SetParameters(self, String params)"""
-        return _grid.GridCellEditor_SetParameters(*args, **kwargs)
-
-    def IncRef(*args, **kwargs):
-        """IncRef(self)"""
-        return _grid.GridCellEditor_IncRef(*args, **kwargs)
-
-    def DecRef(*args, **kwargs):
-        """DecRef(self)"""
-        return _grid.GridCellEditor_DecRef(*args, **kwargs)
-
     def Create(*args, **kwargs):
         """Create(self, Window parent, int id, EvtHandler evtHandler)"""
         return _grid.GridCellEditor_Create(*args, **kwargs)
     def Create(*args, **kwargs):
         """Create(self, Window parent, int id, EvtHandler evtHandler)"""
         return _grid.GridCellEditor_Create(*args, **kwargs)
@@ -329,239 +322,182 @@ class GridCellEditor(object):
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
 
     def Destroy(*args, **kwargs):
         """Destroy(self)"""
+        args[0].this.own(False)
         return _grid.GridCellEditor_Destroy(*args, **kwargs)
 
         return _grid.GridCellEditor_Destroy(*args, **kwargs)
 
-
-class GridCellEditorPtr(GridCellEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellEditor
-_grid.GridCellEditor_swigregister(GridCellEditorPtr)
+    CellAttr = property(GetCellAttr,SetCellAttr,doc="See `GetCellAttr` and `SetCellAttr`") 
+    Control = property(GetControl,SetControl,doc="See `GetControl` and `SetControl`") 
+_grid.GridCellEditor_swigregister(GridCellEditor)
 
 class PyGridCellEditor(GridCellEditor):
 
 class PyGridCellEditor(GridCellEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ PyGridCellEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> PyGridCellEditor"""
         """__init__(self) -> PyGridCellEditor"""
-        newobj = _grid.new_PyGridCellEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setCallbackInfo(self, PyGridCellEditor);self._setOORInfo(self)
+        _grid.PyGridCellEditor_swiginit(self,_grid.new_PyGridCellEditor(*args, **kwargs))
+        self._setOORInfo(self);PyGridCellEditor._setCallbackInfo(self, self, PyGridCellEditor)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _grid.PyGridCellEditor__setCallbackInfo(*args, **kwargs)
 
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _grid.PyGridCellEditor__setCallbackInfo(*args, **kwargs)
 
-    def base_SetSize(*args, **kwargs):
-        """base_SetSize(self, Rect rect)"""
-        return _grid.PyGridCellEditor_base_SetSize(*args, **kwargs)
-
-    def base_Show(*args, **kwargs):
-        """base_Show(self, bool show, GridCellAttr attr=None)"""
-        return _grid.PyGridCellEditor_base_Show(*args, **kwargs)
-
-    def base_PaintBackground(*args, **kwargs):
-        """base_PaintBackground(self, Rect rectCell, GridCellAttr attr)"""
-        return _grid.PyGridCellEditor_base_PaintBackground(*args, **kwargs)
-
-    def base_IsAcceptedKey(*args, **kwargs):
-        """base_IsAcceptedKey(self, KeyEvent event) -> bool"""
-        return _grid.PyGridCellEditor_base_IsAcceptedKey(*args, **kwargs)
-
-    def base_StartingKey(*args, **kwargs):
-        """base_StartingKey(self, KeyEvent event)"""
-        return _grid.PyGridCellEditor_base_StartingKey(*args, **kwargs)
-
-    def base_StartingClick(*args, **kwargs):
-        """base_StartingClick(self)"""
-        return _grid.PyGridCellEditor_base_StartingClick(*args, **kwargs)
-
-    def base_HandleReturn(*args, **kwargs):
-        """base_HandleReturn(self, KeyEvent event)"""
-        return _grid.PyGridCellEditor_base_HandleReturn(*args, **kwargs)
-
-    def base_Destroy(*args, **kwargs):
-        """base_Destroy(self)"""
-        return _grid.PyGridCellEditor_base_Destroy(*args, **kwargs)
-
-    def base_SetParameters(*args, **kwargs):
-        """base_SetParameters(self, String params)"""
-        return _grid.PyGridCellEditor_base_SetParameters(*args, **kwargs)
-
-
-class PyGridCellEditorPtr(PyGridCellEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PyGridCellEditor
-_grid.PyGridCellEditor_swigregister(PyGridCellEditorPtr)
+    def SetParameters(*args, **kwargs):
+        """SetParameters(self, String params)"""
+        return _grid.PyGridCellEditor_SetParameters(*args, **kwargs)
+
+    def base_SetSize(*args, **kw):
+        return PyGridCellEditor.SetSize(*args, **kw)
+    base_SetSize = wx._deprecated(base_SetSize,
+                                   "Please use PyGridCellEditor.SetSize instead.")
+
+    def base_Show(*args, **kw):
+        return PyGridCellEditor.Show(*args, **kw)
+    base_Show = wx._deprecated(base_Show,
+                                   "Please use PyGridCellEditor.Show instead.")
+
+    def base_PaintBackground(*args, **kw):
+        return PyGridCellEditor.PaintBackground(*args, **kw)
+    base_PaintBackground = wx._deprecated(base_PaintBackground,
+                                   "Please use PyGridCellEditor.PaintBackground instead.")
+
+    def base_IsAcceptedKey(*args, **kw):
+        return PyGridCellEditor.IsAcceptedKey(*args, **kw)
+    base_IsAcceptedKey = wx._deprecated(base_IsAcceptedKey,
+                                   "Please use PyGridCellEditor.IsAcceptedKey instead.")
+
+    def base_StartingKey(*args, **kw):
+        return PyGridCellEditor.StartingKey(*args, **kw)
+    base_StartingKey = wx._deprecated(base_StartingKey,
+                                   "Please use PyGridCellEditor.StartingKey instead.")
+
+    def base_StartingClick(*args, **kw):
+        return PyGridCellEditor.StartingClick(*args, **kw)
+    base_StartingClick = wx._deprecated(base_StartingClick,
+                                   "Please use PyGridCellEditor.StartingClick instead.")
+
+    def base_HandleReturn(*args, **kw):
+        return PyGridCellEditor.HandleReturn(*args, **kw)
+    base_HandleReturn = wx._deprecated(base_HandleReturn,
+                                   "Please use PyGridCellEditor.HandleReturn instead.")
+
+    def base_Destroy(*args, **kw):
+        return PyGridCellEditor.Destroy(*args, **kw)
+    base_Destroy = wx._deprecated(base_Destroy,
+                                   "Please use PyGridCellEditor.Destroy instead.")
+
+    def base_SetParameters(*args, **kw):
+        return PyGridCellEditor.SetParameters(*args, **kw)
+    base_SetParameters = wx._deprecated(base_SetParameters,
+                                   "Please use PyGridCellEditor.SetParameters instead.")
+
+_grid.PyGridCellEditor_swigregister(PyGridCellEditor)
 
 class GridCellTextEditor(GridCellEditor):
 
 class GridCellTextEditor(GridCellEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellTextEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellTextEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellTextEditor"""
         """__init__(self) -> GridCellTextEditor"""
-        newobj = _grid.new_GridCellTextEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellTextEditor_swiginit(self,_grid.new_GridCellTextEditor(*args, **kwargs))
         self._setOORInfo(self)
 
     def GetValue(*args, **kwargs):
         """GetValue(self) -> String"""
         return _grid.GridCellTextEditor_GetValue(*args, **kwargs)
 
         self._setOORInfo(self)
 
     def GetValue(*args, **kwargs):
         """GetValue(self) -> String"""
         return _grid.GridCellTextEditor_GetValue(*args, **kwargs)
 
-
-class GridCellTextEditorPtr(GridCellTextEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellTextEditor
-_grid.GridCellTextEditor_swigregister(GridCellTextEditorPtr)
+    Value = property(GetValue,doc="See `GetValue`") 
+_grid.GridCellTextEditor_swigregister(GridCellTextEditor)
 
 class GridCellNumberEditor(GridCellTextEditor):
 
 class GridCellNumberEditor(GridCellTextEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellNumberEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellNumberEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int min=-1, int max=-1) -> GridCellNumberEditor"""
         """__init__(self, int min=-1, int max=-1) -> GridCellNumberEditor"""
-        newobj = _grid.new_GridCellNumberEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellNumberEditor_swiginit(self,_grid.new_GridCellNumberEditor(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-    def GetValue(*args, **kwargs):
-        """GetValue(self) -> String"""
-        return _grid.GridCellNumberEditor_GetValue(*args, **kwargs)
-
-
-class GridCellNumberEditorPtr(GridCellNumberEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellNumberEditor
-_grid.GridCellNumberEditor_swigregister(GridCellNumberEditorPtr)
+_grid.GridCellNumberEditor_swigregister(GridCellNumberEditor)
 
 class GridCellFloatEditor(GridCellTextEditor):
 
 class GridCellFloatEditor(GridCellTextEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellFloatEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellFloatEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int width=-1, int precision=-1) -> GridCellFloatEditor"""
         """__init__(self, int width=-1, int precision=-1) -> GridCellFloatEditor"""
-        newobj = _grid.new_GridCellFloatEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellFloatEditor_swiginit(self,_grid.new_GridCellFloatEditor(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-    def GetValue(*args, **kwargs):
-        """GetValue(self) -> String"""
-        return _grid.GridCellFloatEditor_GetValue(*args, **kwargs)
-
-
-class GridCellFloatEditorPtr(GridCellFloatEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellFloatEditor
-_grid.GridCellFloatEditor_swigregister(GridCellFloatEditorPtr)
+_grid.GridCellFloatEditor_swigregister(GridCellFloatEditor)
 
 class GridCellBoolEditor(GridCellEditor):
 
 class GridCellBoolEditor(GridCellEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellBoolEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellBoolEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellBoolEditor"""
         """__init__(self) -> GridCellBoolEditor"""
-        newobj = _grid.new_GridCellBoolEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellBoolEditor_swiginit(self,_grid.new_GridCellBoolEditor(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-    def GetValue(*args, **kwargs):
-        """GetValue(self) -> String"""
-        return _grid.GridCellBoolEditor_GetValue(*args, **kwargs)
+    def UseStringValues(*args, **kwargs):
+        """UseStringValues(String valueTrue=OneString, String valueFalse=EmptyString)"""
+        return _grid.GridCellBoolEditor_UseStringValues(*args, **kwargs)
 
 
+    UseStringValues = staticmethod(UseStringValues)
+    def IsTrueValue(*args, **kwargs):
+        """IsTrueValue(String value) -> bool"""
+        return _grid.GridCellBoolEditor_IsTrueValue(*args, **kwargs)
 
 
-class GridCellBoolEditorPtr(GridCellBoolEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellBoolEditor
-_grid.GridCellBoolEditor_swigregister(GridCellBoolEditorPtr)
+    IsTrueValue = staticmethod(IsTrueValue)
+_grid.GridCellBoolEditor_swigregister(GridCellBoolEditor)
+OneString = cvar.OneString
 
 
-class GridCellChoiceEditor(GridCellEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellChoiceEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
-        """__init__(self, int choices=0, String choices_array=None, bool allowOthers=False) -> GridCellChoiceEditor"""
-        newobj = _grid.new_GridCellChoiceEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setOORInfo(self)
+def GridCellBoolEditor_UseStringValues(*args, **kwargs):
+  """GridCellBoolEditor_UseStringValues(String valueTrue=OneString, String valueFalse=EmptyString)"""
+  return _grid.GridCellBoolEditor_UseStringValues(*args, **kwargs)
 
 
-    def GetValue(*args, **kwargs):
-        """GetValue(self) -> String"""
-        return _grid.GridCellChoiceEditor_GetValue(*args, **kwargs)
+def GridCellBoolEditor_IsTrueValue(*args, **kwargs):
+  """GridCellBoolEditor_IsTrueValue(String value) -> bool"""
+  return _grid.GridCellBoolEditor_IsTrueValue(*args, **kwargs)
 
 
+class GridCellChoiceEditor(GridCellEditor):
+    """Proxy of C++ GridCellChoiceEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """__init__(self, int choices=0, bool allowOthers=False) -> GridCellChoiceEditor"""
+        _grid.GridCellChoiceEditor_swiginit(self,_grid.new_GridCellChoiceEditor(*args, **kwargs))
+        self._setOORInfo(self)
 
 
-class GridCellChoiceEditorPtr(GridCellChoiceEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellChoiceEditor
-_grid.GridCellChoiceEditor_swigregister(GridCellChoiceEditorPtr)
+_grid.GridCellChoiceEditor_swigregister(GridCellChoiceEditor)
 
 class GridCellEnumEditor(GridCellChoiceEditor):
 
 class GridCellEnumEditor(GridCellChoiceEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellEnumEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellEnumEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, String choices=EmptyString) -> GridCellEnumEditor"""
         """__init__(self, String choices=EmptyString) -> GridCellEnumEditor"""
-        newobj = _grid.new_GridCellEnumEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellEnumEditor_swiginit(self,_grid.new_GridCellEnumEditor(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-    def GetValue(*args, **kwargs):
-        """GetValue(self) -> String"""
-        return _grid.GridCellEnumEditor_GetValue(*args, **kwargs)
-
-
-class GridCellEnumEditorPtr(GridCellEnumEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellEnumEditor
-_grid.GridCellEnumEditor_swigregister(GridCellEnumEditorPtr)
+_grid.GridCellEnumEditor_swigregister(GridCellEnumEditor)
 
 class GridCellAutoWrapStringEditor(GridCellTextEditor):
 
 class GridCellAutoWrapStringEditor(GridCellTextEditor):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellAutoWrapStringEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellAutoWrapStringEditor class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellAutoWrapStringEditor"""
         """__init__(self) -> GridCellAutoWrapStringEditor"""
-        newobj = _grid.new_GridCellAutoWrapStringEditor(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellAutoWrapStringEditor_swiginit(self,_grid.new_GridCellAutoWrapStringEditor(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-    def GetValue(*args, **kwargs):
-        """GetValue(self) -> String"""
-        return _grid.GridCellAutoWrapStringEditor_GetValue(*args, **kwargs)
-
-
-class GridCellAutoWrapStringEditorPtr(GridCellAutoWrapStringEditor):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellAutoWrapStringEditor
-_grid.GridCellAutoWrapStringEditor_swigregister(GridCellAutoWrapStringEditorPtr)
+_grid.GridCellAutoWrapStringEditor_swigregister(GridCellAutoWrapStringEditor)
 
 class GridCellAttr(object):
 
 class GridCellAttr(object):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    """Proxy of C++ GridCellAttr class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
     Any = _grid.GridCellAttr_Any
     Default = _grid.GridCellAttr_Default
     Cell = _grid.GridCellAttr_Cell
     Any = _grid.GridCellAttr_Any
     Default = _grid.GridCellAttr_Default
     Cell = _grid.GridCellAttr_Cell
@@ -572,14 +508,13 @@ class GridCellAttr(object):
         """_setOORInfo(self, PyObject _self)"""
         return _grid.GridCellAttr__setOORInfo(*args, **kwargs)
 
         """_setOORInfo(self, PyObject _self)"""
         return _grid.GridCellAttr__setOORInfo(*args, **kwargs)
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, *args, **kwargs): 
         """__init__(self, GridCellAttr attrDefault=None) -> GridCellAttr"""
         """__init__(self, GridCellAttr attrDefault=None) -> GridCellAttr"""
-        newobj = _grid.new_GridCellAttr(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellAttr_swiginit(self,_grid.new_GridCellAttr(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
+    __swig_destroy__ = _grid.delete_GridCellAttr
+    __del__ = lambda self : None;
     def Clone(*args, **kwargs):
         """Clone(self) -> GridCellAttr"""
         return _grid.GridCellAttr_Clone(*args, **kwargs)
     def Clone(*args, **kwargs):
         """Clone(self) -> GridCellAttr"""
         return _grid.GridCellAttr_Clone(*args, **kwargs)
@@ -704,27 +639,30 @@ class GridCellAttr(object):
         """IsReadOnly(self) -> bool"""
         return _grid.GridCellAttr_IsReadOnly(*args, **kwargs)
 
         """IsReadOnly(self) -> bool"""
         return _grid.GridCellAttr_IsReadOnly(*args, **kwargs)
 
+    def GetKind(*args, **kwargs):
+        """GetKind(self) -> int"""
+        return _grid.GridCellAttr_GetKind(*args, **kwargs)
+
     def SetDefAttr(*args, **kwargs):
         """SetDefAttr(self, GridCellAttr defAttr)"""
         return _grid.GridCellAttr_SetDefAttr(*args, **kwargs)
 
     def SetDefAttr(*args, **kwargs):
         """SetDefAttr(self, GridCellAttr defAttr)"""
         return _grid.GridCellAttr_SetDefAttr(*args, **kwargs)
 
-
-class GridCellAttrPtr(GridCellAttr):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellAttr
-_grid.GridCellAttr_swigregister(GridCellAttrPtr)
+    Alignment = property(GetAlignment,SetAlignment,doc="See `GetAlignment` and `SetAlignment`") 
+    BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
+    Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") 
+    Kind = property(GetKind,SetKind,doc="See `GetKind` and `SetKind`") 
+    Overflow = property(GetOverflow,SetOverflow,doc="See `GetOverflow` and `SetOverflow`") 
+    Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") 
+    TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`") 
+_grid.GridCellAttr_swigregister(GridCellAttr)
 
 class GridCellAttrProvider(object):
 
 class GridCellAttrProvider(object):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellAttrProvider class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> GridCellAttrProvider"""
         """__init__(self) -> GridCellAttrProvider"""
-        newobj = _grid.new_GridCellAttrProvider(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridCellAttrProvider_swiginit(self,_grid.new_GridCellAttrProvider(*args, **kwargs))
         self._setOORInfo(self)
 
     def _setOORInfo(*args, **kwargs):
         self._setOORInfo(self)
 
     def _setOORInfo(*args, **kwargs):
@@ -755,57 +693,66 @@ class GridCellAttrProvider(object):
         """UpdateAttrCols(self, size_t pos, int numCols)"""
         return _grid.GridCellAttrProvider_UpdateAttrCols(*args, **kwargs)
 
         """UpdateAttrCols(self, size_t pos, int numCols)"""
         return _grid.GridCellAttrProvider_UpdateAttrCols(*args, **kwargs)
 
-
-class GridCellAttrProviderPtr(GridCellAttrProvider):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellAttrProvider
-_grid.GridCellAttrProvider_swigregister(GridCellAttrProviderPtr)
+_grid.GridCellAttrProvider_swigregister(GridCellAttrProvider)
 
 class PyGridCellAttrProvider(GridCellAttrProvider):
 
 class PyGridCellAttrProvider(GridCellAttrProvider):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ PyGridCellAttrProvider class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> PyGridCellAttrProvider"""
         """__init__(self) -> PyGridCellAttrProvider"""
-        newobj = _grid.new_PyGridCellAttrProvider(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setCallbackInfo(self, PyGridCellAttrProvider)
+        _grid.PyGridCellAttrProvider_swiginit(self,_grid.new_PyGridCellAttrProvider(*args, **kwargs))
+        PyGridCellAttrProvider._setCallbackInfo(self, self, PyGridCellAttrProvider)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _grid.PyGridCellAttrProvider__setCallbackInfo(*args, **kwargs)
 
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
         return _grid.PyGridCellAttrProvider__setCallbackInfo(*args, **kwargs)
 
-    def base_GetAttr(*args, **kwargs):
-        """base_GetAttr(self, int row, int col, int kind) -> GridCellAttr"""
-        return _grid.PyGridCellAttrProvider_base_GetAttr(*args, **kwargs)
+    def GetAttr(*args, **kwargs):
+        """GetAttr(self, int row, int col, int kind) -> GridCellAttr"""
+        return _grid.PyGridCellAttrProvider_GetAttr(*args, **kwargs)
+
+    def SetAttr(*args, **kwargs):
+        """SetAttr(self, GridCellAttr attr, int row, int col)"""
+        return _grid.PyGridCellAttrProvider_SetAttr(*args, **kwargs)
+
+    def SetRowAttr(*args, **kwargs):
+        """SetRowAttr(self, GridCellAttr attr, int row)"""
+        return _grid.PyGridCellAttrProvider_SetRowAttr(*args, **kwargs)
+
+    def SetColAttr(*args, **kwargs):
+        """SetColAttr(self, GridCellAttr attr, int col)"""
+        return _grid.PyGridCellAttrProvider_SetColAttr(*args, **kwargs)
 
 
-    def base_SetAttr(*args, **kwargs):
-        """base_SetAttr(self, GridCellAttr attr, int row, int col)"""
-        return _grid.PyGridCellAttrProvider_base_SetAttr(*args, **kwargs)
+    def base_GetAttr(*args, **kw):
+        return PyGridCellAttrProvider.GetAttr(*args, **kw)
+    base_GetAttr = wx._deprecated(base_GetAttr,
+                                   "Please use PyGridCellAttrProvider.GetAttr instead.")
 
 
-    def base_SetRowAttr(*args, **kwargs):
-        """base_SetRowAttr(self, GridCellAttr attr, int row)"""
-        return _grid.PyGridCellAttrProvider_base_SetRowAttr(*args, **kwargs)
+    def base_SetAttr(*args, **kw):
+        return PyGridCellAttrProvider.SetAttr(*args, **kw)
+    base_SetAttr = wx._deprecated(base_SetAttr,
+                                   "Please use PyGridCellAttrProvider.SetAttr instead.")
 
 
-    def base_SetColAttr(*args, **kwargs):
-        """base_SetColAttr(self, GridCellAttr attr, int col)"""
-        return _grid.PyGridCellAttrProvider_base_SetColAttr(*args, **kwargs)
+    def base_SetRowAttr(*args, **kw):
+        return PyGridCellAttrProvider.SetRowAttr(*args, **kw)
+    base_SetRowAttr = wx._deprecated(base_SetRowAttr,
+                                   "Please use PyGridCellAttrProvider.SetRowAttr instead.")
 
 
+    def base_SetColAttr(*args, **kw):
+        return PyGridCellAttrProvider.SetColAttr(*args, **kw)
+    base_SetColAttr = wx._deprecated(base_SetColAttr,
+                                   "Please use PyGridCellAttrProvider.SetColAttr instead.")
 
 
-class PyGridCellAttrProviderPtr(PyGridCellAttrProvider):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PyGridCellAttrProvider
-_grid.PyGridCellAttrProvider_swigregister(PyGridCellAttrProviderPtr)
+_grid.PyGridCellAttrProvider_swigregister(PyGridCellAttrProvider)
 
 class GridTableBase(_core.Object):
 
 class GridTableBase(_core.Object):
-    def __init__(self): raise RuntimeError, "No constructor defined"
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    """Proxy of C++ GridTableBase class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    def __init__(self): raise AttributeError, "No constructor defined"
+    __repr__ = _swig_repr
+    __swig_destroy__ = _grid.delete_GridTableBase
+    __del__ = lambda self : None;
     def _setOORInfo(*args, **kwargs):
         """_setOORInfo(self, PyObject _self)"""
         return _grid.GridTableBase__setOORInfo(*args, **kwargs)
     def _setOORInfo(*args, **kwargs):
         """_setOORInfo(self, PyObject _self)"""
         return _grid.GridTableBase__setOORInfo(*args, **kwargs)
@@ -946,24 +893,20 @@ class GridTableBase(_core.Object):
         """SetColAttr(self, GridCellAttr attr, int col)"""
         return _grid.GridTableBase_SetColAttr(*args, **kwargs)
 
         """SetColAttr(self, GridCellAttr attr, int col)"""
         return _grid.GridTableBase_SetColAttr(*args, **kwargs)
 
-
-class GridTableBasePtr(GridTableBase):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridTableBase
-_grid.GridTableBase_swigregister(GridTableBasePtr)
+    AttrProvider = property(GetAttrProvider,SetAttrProvider,doc="See `GetAttrProvider` and `SetAttrProvider`") 
+    NumberCols = property(GetNumberCols,doc="See `GetNumberCols`") 
+    NumberRows = property(GetNumberRows,doc="See `GetNumberRows`") 
+    View = property(GetView,SetView,doc="See `GetView` and `SetView`") 
+_grid.GridTableBase_swigregister(GridTableBase)
 
 class PyGridTableBase(GridTableBase):
 
 class PyGridTableBase(GridTableBase):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxPyGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ PyGridTableBase class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self) -> PyGridTableBase"""
         """__init__(self) -> PyGridTableBase"""
-        newobj = _grid.new_PyGridTableBase(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-        self._setCallbackInfo(self, PyGridTableBase);self._setOORInfo(self)
+        _grid.PyGridTableBase_swiginit(self,_grid.new_PyGridTableBase(*args, **kwargs))
+        self._setOORInfo(self);PyGridTableBase._setCallbackInfo(self, self, PyGridTableBase)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
@@ -975,110 +918,116 @@ class PyGridTableBase(GridTableBase):
 
         Deletes the C++ object this Python object is a proxy for.
         """
 
         Deletes the C++ object this Python object is a proxy for.
         """
+        args[0].this.own(False)
         return _grid.PyGridTableBase_Destroy(*args, **kwargs)
 
         return _grid.PyGridTableBase_Destroy(*args, **kwargs)
 
-    def base_GetTypeName(*args, **kwargs):
-        """base_GetTypeName(self, int row, int col) -> String"""
-        return _grid.PyGridTableBase_base_GetTypeName(*args, **kwargs)
-
-    def base_CanGetValueAs(*args, **kwargs):
-        """base_CanGetValueAs(self, int row, int col, String typeName) -> bool"""
-        return _grid.PyGridTableBase_base_CanGetValueAs(*args, **kwargs)
-
-    def base_CanSetValueAs(*args, **kwargs):
-        """base_CanSetValueAs(self, int row, int col, String typeName) -> bool"""
-        return _grid.PyGridTableBase_base_CanSetValueAs(*args, **kwargs)
-
-    def base_Clear(*args, **kwargs):
-        """base_Clear(self)"""
-        return _grid.PyGridTableBase_base_Clear(*args, **kwargs)
-
-    def base_InsertRows(*args, **kwargs):
-        """base_InsertRows(self, size_t pos=0, size_t numRows=1) -> bool"""
-        return _grid.PyGridTableBase_base_InsertRows(*args, **kwargs)
-
-    def base_AppendRows(*args, **kwargs):
-        """base_AppendRows(self, size_t numRows=1) -> bool"""
-        return _grid.PyGridTableBase_base_AppendRows(*args, **kwargs)
-
-    def base_DeleteRows(*args, **kwargs):
-        """base_DeleteRows(self, size_t pos=0, size_t numRows=1) -> bool"""
-        return _grid.PyGridTableBase_base_DeleteRows(*args, **kwargs)
-
-    def base_InsertCols(*args, **kwargs):
-        """base_InsertCols(self, size_t pos=0, size_t numCols=1) -> bool"""
-        return _grid.PyGridTableBase_base_InsertCols(*args, **kwargs)
-
-    def base_AppendCols(*args, **kwargs):
-        """base_AppendCols(self, size_t numCols=1) -> bool"""
-        return _grid.PyGridTableBase_base_AppendCols(*args, **kwargs)
-
-    def base_DeleteCols(*args, **kwargs):
-        """base_DeleteCols(self, size_t pos=0, size_t numCols=1) -> bool"""
-        return _grid.PyGridTableBase_base_DeleteCols(*args, **kwargs)
-
-    def base_GetRowLabelValue(*args, **kwargs):
-        """base_GetRowLabelValue(self, int row) -> String"""
-        return _grid.PyGridTableBase_base_GetRowLabelValue(*args, **kwargs)
-
-    def base_GetColLabelValue(*args, **kwargs):
-        """base_GetColLabelValue(self, int col) -> String"""
-        return _grid.PyGridTableBase_base_GetColLabelValue(*args, **kwargs)
-
-    def base_SetRowLabelValue(*args, **kwargs):
-        """base_SetRowLabelValue(self, int row, String value)"""
-        return _grid.PyGridTableBase_base_SetRowLabelValue(*args, **kwargs)
-
-    def base_SetColLabelValue(*args, **kwargs):
-        """base_SetColLabelValue(self, int col, String value)"""
-        return _grid.PyGridTableBase_base_SetColLabelValue(*args, **kwargs)
-
-    def base_CanHaveAttributes(*args, **kwargs):
-        """base_CanHaveAttributes(self) -> bool"""
-        return _grid.PyGridTableBase_base_CanHaveAttributes(*args, **kwargs)
-
-    def base_GetAttr(*args, **kwargs):
-        """base_GetAttr(self, int row, int col, int kind) -> GridCellAttr"""
-        return _grid.PyGridTableBase_base_GetAttr(*args, **kwargs)
-
-    def base_SetAttr(*args, **kwargs):
-        """base_SetAttr(self, GridCellAttr attr, int row, int col)"""
-        return _grid.PyGridTableBase_base_SetAttr(*args, **kwargs)
-
-    def base_SetRowAttr(*args, **kwargs):
-        """base_SetRowAttr(self, GridCellAttr attr, int row)"""
-        return _grid.PyGridTableBase_base_SetRowAttr(*args, **kwargs)
-
-    def base_SetColAttr(*args, **kwargs):
-        """base_SetColAttr(self, GridCellAttr attr, int col)"""
-        return _grid.PyGridTableBase_base_SetColAttr(*args, **kwargs)
-
-
-class PyGridTableBasePtr(PyGridTableBase):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = PyGridTableBase
-_grid.PyGridTableBase_swigregister(PyGridTableBasePtr)
+    def base_GetTypeName(*args, **kw):
+        return PyGridTableBase.GetTypeName(*args, **kw)
+    base_GetTypeName = wx._deprecated(base_GetTypeName,
+                                   "Please use PyGridTableBase.GetTypeName instead.")
+
+    def base_CanGetValueAs(*args, **kw):
+        return PyGridTableBase.CanGetValueAs(*args, **kw)
+    base_CanGetValueAs = wx._deprecated(base_CanGetValueAs,
+                                   "Please use PyGridTableBase.CanGetValueAs instead.")
+
+    def base_CanSetValueAs(*args, **kw):
+        return PyGridTableBase.CanSetValueAs(*args, **kw)
+    base_CanSetValueAs = wx._deprecated(base_CanSetValueAs,
+                                   "Please use PyGridTableBase.CanSetValueAs instead.")
+
+    def base_Clear(*args, **kw):
+        return PyGridTableBase.Clear(*args, **kw)
+    base_Clear = wx._deprecated(base_Clear,
+                                   "Please use PyGridTableBase.Clear instead.")
+
+    def base_InsertRows(*args, **kw):
+        return PyGridTableBase.InsertRows(*args, **kw)
+    base_InsertRows = wx._deprecated(base_InsertRows,
+                                   "Please use PyGridTableBase.InsertRows instead.")
+
+    def base_AppendRows(*args, **kw):
+        return PyGridTableBase.AppendRows(*args, **kw)
+    base_AppendRows = wx._deprecated(base_AppendRows,
+                                   "Please use PyGridTableBase.AppendRows instead.")
+
+    def base_DeleteRows(*args, **kw):
+        return PyGridTableBase.DeleteRows(*args, **kw)
+    base_DeleteRows = wx._deprecated(base_DeleteRows,
+                                   "Please use PyGridTableBase.DeleteRows instead.")
+
+    def base_InsertCols(*args, **kw):
+        return PyGridTableBase.InsertCols(*args, **kw)
+    base_InsertCols = wx._deprecated(base_InsertCols,
+                                   "Please use PyGridTableBase.InsertCols instead.")
+
+    def base_AppendCols(*args, **kw):
+        return PyGridTableBase.AppendCols(*args, **kw)
+    base_AppendCols = wx._deprecated(base_AppendCols,
+                                   "Please use PyGridTableBase.AppendCols instead.")
+
+    def base_DeleteCols(*args, **kw):
+        return PyGridTableBase.DeleteCols(*args, **kw)
+    base_DeleteCols = wx._deprecated(base_DeleteCols,
+                                   "Please use PyGridTableBase.DeleteCols instead.")
+
+    def base_GetRowLabelValue(*args, **kw):
+        return PyGridTableBase.GetRowLabelValue(*args, **kw)
+    base_GetRowLabelValue = wx._deprecated(base_GetRowLabelValue,
+                                   "Please use PyGridTableBase.GetRowLabelValue instead.")
+
+    def base_GetColLabelValue(*args, **kw):
+        return PyGridTableBase.GetColLabelValue(*args, **kw)
+    base_GetColLabelValue = wx._deprecated(base_GetColLabelValue,
+                                   "Please use PyGridTableBase.GetColLabelValue instead.")
+
+    def base_SetRowLabelValue(*args, **kw):
+        return PyGridTableBase.SetRowLabelValue(*args, **kw)
+    base_SetRowLabelValue = wx._deprecated(base_SetRowLabelValue,
+                                   "Please use PyGridTableBase.SetRowLabelValue instead.")
+
+    def base_SetColLabelValue(*args, **kw):
+        return PyGridTableBase.SetColLabelValue(*args, **kw)
+    base_SetColLabelValue = wx._deprecated(base_SetColLabelValue,
+                                   "Please use PyGridTableBase.SetColLabelValue instead.")
+
+    def base_CanHaveAttributes(*args, **kw):
+        return PyGridTableBase.CanHaveAttributes(*args, **kw)
+    base_CanHaveAttributes = wx._deprecated(base_CanHaveAttributes,
+                                   "Please use PyGridTableBase.CanHaveAttributes instead.")
+
+    def base_GetAttr(*args, **kw):
+        return PyGridTableBase.GetAttr(*args, **kw)
+    base_GetAttr = wx._deprecated(base_GetAttr,
+                                   "Please use PyGridTableBase.GetAttr instead.")
+
+    def base_SetAttr(*args, **kw):
+        return PyGridTableBase.SetAttr(*args, **kw)
+    base_SetAttr = wx._deprecated(base_SetAttr,
+                                   "Please use PyGridTableBase.SetAttr instead.")
+
+    def base_SetRowAttr(*args, **kw):
+        return PyGridTableBase.SetRowAttr(*args, **kw)
+    base_SetRowAttr = wx._deprecated(base_SetRowAttr,
+                                   "Please use PyGridTableBase.SetRowAttr instead.")
+
+    def base_SetColAttr(*args, **kw):
+        return PyGridTableBase.SetColAttr(*args, **kw)
+    base_SetColAttr = wx._deprecated(base_SetColAttr,
+                                   "Please use PyGridTableBase.SetColAttr instead.")
+
+_grid.PyGridTableBase_swigregister(PyGridTableBase)
 
 class GridStringTable(GridTableBase):
 
 class GridStringTable(GridTableBase):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridStringTable instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridStringTable class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int numRows=0, int numCols=0) -> GridStringTable"""
         """__init__(self, int numRows=0, int numCols=0) -> GridStringTable"""
-        newobj = _grid.new_GridStringTable(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridStringTable_swiginit(self,_grid.new_GridStringTable(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
-
-class GridStringTablePtr(GridStringTable):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridStringTable
-_grid.GridStringTable_swigregister(GridStringTablePtr)
+_grid.GridStringTable_swigregister(GridStringTable)
 
 GRIDTABLE_REQUEST_VIEW_GET_VALUES = _grid.GRIDTABLE_REQUEST_VIEW_GET_VALUES
 GRIDTABLE_REQUEST_VIEW_SEND_VALUES = _grid.GRIDTABLE_REQUEST_VIEW_SEND_VALUES
 
 GRIDTABLE_REQUEST_VIEW_GET_VALUES = _grid.GRIDTABLE_REQUEST_VIEW_GET_VALUES
 GRIDTABLE_REQUEST_VIEW_SEND_VALUES = _grid.GRIDTABLE_REQUEST_VIEW_SEND_VALUES
@@ -1089,20 +1038,14 @@ GRIDTABLE_NOTIFY_COLS_INSERTED = _grid.GRIDTABLE_NOTIFY_COLS_INSERTED
 GRIDTABLE_NOTIFY_COLS_APPENDED = _grid.GRIDTABLE_NOTIFY_COLS_APPENDED
 GRIDTABLE_NOTIFY_COLS_DELETED = _grid.GRIDTABLE_NOTIFY_COLS_DELETED
 class GridTableMessage(object):
 GRIDTABLE_NOTIFY_COLS_APPENDED = _grid.GRIDTABLE_NOTIFY_COLS_APPENDED
 GRIDTABLE_NOTIFY_COLS_DELETED = _grid.GRIDTABLE_NOTIFY_COLS_DELETED
 class GridTableMessage(object):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridTableMessage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridTableMessage class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, GridTableBase table, int id, int comInt1=-1, int comInt2=-1) -> GridTableMessage"""
         """__init__(self, GridTableBase table, int id, int comInt1=-1, int comInt2=-1) -> GridTableMessage"""
-        newobj = _grid.new_GridTableMessage(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_grid.delete_GridTableMessage):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _grid.GridTableMessage_swiginit(self,_grid.new_GridTableMessage(*args, **kwargs))
+    __swig_destroy__ = _grid.delete_GridTableMessage
+    __del__ = lambda self : None;
     def SetTableObject(*args, **kwargs):
         """SetTableObject(self, GridTableBase table)"""
         return _grid.GridTableMessage_SetTableObject(*args, **kwargs)
     def SetTableObject(*args, **kwargs):
         """SetTableObject(self, GridTableBase table)"""
         return _grid.GridTableMessage_SetTableObject(*args, **kwargs)
@@ -1135,29 +1078,21 @@ class GridTableMessage(object):
         """GetCommandInt2(self) -> int"""
         return _grid.GridTableMessage_GetCommandInt2(*args, **kwargs)
 
         """GetCommandInt2(self) -> int"""
         return _grid.GridTableMessage_GetCommandInt2(*args, **kwargs)
 
-
-class GridTableMessagePtr(GridTableMessage):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridTableMessage
-_grid.GridTableMessage_swigregister(GridTableMessagePtr)
+    CommandInt = property(GetCommandInt,SetCommandInt,doc="See `GetCommandInt` and `SetCommandInt`") 
+    CommandInt2 = property(GetCommandInt2,SetCommandInt2,doc="See `GetCommandInt2` and `SetCommandInt2`") 
+    Id = property(GetId,SetId,doc="See `GetId` and `SetId`") 
+    TableObject = property(GetTableObject,SetTableObject,doc="See `GetTableObject` and `SetTableObject`") 
+_grid.GridTableMessage_swigregister(GridTableMessage)
 
 class GridCellCoords(object):
 
 class GridCellCoords(object):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridCellCoords instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridCellCoords class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """__init__(self, int r=-1, int c=-1) -> GridCellCoords"""
         """__init__(self, int r=-1, int c=-1) -> GridCellCoords"""
-        newobj = _grid.new_GridCellCoords(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
-    def __del__(self, destroy=_grid.delete_GridCellCoords):
-        """__del__(self)"""
-        try:
-            if self.thisown: destroy(self)
-        except: pass
-
+        _grid.GridCellCoords_swiginit(self,_grid.new_GridCellCoords(*args, **kwargs))
+    __swig_destroy__ = _grid.delete_GridCellCoords
+    __del__ = lambda self : None;
     def GetRow(*args, **kwargs):
         """GetRow(self) -> int"""
         return _grid.GridCellCoords_GetRow(*args, **kwargs)
     def GetRow(*args, **kwargs):
         """GetRow(self) -> int"""
         return _grid.GridCellCoords_GetRow(*args, **kwargs)
@@ -1179,11 +1114,19 @@ class GridCellCoords(object):
         return _grid.GridCellCoords_Set(*args, **kwargs)
 
     def __eq__(*args, **kwargs):
         return _grid.GridCellCoords_Set(*args, **kwargs)
 
     def __eq__(*args, **kwargs):
-        """__eq__(self, GridCellCoords other) -> bool"""
+        """
+        __eq__(self, PyObject other) -> bool
+
+        Test for equality of GridCellCoords objects.
+        """
         return _grid.GridCellCoords___eq__(*args, **kwargs)
 
     def __ne__(*args, **kwargs):
         return _grid.GridCellCoords___eq__(*args, **kwargs)
 
     def __ne__(*args, **kwargs):
-        """__ne__(self, GridCellCoords other) -> bool"""
+        """
+        __ne__(self, PyObject other) -> bool
+
+        Test for inequality of GridCellCoords objects.
+        """
         return _grid.GridCellCoords___ne__(*args, **kwargs)
 
     def Get(*args, **kwargs):
         return _grid.GridCellCoords___ne__(*args, **kwargs)
 
     def Get(*args, **kwargs):
@@ -1200,29 +1143,31 @@ class GridCellCoords(object):
         elif index == 1: self.SetCol(val)
         else: raise IndexError
 
         elif index == 1: self.SetCol(val)
         else: raise IndexError
 
-
-class GridCellCoordsPtr(GridCellCoords):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridCellCoords
-_grid.GridCellCoords_swigregister(GridCellCoordsPtr)
+    Col = property(GetCol,SetCol,doc="See `GetCol` and `SetCol`") 
+    Row = property(GetRow,SetRow,doc="See `GetRow` and `SetRow`") 
+_grid.GridCellCoords_swigregister(GridCellCoords)
 
 class Grid(_windows.ScrolledWindow):
 
 class Grid(_windows.ScrolledWindow):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGrid instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ Grid class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize
-            long style=WANTS_CHARS, 
-            String name=PanelNameStr) -> Grid
+        __init__(self, Window parent, int id=-1, Point pos=DefaultPosition
+            Size size=DefaultSize, long style=WANTS_CHARS, 
+            String name=wxPyGridNameStr) -> Grid
         """
         """
-        newobj = _grid.new_Grid(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.Grid_swiginit(self,_grid.new_Grid(*args, **kwargs))
         self._setOORInfo(self)
 
         self._setOORInfo(self)
 
+    def Create(*args, **kwargs):
+        """
+        Create(self, Window parent, int id=-1, Point pos=DefaultPosition, 
+            Size size=DefaultSize, long style=WANTS_CHARS, 
+            String name=wxPyGridNameStr) -> bool
+        """
+        return _grid.Grid_Create(*args, **kwargs)
+
     wxGridSelectCells = _grid.Grid_wxGridSelectCells
     wxGridSelectRows = _grid.Grid_wxGridSelectRows
     wxGridSelectColumns = _grid.Grid_wxGridSelectColumns
     wxGridSelectCells = _grid.Grid_wxGridSelectCells
     wxGridSelectRows = _grid.Grid_wxGridSelectRows
     wxGridSelectColumns = _grid.Grid_wxGridSelectColumns
@@ -1251,7 +1196,7 @@ class Grid(_windows.ScrolledWindow):
         return _grid.Grid_GetNumberCols(*args, **kwargs)
 
     def ProcessTableMessage(*args, **kwargs):
         return _grid.Grid_GetNumberCols(*args, **kwargs)
 
     def ProcessTableMessage(*args, **kwargs):
-        """ProcessTableMessage(self, GridTableMessage ??) -> bool"""
+        """ProcessTableMessage(self, GridTableMessage ?) -> bool"""
         return _grid.Grid_ProcessTableMessage(*args, **kwargs)
 
     def GetTable(*args, **kwargs):
         return _grid.Grid_ProcessTableMessage(*args, **kwargs)
 
     def GetTable(*args, **kwargs):
@@ -1296,7 +1241,7 @@ class Grid(_windows.ScrolledWindow):
 
     def DrawTextRectangle(*args, **kwargs):
         """
 
     def DrawTextRectangle(*args, **kwargs):
         """
-        DrawTextRectangle(self, DC dc, String ??, Rect ??, int horizontalAlignment=LEFT, 
+        DrawTextRectangle(self, DC dc, String ?, Rect ?, int horizontalAlignment=LEFT, 
             int verticalAlignment=TOP, int textOrientation=HORIZONTAL)
         """
         return _grid.Grid_DrawTextRectangle(*args, **kwargs)
             int verticalAlignment=TOP, int textOrientation=HORIZONTAL)
         """
         return _grid.Grid_DrawTextRectangle(*args, **kwargs)
@@ -1374,7 +1319,7 @@ class Grid(_windows.ScrolledWindow):
         return _grid.Grid_YToRow(*args, **kwargs)
 
     def XToCol(*args, **kwargs):
         return _grid.Grid_YToRow(*args, **kwargs)
 
     def XToCol(*args, **kwargs):
-        """XToCol(self, int x) -> int"""
+        """XToCol(self, int x, bool clipToMinMax=False) -> int"""
         return _grid.Grid_XToCol(*args, **kwargs)
 
     def YToEdgeOfRow(*args, **kwargs):
         return _grid.Grid_XToCol(*args, **kwargs)
 
     def YToEdgeOfRow(*args, **kwargs):
@@ -1501,6 +1446,18 @@ class Grid(_windows.ScrolledWindow):
         """GetGridLineColour(self) -> Colour"""
         return _grid.Grid_GetGridLineColour(*args, **kwargs)
 
         """GetGridLineColour(self) -> Colour"""
         return _grid.Grid_GetGridLineColour(*args, **kwargs)
 
+    def GetDefaultGridLinePen(*args, **kwargs):
+        """GetDefaultGridLinePen(self) -> wxPen"""
+        return _grid.Grid_GetDefaultGridLinePen(*args, **kwargs)
+
+    def GetRowGridLinePen(*args, **kwargs):
+        """GetRowGridLinePen(self, int row) -> wxPen"""
+        return _grid.Grid_GetRowGridLinePen(*args, **kwargs)
+
+    def GetColGridLinePen(*args, **kwargs):
+        """GetColGridLinePen(self, int col) -> wxPen"""
+        return _grid.Grid_GetColGridLinePen(*args, **kwargs)
+
     def GetCellHighlightColour(*args, **kwargs):
         """GetCellHighlightColour(self) -> Colour"""
         return _grid.Grid_GetCellHighlightColour(*args, **kwargs)
     def GetCellHighlightColour(*args, **kwargs):
         """GetCellHighlightColour(self) -> Colour"""
         return _grid.Grid_GetCellHighlightColour(*args, **kwargs)
@@ -1522,15 +1479,15 @@ class Grid(_windows.ScrolledWindow):
         return _grid.Grid_SetColLabelSize(*args, **kwargs)
 
     def SetLabelBackgroundColour(*args, **kwargs):
         return _grid.Grid_SetColLabelSize(*args, **kwargs)
 
     def SetLabelBackgroundColour(*args, **kwargs):
-        """SetLabelBackgroundColour(self, Colour ??)"""
+        """SetLabelBackgroundColour(self, Colour ?)"""
         return _grid.Grid_SetLabelBackgroundColour(*args, **kwargs)
 
     def SetLabelTextColour(*args, **kwargs):
         return _grid.Grid_SetLabelBackgroundColour(*args, **kwargs)
 
     def SetLabelTextColour(*args, **kwargs):
-        """SetLabelTextColour(self, Colour ??)"""
+        """SetLabelTextColour(self, Colour ?)"""
         return _grid.Grid_SetLabelTextColour(*args, **kwargs)
 
     def SetLabelFont(*args, **kwargs):
         return _grid.Grid_SetLabelTextColour(*args, **kwargs)
 
     def SetLabelFont(*args, **kwargs):
-        """SetLabelFont(self, Font ??)"""
+        """SetLabelFont(self, Font ?)"""
         return _grid.Grid_SetLabelFont(*args, **kwargs)
 
     def SetRowLabelAlignment(*args, **kwargs):
         return _grid.Grid_SetLabelFont(*args, **kwargs)
 
     def SetRowLabelAlignment(*args, **kwargs):
@@ -1546,19 +1503,19 @@ class Grid(_windows.ScrolledWindow):
         return _grid.Grid_SetColLabelTextOrientation(*args, **kwargs)
 
     def SetRowLabelValue(*args, **kwargs):
         return _grid.Grid_SetColLabelTextOrientation(*args, **kwargs)
 
     def SetRowLabelValue(*args, **kwargs):
-        """SetRowLabelValue(self, int row, String ??)"""
+        """SetRowLabelValue(self, int row, String ?)"""
         return _grid.Grid_SetRowLabelValue(*args, **kwargs)
 
     def SetColLabelValue(*args, **kwargs):
         return _grid.Grid_SetRowLabelValue(*args, **kwargs)
 
     def SetColLabelValue(*args, **kwargs):
-        """SetColLabelValue(self, int col, String ??)"""
+        """SetColLabelValue(self, int col, String ?)"""
         return _grid.Grid_SetColLabelValue(*args, **kwargs)
 
     def SetGridLineColour(*args, **kwargs):
         return _grid.Grid_SetColLabelValue(*args, **kwargs)
 
     def SetGridLineColour(*args, **kwargs):
-        """SetGridLineColour(self, Colour ??)"""
+        """SetGridLineColour(self, Colour ?)"""
         return _grid.Grid_SetGridLineColour(*args, **kwargs)
 
     def SetCellHighlightColour(*args, **kwargs):
         return _grid.Grid_SetGridLineColour(*args, **kwargs)
 
     def SetCellHighlightColour(*args, **kwargs):
-        """SetCellHighlightColour(self, Colour ??)"""
+        """SetCellHighlightColour(self, Colour ?)"""
         return _grid.Grid_SetCellHighlightColour(*args, **kwargs)
 
     def SetCellHighlightPenWidth(*args, **kwargs):
         return _grid.Grid_SetCellHighlightColour(*args, **kwargs)
 
     def SetCellHighlightPenWidth(*args, **kwargs):
@@ -1593,6 +1550,18 @@ class Grid(_windows.ScrolledWindow):
         """CanDragColSize(self) -> bool"""
         return _grid.Grid_CanDragColSize(*args, **kwargs)
 
         """CanDragColSize(self) -> bool"""
         return _grid.Grid_CanDragColSize(*args, **kwargs)
 
+    def EnableDragColMove(*args, **kwargs):
+        """EnableDragColMove(self, bool enable=True)"""
+        return _grid.Grid_EnableDragColMove(*args, **kwargs)
+
+    def DisableDragColMove(*args, **kwargs):
+        """DisableDragColMove(self)"""
+        return _grid.Grid_DisableDragColMove(*args, **kwargs)
+
+    def CanDragColMove(*args, **kwargs):
+        """CanDragColMove(self) -> bool"""
+        return _grid.Grid_CanDragColMove(*args, **kwargs)
+
     def EnableDragGridSize(*args, **kwargs):
         """EnableDragGridSize(self, bool enable=True)"""
         return _grid.Grid_EnableDragGridSize(*args, **kwargs)
     def EnableDragGridSize(*args, **kwargs):
         """EnableDragGridSize(self, bool enable=True)"""
         return _grid.Grid_EnableDragGridSize(*args, **kwargs)
@@ -1605,6 +1574,18 @@ class Grid(_windows.ScrolledWindow):
         """CanDragGridSize(self) -> bool"""
         return _grid.Grid_CanDragGridSize(*args, **kwargs)
 
         """CanDragGridSize(self) -> bool"""
         return _grid.Grid_CanDragGridSize(*args, **kwargs)
 
+    def EnableDragCell(*args, **kwargs):
+        """EnableDragCell(self, bool enable=True)"""
+        return _grid.Grid_EnableDragCell(*args, **kwargs)
+
+    def DisableDragCell(*args, **kwargs):
+        """DisableDragCell(self)"""
+        return _grid.Grid_DisableDragCell(*args, **kwargs)
+
+    def CanDragCell(*args, **kwargs):
+        """CanDragCell(self) -> bool"""
+        return _grid.Grid_CanDragCell(*args, **kwargs)
+
     def SetAttr(*args, **kwargs):
         """SetAttr(self, int row, int col, GridCellAttr attr)"""
         return _grid.Grid_SetAttr(*args, **kwargs)
     def SetAttr(*args, **kwargs):
         """SetAttr(self, int row, int col, GridCellAttr attr)"""
         return _grid.Grid_SetAttr(*args, **kwargs)
@@ -1617,6 +1598,10 @@ class Grid(_windows.ScrolledWindow):
         """SetColAttr(self, int col, GridCellAttr attr)"""
         return _grid.Grid_SetColAttr(*args, **kwargs)
 
         """SetColAttr(self, int col, GridCellAttr attr)"""
         return _grid.Grid_SetColAttr(*args, **kwargs)
 
+    def GetOrCreateCellAttr(*args, **kwargs):
+        """GetOrCreateCellAttr(self, int row, int col) -> GridCellAttr"""
+        return _grid.Grid_GetOrCreateCellAttr(*args, **kwargs)
+
     def SetColFormatBool(*args, **kwargs):
         """SetColFormatBool(self, int col)"""
         return _grid.Grid_SetColFormatBool(*args, **kwargs)
     def SetColFormatBool(*args, **kwargs):
         """SetColFormatBool(self, int col)"""
         return _grid.Grid_SetColFormatBool(*args, **kwargs)
@@ -1686,7 +1671,7 @@ class Grid(_windows.ScrolledWindow):
         return _grid.Grid_GetDefaultCellAlignment(*args, **kwargs)
 
     def GetCellAlignment(*args, **kwargs):
         return _grid.Grid_GetDefaultCellAlignment(*args, **kwargs)
 
     def GetCellAlignment(*args, **kwargs):
-        """GetCellAlignment() -> (horiz, vert)"""
+        """GetCellAlignment(int row, int col) -> (horiz, vert)"""
         return _grid.Grid_GetCellAlignment(*args, **kwargs)
 
     def GetDefaultCellOverflow(*args, **kwargs):
         return _grid.Grid_GetCellAlignment(*args, **kwargs)
 
     def GetDefaultCellOverflow(*args, **kwargs):
@@ -1717,6 +1702,18 @@ class Grid(_windows.ScrolledWindow):
         """SetColSize(self, int col, int width)"""
         return _grid.Grid_SetColSize(*args, **kwargs)
 
         """SetColSize(self, int col, int width)"""
         return _grid.Grid_SetColSize(*args, **kwargs)
 
+    def GetColAt(*args, **kwargs):
+        """GetColAt(self, int colPos) -> int"""
+        return _grid.Grid_GetColAt(*args, **kwargs)
+
+    def SetColPos(*args, **kwargs):
+        """SetColPos(self, int colID, int newPos)"""
+        return _grid.Grid_SetColPos(*args, **kwargs)
+
+    def GetColPos(*args, **kwargs):
+        """GetColPos(self, int colID) -> int"""
+        return _grid.Grid_GetColPos(*args, **kwargs)
+
     def AutoSizeColumn(*args, **kwargs):
         """AutoSizeColumn(self, int col, bool setAsMin=True)"""
         return _grid.Grid_AutoSizeColumn(*args, **kwargs)
     def AutoSizeColumn(*args, **kwargs):
         """AutoSizeColumn(self, int col, bool setAsMin=True)"""
         return _grid.Grid_AutoSizeColumn(*args, **kwargs)
@@ -1770,27 +1767,27 @@ class Grid(_windows.ScrolledWindow):
         return _grid.Grid_GetRowMinimalAcceptableHeight(*args, **kwargs)
 
     def SetDefaultCellBackgroundColour(*args, **kwargs):
         return _grid.Grid_GetRowMinimalAcceptableHeight(*args, **kwargs)
 
     def SetDefaultCellBackgroundColour(*args, **kwargs):
-        """SetDefaultCellBackgroundColour(self, Colour ??)"""
+        """SetDefaultCellBackgroundColour(self, Colour ?)"""
         return _grid.Grid_SetDefaultCellBackgroundColour(*args, **kwargs)
 
     def SetCellBackgroundColour(*args, **kwargs):
         return _grid.Grid_SetDefaultCellBackgroundColour(*args, **kwargs)
 
     def SetCellBackgroundColour(*args, **kwargs):
-        """SetCellBackgroundColour(self, int row, int col, Colour ??)"""
+        """SetCellBackgroundColour(self, int row, int col, Colour ?)"""
         return _grid.Grid_SetCellBackgroundColour(*args, **kwargs)
 
     def SetDefaultCellTextColour(*args, **kwargs):
         return _grid.Grid_SetCellBackgroundColour(*args, **kwargs)
 
     def SetDefaultCellTextColour(*args, **kwargs):
-        """SetDefaultCellTextColour(self, Colour ??)"""
+        """SetDefaultCellTextColour(self, Colour ?)"""
         return _grid.Grid_SetDefaultCellTextColour(*args, **kwargs)
 
     def SetCellTextColour(*args, **kwargs):
         return _grid.Grid_SetDefaultCellTextColour(*args, **kwargs)
 
     def SetCellTextColour(*args, **kwargs):
-        """SetCellTextColour(self, int row, int col, Colour ??)"""
+        """SetCellTextColour(self, int row, int col, Colour ?)"""
         return _grid.Grid_SetCellTextColour(*args, **kwargs)
 
     def SetDefaultCellFont(*args, **kwargs):
         return _grid.Grid_SetCellTextColour(*args, **kwargs)
 
     def SetDefaultCellFont(*args, **kwargs):
-        """SetDefaultCellFont(self, Font ??)"""
+        """SetDefaultCellFont(self, Font ?)"""
         return _grid.Grid_SetDefaultCellFont(*args, **kwargs)
 
     def SetCellFont(*args, **kwargs):
         return _grid.Grid_SetDefaultCellFont(*args, **kwargs)
 
     def SetCellFont(*args, **kwargs):
-        """SetCellFont(self, int row, int col, Font ??)"""
+        """SetCellFont(self, int row, int col, Font ?)"""
         return _grid.Grid_SetCellFont(*args, **kwargs)
 
     def SetDefaultCellAlignment(*args, **kwargs):
         return _grid.Grid_SetCellFont(*args, **kwargs)
 
     def SetDefaultCellAlignment(*args, **kwargs):
@@ -1984,6 +1981,30 @@ class Grid(_windows.ScrolledWindow):
         """GetGridCornerLabelWindow(self) -> Window"""
         return _grid.Grid_GetGridCornerLabelWindow(*args, **kwargs)
 
         """GetGridCornerLabelWindow(self) -> Window"""
         return _grid.Grid_GetGridCornerLabelWindow(*args, **kwargs)
 
+    def SetScrollLineX(*args, **kwargs):
+        """SetScrollLineX(self, int x)"""
+        return _grid.Grid_SetScrollLineX(*args, **kwargs)
+
+    def SetScrollLineY(*args, **kwargs):
+        """SetScrollLineY(self, int y)"""
+        return _grid.Grid_SetScrollLineY(*args, **kwargs)
+
+    def GetScrollLineX(*args, **kwargs):
+        """GetScrollLineX(self) -> int"""
+        return _grid.Grid_GetScrollLineX(*args, **kwargs)
+
+    def GetScrollLineY(*args, **kwargs):
+        """GetScrollLineY(self) -> int"""
+        return _grid.Grid_GetScrollLineY(*args, **kwargs)
+
+    def GetScrollX(*args, **kwargs):
+        """GetScrollX(self, int x) -> int"""
+        return _grid.Grid_GetScrollX(*args, **kwargs)
+
+    def GetScrollY(*args, **kwargs):
+        """GetScrollY(self, int y) -> int"""
+        return _grid.Grid_GetScrollY(*args, **kwargs)
+
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -1991,54 +2012,100 @@ class Grid(_windows.ScrolledWindow):
         Get the default attributes for this class.  This is useful if you want
         to use the same font or colour in your own control as in a standard
         control -- which is a much better idea than hard coding specific
         Get the default attributes for this class.  This is useful if you want
         to use the same font or colour in your own control as in a standard
         control -- which is a much better idea than hard coding specific
-        colours or fonts which might look completely out of place on the users
-        system, especially if it uses themes.
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
 
         The variant parameter is only relevant under Mac currently and is
         ignore under other platforms. Under Mac, it will change the size of
 
         The variant parameter is only relevant under Mac currently and is
         ignore under other platforms. Under Mac, it will change the size of
-        the returned font. See SetWindowVariant for more about this.
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
         """
         return _grid.Grid_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
         """
         return _grid.Grid_GetClassDefaultAttributes(*args, **kwargs)
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
-
-class GridPtr(Grid):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = Grid
-_grid.Grid_swigregister(GridPtr)
+    BatchCount = property(GetBatchCount,doc="See `GetBatchCount`") 
+    CellHighlightColour = property(GetCellHighlightColour,SetCellHighlightColour,doc="See `GetCellHighlightColour` and `SetCellHighlightColour`") 
+    CellHighlightPenWidth = property(GetCellHighlightPenWidth,SetCellHighlightPenWidth,doc="See `GetCellHighlightPenWidth` and `SetCellHighlightPenWidth`") 
+    CellHighlightROPenWidth = property(GetCellHighlightROPenWidth,SetCellHighlightROPenWidth,doc="See `GetCellHighlightROPenWidth` and `SetCellHighlightROPenWidth`") 
+    CellSize = property(GetCellSize,SetCellSize,doc="See `GetCellSize` and `SetCellSize`") 
+    ColLabelAlignment = property(GetColLabelAlignment,SetColLabelAlignment,doc="See `GetColLabelAlignment` and `SetColLabelAlignment`") 
+    ColLabelSize = property(GetColLabelSize,SetColLabelSize,doc="See `GetColLabelSize` and `SetColLabelSize`") 
+    ColLabelTextOrientation = property(GetColLabelTextOrientation,SetColLabelTextOrientation,doc="See `GetColLabelTextOrientation` and `SetColLabelTextOrientation`") 
+    ColMinimalAcceptableWidth = property(GetColMinimalAcceptableWidth,SetColMinimalAcceptableWidth,doc="See `GetColMinimalAcceptableWidth` and `SetColMinimalAcceptableWidth`") 
+    DefaultCellAlignment = property(GetDefaultCellAlignment,SetDefaultCellAlignment,doc="See `GetDefaultCellAlignment` and `SetDefaultCellAlignment`") 
+    DefaultCellBackgroundColour = property(GetDefaultCellBackgroundColour,SetDefaultCellBackgroundColour,doc="See `GetDefaultCellBackgroundColour` and `SetDefaultCellBackgroundColour`") 
+    DefaultCellFont = property(GetDefaultCellFont,SetDefaultCellFont,doc="See `GetDefaultCellFont` and `SetDefaultCellFont`") 
+    DefaultCellOverflow = property(GetDefaultCellOverflow,SetDefaultCellOverflow,doc="See `GetDefaultCellOverflow` and `SetDefaultCellOverflow`") 
+    DefaultCellTextColour = property(GetDefaultCellTextColour,SetDefaultCellTextColour,doc="See `GetDefaultCellTextColour` and `SetDefaultCellTextColour`") 
+    DefaultColLabelSize = property(GetDefaultColLabelSize,doc="See `GetDefaultColLabelSize`") 
+    DefaultColSize = property(GetDefaultColSize,SetDefaultColSize,doc="See `GetDefaultColSize` and `SetDefaultColSize`") 
+    DefaultEditor = property(GetDefaultEditor,SetDefaultEditor,doc="See `GetDefaultEditor` and `SetDefaultEditor`") 
+    DefaultGridLinePen = property(GetDefaultGridLinePen,doc="See `GetDefaultGridLinePen`") 
+    DefaultRenderer = property(GetDefaultRenderer,SetDefaultRenderer,doc="See `GetDefaultRenderer` and `SetDefaultRenderer`") 
+    DefaultRowLabelSize = property(GetDefaultRowLabelSize,doc="See `GetDefaultRowLabelSize`") 
+    DefaultRowSize = property(GetDefaultRowSize,SetDefaultRowSize,doc="See `GetDefaultRowSize` and `SetDefaultRowSize`") 
+    GridColLabelWindow = property(GetGridColLabelWindow,doc="See `GetGridColLabelWindow`") 
+    GridCornerLabelWindow = property(GetGridCornerLabelWindow,doc="See `GetGridCornerLabelWindow`") 
+    GridCursorCol = property(GetGridCursorCol,doc="See `GetGridCursorCol`") 
+    GridCursorRow = property(GetGridCursorRow,doc="See `GetGridCursorRow`") 
+    GridLineColour = property(GetGridLineColour,SetGridLineColour,doc="See `GetGridLineColour` and `SetGridLineColour`") 
+    GridRowLabelWindow = property(GetGridRowLabelWindow,doc="See `GetGridRowLabelWindow`") 
+    GridWindow = property(GetGridWindow,doc="See `GetGridWindow`") 
+    LabelBackgroundColour = property(GetLabelBackgroundColour,SetLabelBackgroundColour,doc="See `GetLabelBackgroundColour` and `SetLabelBackgroundColour`") 
+    LabelFont = property(GetLabelFont,SetLabelFont,doc="See `GetLabelFont` and `SetLabelFont`") 
+    LabelTextColour = property(GetLabelTextColour,SetLabelTextColour,doc="See `GetLabelTextColour` and `SetLabelTextColour`") 
+    NumberCols = property(GetNumberCols,doc="See `GetNumberCols`") 
+    NumberRows = property(GetNumberRows,doc="See `GetNumberRows`") 
+    RowLabelAlignment = property(GetRowLabelAlignment,SetRowLabelAlignment,doc="See `GetRowLabelAlignment` and `SetRowLabelAlignment`") 
+    RowLabelSize = property(GetRowLabelSize,SetRowLabelSize,doc="See `GetRowLabelSize` and `SetRowLabelSize`") 
+    RowMinimalAcceptableHeight = property(GetRowMinimalAcceptableHeight,SetRowMinimalAcceptableHeight,doc="See `GetRowMinimalAcceptableHeight` and `SetRowMinimalAcceptableHeight`") 
+    ScrollLineX = property(GetScrollLineX,SetScrollLineX,doc="See `GetScrollLineX` and `SetScrollLineX`") 
+    ScrollLineY = property(GetScrollLineY,SetScrollLineY,doc="See `GetScrollLineY` and `SetScrollLineY`") 
+    SelectedCells = property(GetSelectedCells,doc="See `GetSelectedCells`") 
+    SelectedCols = property(GetSelectedCols,doc="See `GetSelectedCols`") 
+    SelectedRows = property(GetSelectedRows,doc="See `GetSelectedRows`") 
+    SelectionBackground = property(GetSelectionBackground,SetSelectionBackground,doc="See `GetSelectionBackground` and `SetSelectionBackground`") 
+    SelectionBlockBottomRight = property(GetSelectionBlockBottomRight,doc="See `GetSelectionBlockBottomRight`") 
+    SelectionBlockTopLeft = property(GetSelectionBlockTopLeft,doc="See `GetSelectionBlockTopLeft`") 
+    SelectionForeground = property(GetSelectionForeground,SetSelectionForeground,doc="See `GetSelectionForeground` and `SetSelectionForeground`") 
+    SelectionMode = property(GetSelectionMode,SetSelectionMode,doc="See `GetSelectionMode` and `SetSelectionMode`") 
+    Table = property(GetTable,SetTable,doc="See `GetTable` and `SetTable`") 
+_grid.Grid_swigregister(Grid)
+
+def PreGrid(*args, **kwargs):
+    """PreGrid() -> Grid"""
+    val = _grid.new_PreGrid(*args, **kwargs)
+    return val
 
 def Grid_GetClassDefaultAttributes(*args, **kwargs):
 
 def Grid_GetClassDefaultAttributes(*args, **kwargs):
-    """
+  """
     Grid_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     to use the same font or colour in your own control as in a standard
     control -- which is a much better idea than hard coding specific
     Grid_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
 
     Get the default attributes for this class.  This is useful if you want
     to use the same font or colour in your own control as in a standard
     control -- which is a much better idea than hard coding specific
-    colours or fonts which might look completely out of place on the users
-    system, especially if it uses themes.
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
 
     The variant parameter is only relevant under Mac currently and is
     ignore under other platforms. Under Mac, it will change the size of
 
     The variant parameter is only relevant under Mac currently and is
     ignore under other platforms. Under Mac, it will change the size of
-    the returned font. See SetWindowVariant for more about this.
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
     """
     """
-    return _grid.Grid_GetClassDefaultAttributes(*args, **kwargs)
+  return _grid.Grid_GetClassDefaultAttributes(*args, **kwargs)
 
 class GridEvent(_core.NotifyEvent):
 
 class GridEvent(_core.NotifyEvent):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, int id, wxEventType type, Grid obj, int row=-1, int col=-1, 
+        __init__(self, int id, EventType type, Grid obj, int row=-1, int col=-1, 
             int x=-1, int y=-1, bool sel=True, bool control=False, 
             bool shift=False, bool alt=False, 
             bool meta=False) -> GridEvent
         """
             int x=-1, int y=-1, bool sel=True, bool control=False, 
             bool shift=False, bool alt=False, 
             bool meta=False) -> GridEvent
         """
-        newobj = _grid.new_GridEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridEvent_swiginit(self,_grid.new_GridEvent(*args, **kwargs))
     def GetRow(*args, **kwargs):
         """GetRow(self) -> int"""
         return _grid.GridEvent_GetRow(*args, **kwargs)
     def GetRow(*args, **kwargs):
         """GetRow(self) -> int"""
         return _grid.GridEvent_GetRow(*args, **kwargs)
@@ -2071,27 +2138,26 @@ class GridEvent(_core.NotifyEvent):
         """AltDown(self) -> bool"""
         return _grid.GridEvent_AltDown(*args, **kwargs)
 
         """AltDown(self) -> bool"""
         return _grid.GridEvent_AltDown(*args, **kwargs)
 
+    def CmdDown(*args, **kwargs):
+        """CmdDown(self) -> bool"""
+        return _grid.GridEvent_CmdDown(*args, **kwargs)
 
 
-class GridEventPtr(GridEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridEvent
-_grid.GridEvent_swigregister(GridEventPtr)
+    Col = property(GetCol,doc="See `GetCol`") 
+    Position = property(GetPosition,doc="See `GetPosition`") 
+    Row = property(GetRow,doc="See `GetRow`") 
+_grid.GridEvent_swigregister(GridEvent)
 
 class GridSizeEvent(_core.NotifyEvent):
 
 class GridSizeEvent(_core.NotifyEvent):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridSizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridSizeEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, int id, wxEventType type, Grid obj, int rowOrCol=-1, 
+        __init__(self, int id, EventType type, Grid obj, int rowOrCol=-1, 
             int x=-1, int y=-1, bool control=False, bool shift=False, 
             bool alt=False, bool meta=False) -> GridSizeEvent
         """
             int x=-1, int y=-1, bool control=False, bool shift=False, 
             bool alt=False, bool meta=False) -> GridSizeEvent
         """
-        newobj = _grid.new_GridSizeEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridSizeEvent_swiginit(self,_grid.new_GridSizeEvent(*args, **kwargs))
     def GetRowOrCol(*args, **kwargs):
         """GetRowOrCol(self) -> int"""
         return _grid.GridSizeEvent_GetRowOrCol(*args, **kwargs)
     def GetRowOrCol(*args, **kwargs):
         """GetRowOrCol(self) -> int"""
         return _grid.GridSizeEvent_GetRowOrCol(*args, **kwargs)
@@ -2116,28 +2182,26 @@ class GridSizeEvent(_core.NotifyEvent):
         """AltDown(self) -> bool"""
         return _grid.GridSizeEvent_AltDown(*args, **kwargs)
 
         """AltDown(self) -> bool"""
         return _grid.GridSizeEvent_AltDown(*args, **kwargs)
 
+    def CmdDown(*args, **kwargs):
+        """CmdDown(self) -> bool"""
+        return _grid.GridSizeEvent_CmdDown(*args, **kwargs)
 
 
-class GridSizeEventPtr(GridSizeEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridSizeEvent
-_grid.GridSizeEvent_swigregister(GridSizeEventPtr)
+    Position = property(GetPosition,doc="See `GetPosition`") 
+    RowOrCol = property(GetRowOrCol,doc="See `GetRowOrCol`") 
+_grid.GridSizeEvent_swigregister(GridSizeEvent)
 
 class GridRangeSelectEvent(_core.NotifyEvent):
 
 class GridRangeSelectEvent(_core.NotifyEvent):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridRangeSelectEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridRangeSelectEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, int id, wxEventType type, Grid obj, GridCellCoords topLeft, 
+        __init__(self, int id, EventType type, Grid obj, GridCellCoords topLeft, 
             GridCellCoords bottomRight, bool sel=True, 
             GridCellCoords bottomRight, bool sel=True, 
-            bool control=False, bool shift=False, 
-            bool alt=False, bool meta=False) -> GridRangeSelectEvent
+            bool control=False, bool shift=False, bool alt=False, 
+            bool meta=False) -> GridRangeSelectEvent
         """
         """
-        newobj = _grid.new_GridRangeSelectEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridRangeSelectEvent_swiginit(self,_grid.new_GridRangeSelectEvent(*args, **kwargs))
     def GetTopLeftCoords(*args, **kwargs):
         """GetTopLeftCoords(self) -> GridCellCoords"""
         return _grid.GridRangeSelectEvent_GetTopLeftCoords(*args, **kwargs)
     def GetTopLeftCoords(*args, **kwargs):
         """GetTopLeftCoords(self) -> GridCellCoords"""
         return _grid.GridRangeSelectEvent_GetTopLeftCoords(*args, **kwargs)
@@ -2182,26 +2246,28 @@ class GridRangeSelectEvent(_core.NotifyEvent):
         """AltDown(self) -> bool"""
         return _grid.GridRangeSelectEvent_AltDown(*args, **kwargs)
 
         """AltDown(self) -> bool"""
         return _grid.GridRangeSelectEvent_AltDown(*args, **kwargs)
 
+    def CmdDown(*args, **kwargs):
+        """CmdDown(self) -> bool"""
+        return _grid.GridRangeSelectEvent_CmdDown(*args, **kwargs)
 
 
-class GridRangeSelectEventPtr(GridRangeSelectEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridRangeSelectEvent
-_grid.GridRangeSelectEvent_swigregister(GridRangeSelectEventPtr)
+    BottomRightCoords = property(GetBottomRightCoords,doc="See `GetBottomRightCoords`") 
+    BottomRow = property(GetBottomRow,doc="See `GetBottomRow`") 
+    LeftCol = property(GetLeftCol,doc="See `GetLeftCol`") 
+    RightCol = property(GetRightCol,doc="See `GetRightCol`") 
+    TopLeftCoords = property(GetTopLeftCoords,doc="See `GetTopLeftCoords`") 
+    TopRow = property(GetTopRow,doc="See `GetTopRow`") 
+_grid.GridRangeSelectEvent_swigregister(GridRangeSelectEvent)
 
 class GridEditorCreatedEvent(_core.CommandEvent):
 
 class GridEditorCreatedEvent(_core.CommandEvent):
-    def __repr__(self):
-        return "<%s.%s; proxy of C++ wxGridEditorCreatedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
-    def __init__(self, *args, **kwargs):
+    """Proxy of C++ GridEditorCreatedEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
         """
         """
-        __init__(self, int id, wxEventType type, Object obj, int row, int col, 
+        __init__(self, int id, EventType type, Object obj, int row, int col, 
             Control ctrl) -> GridEditorCreatedEvent
         """
             Control ctrl) -> GridEditorCreatedEvent
         """
-        newobj = _grid.new_GridEditorCreatedEvent(*args, **kwargs)
-        self.this = newobj.this
-        self.thisown = 1
-        del newobj.thisown
+        _grid.GridEditorCreatedEvent_swiginit(self,_grid.new_GridEditorCreatedEvent(*args, **kwargs))
     def GetRow(*args, **kwargs):
         """GetRow(self) -> int"""
         return _grid.GridEditorCreatedEvent_GetRow(*args, **kwargs)
     def GetRow(*args, **kwargs):
         """GetRow(self) -> int"""
         return _grid.GridEditorCreatedEvent_GetRow(*args, **kwargs)
@@ -2226,13 +2292,10 @@ class GridEditorCreatedEvent(_core.CommandEvent):
         """SetControl(self, Control ctrl)"""
         return _grid.GridEditorCreatedEvent_SetControl(*args, **kwargs)
 
         """SetControl(self, Control ctrl)"""
         return _grid.GridEditorCreatedEvent_SetControl(*args, **kwargs)
 
-
-class GridEditorCreatedEventPtr(GridEditorCreatedEvent):
-    def __init__(self, this):
-        self.this = this
-        if not hasattr(self,"thisown"): self.thisown = 0
-        self.__class__ = GridEditorCreatedEvent
-_grid.GridEditorCreatedEvent_swigregister(GridEditorCreatedEventPtr)
+    Col = property(GetCol,SetCol,doc="See `GetCol` and `SetCol`") 
+    Control = property(GetControl,SetControl,doc="See `GetControl` and `SetControl`") 
+    Row = property(GetRow,SetRow,doc="See `GetRow` and `SetRow`") 
+_grid.GridEditorCreatedEvent_swigregister(GridEditorCreatedEvent)
 
 wxEVT_GRID_CELL_LEFT_CLICK = _grid.wxEVT_GRID_CELL_LEFT_CLICK
 wxEVT_GRID_CELL_RIGHT_CLICK = _grid.wxEVT_GRID_CELL_RIGHT_CLICK
 
 wxEVT_GRID_CELL_LEFT_CLICK = _grid.wxEVT_GRID_CELL_LEFT_CLICK
 wxEVT_GRID_CELL_RIGHT_CLICK = _grid.wxEVT_GRID_CELL_RIGHT_CLICK
@@ -2250,6 +2313,7 @@ wxEVT_GRID_SELECT_CELL = _grid.wxEVT_GRID_SELECT_CELL
 wxEVT_GRID_EDITOR_SHOWN = _grid.wxEVT_GRID_EDITOR_SHOWN
 wxEVT_GRID_EDITOR_HIDDEN = _grid.wxEVT_GRID_EDITOR_HIDDEN
 wxEVT_GRID_EDITOR_CREATED = _grid.wxEVT_GRID_EDITOR_CREATED
 wxEVT_GRID_EDITOR_SHOWN = _grid.wxEVT_GRID_EDITOR_SHOWN
 wxEVT_GRID_EDITOR_HIDDEN = _grid.wxEVT_GRID_EDITOR_HIDDEN
 wxEVT_GRID_EDITOR_CREATED = _grid.wxEVT_GRID_EDITOR_CREATED
+wxEVT_GRID_CELL_BEGIN_DRAG = _grid.wxEVT_GRID_CELL_BEGIN_DRAG
 EVT_GRID_CELL_LEFT_CLICK = wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_CLICK )
 EVT_GRID_CELL_RIGHT_CLICK = wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_CLICK )
 EVT_GRID_CELL_LEFT_DCLICK = wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_DCLICK )
 EVT_GRID_CELL_LEFT_CLICK = wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_CLICK )
 EVT_GRID_CELL_RIGHT_CLICK = wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_CLICK )
 EVT_GRID_CELL_LEFT_DCLICK = wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_DCLICK )
@@ -2266,5 +2330,28 @@ EVT_GRID_SELECT_CELL = wx.PyEventBinder( wxEVT_GRID_SELECT_CELL )
 EVT_GRID_EDITOR_SHOWN = wx.PyEventBinder( wxEVT_GRID_EDITOR_SHOWN )
 EVT_GRID_EDITOR_HIDDEN = wx.PyEventBinder( wxEVT_GRID_EDITOR_HIDDEN )
 EVT_GRID_EDITOR_CREATED = wx.PyEventBinder( wxEVT_GRID_EDITOR_CREATED )
 EVT_GRID_EDITOR_SHOWN = wx.PyEventBinder( wxEVT_GRID_EDITOR_SHOWN )
 EVT_GRID_EDITOR_HIDDEN = wx.PyEventBinder( wxEVT_GRID_EDITOR_HIDDEN )
 EVT_GRID_EDITOR_CREATED = wx.PyEventBinder( wxEVT_GRID_EDITOR_CREATED )
+EVT_GRID_CELL_BEGIN_DRAG = wx.PyEventBinder( wxEVT_GRID_CELL_BEGIN_DRAG )
+
+
+# The same as above but with the ability to specify an identifier
+EVT_GRID_CMD_CELL_LEFT_CLICK =     wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_CLICK,    1 )
+EVT_GRID_CMD_CELL_RIGHT_CLICK =    wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_CLICK,   1 )
+EVT_GRID_CMD_CELL_LEFT_DCLICK =    wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_DCLICK,   1 )
+EVT_GRID_CMD_CELL_RIGHT_DCLICK =   wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_DCLICK,  1 )
+EVT_GRID_CMD_LABEL_LEFT_CLICK =    wx.PyEventBinder( wxEVT_GRID_LABEL_LEFT_CLICK,   1 )
+EVT_GRID_CMD_LABEL_RIGHT_CLICK =   wx.PyEventBinder( wxEVT_GRID_LABEL_RIGHT_CLICK,  1 )
+EVT_GRID_CMD_LABEL_LEFT_DCLICK =   wx.PyEventBinder( wxEVT_GRID_LABEL_LEFT_DCLICK,  1 )
+EVT_GRID_CMD_LABEL_RIGHT_DCLICK =  wx.PyEventBinder( wxEVT_GRID_LABEL_RIGHT_DCLICK, 1 )
+EVT_GRID_CMD_ROW_SIZE =            wx.PyEventBinder( wxEVT_GRID_ROW_SIZE,           1 )
+EVT_GRID_CMD_COL_SIZE =            wx.PyEventBinder( wxEVT_GRID_COL_SIZE,           1 )
+EVT_GRID_CMD_RANGE_SELECT =        wx.PyEventBinder( wxEVT_GRID_RANGE_SELECT,       1 )
+EVT_GRID_CMD_CELL_CHANGE =         wx.PyEventBinder( wxEVT_GRID_CELL_CHANGE,        1 )
+EVT_GRID_CMD_SELECT_CELL =         wx.PyEventBinder( wxEVT_GRID_SELECT_CELL,        1 )
+EVT_GRID_CMD_EDITOR_SHOWN =        wx.PyEventBinder( wxEVT_GRID_EDITOR_SHOWN,       1 )
+EVT_GRID_CMD_EDITOR_HIDDEN =       wx.PyEventBinder( wxEVT_GRID_EDITOR_HIDDEN,      1 )
+EVT_GRID_CMD_EDITOR_CREATED =      wx.PyEventBinder( wxEVT_GRID_EDITOR_CREATED,     1 )
+EVT_GRID_CMD_CELL_BEGIN_DRAG =     wx.PyEventBinder( wxEVT_GRID_CELL_BEGIN_DRAG,    1 )
+    
+