]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/grid.py
Added some more docstrings, and also a few little tweaks along the way.
[wxWidgets.git] / wxPython / src / msw / grid.py
index d45de410e552069cfbcb89c7a3085070a8a197ec..2041b17b10a308444cc85b7234ba46f36c702695 100644 (file)
 # This file was created automatically by SWIG.
-import gridc
+# Don't modify this file, modify the SWIG interface instead.
+
+import _grid
+
+import windows
+import core
+wx = core 
+GRID_VALUE_STRING = _grid.GRID_VALUE_STRING
+GRID_VALUE_BOOL = _grid.GRID_VALUE_BOOL
+GRID_VALUE_NUMBER = _grid.GRID_VALUE_NUMBER
+GRID_VALUE_FLOAT = _grid.GRID_VALUE_FLOAT
+GRID_VALUE_CHOICE = _grid.GRID_VALUE_CHOICE
+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
+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,)
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _grid.GridCellRenderer__setOORInfo(*args, **kwargs)
 
-from misc import *
+    def SetParameters(*args, **kwargs):
+        """SetParameters(String params)"""
+        return _grid.GridCellRenderer_SetParameters(*args, **kwargs)
 
-from gdi import *
+    def IncRef(*args, **kwargs):
+        """IncRef()"""
+        return _grid.GridCellRenderer_IncRef(*args, **kwargs)
 
-from windows import *
+    def DecRef(*args, **kwargs):
+        """DecRef()"""
+        return _grid.GridCellRenderer_DecRef(*args, **kwargs)
 
-from clip_dnd import *
+    def Draw(*args, **kwargs):
+        """
+        Draw(Grid grid, GridCellAttr attr, DC dc, Rect rect, int row, 
+            int col, bool isSelected)
+        """
+        return _grid.GridCellRenderer_Draw(*args, **kwargs)
 
-from controls import *
+    def GetBestSize(*args, **kwargs):
+        """GetBestSize(Grid grid, GridCellAttr attr, DC dc, int row, int col) -> Size"""
+        return _grid.GridCellRenderer_GetBestSize(*args, **kwargs)
 
-from events import *
-import wx
+    def Clone(*args, **kwargs):
+        """Clone() -> GridCellRenderer"""
+        return _grid.GridCellRenderer_Clone(*args, **kwargs)
 
-def EVT_GRID_CELL_LEFT_CLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_CELL_LEFT_CLICK, fn)
 
-def EVT_GRID_CELL_RIGHT_CLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_CELL_RIGHT_CLICK, fn)
+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
+
+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):
+        """__init__() -> PyGridCellRenderer"""
+        newobj = _grid.new_PyGridCellRenderer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setCallbackInfo(self, PyGridCellRenderer);self._setOORInfo(self)
 
-def EVT_GRID_CELL_LEFT_DCLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_CELL_LEFT_DCLICK, fn)
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _grid.PyGridCellRenderer__setCallbackInfo(*args, **kwargs)
 
-def EVT_GRID_CELL_RIGHT_DCLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_CELL_RIGHT_DCLICK, fn)
+    def base_SetParameters(*args, **kwargs):
+        """base_SetParameters(String params)"""
+        return _grid.PyGridCellRenderer_base_SetParameters(*args, **kwargs)
 
-def EVT_GRID_LABEL_LEFT_CLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_LABEL_LEFT_CLICK, fn)
 
-def EVT_GRID_LABEL_RIGHT_CLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_LABEL_RIGHT_CLICK, fn)
+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)
 
-def EVT_GRID_LABEL_LEFT_DCLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_LABEL_LEFT_DCLICK, fn)
+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):
+        """__init__() -> GridCellStringRenderer"""
+        newobj = _grid.new_GridCellStringRenderer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
-def EVT_GRID_LABEL_RIGHT_DCLICK(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_LABEL_RIGHT_DCLICK, fn)
 
-def EVT_GRID_ROW_SIZE(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_ROW_SIZE, fn)
+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)
 
-def EVT_GRID_COL_SIZE(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_COL_SIZE, fn)
+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):
+        """__init__() -> GridCellNumberRenderer"""
+        newobj = _grid.new_GridCellNumberRenderer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
-def EVT_GRID_RANGE_SELECT(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_RANGE_SELECT, fn)
 
-def EVT_GRID_CELL_CHANGE(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_CELL_CHANGE, fn)
+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)
 
-def EVT_GRID_SELECT_CELL(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_SELECT_CELL, fn)
+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):
+        """__init__(int width=-1, int precision=-1) -> GridCellFloatRenderer"""
+        newobj = _grid.new_GridCellFloatRenderer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def GetWidth(*args, **kwargs):
+        """GetWidth() -> int"""
+        return _grid.GridCellFloatRenderer_GetWidth(*args, **kwargs)
+
+    def SetWidth(*args, **kwargs):
+        """SetWidth(int width)"""
+        return _grid.GridCellFloatRenderer_SetWidth(*args, **kwargs)
 
-def EVT_GRID_EDITOR_SHOWN(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_EDITOR_SHOWN, fn)
+    def GetPrecision(*args, **kwargs):
+        """GetPrecision() -> int"""
+        return _grid.GridCellFloatRenderer_GetPrecision(*args, **kwargs)
 
-def EVT_GRID_EDITOR_HIDDEN(win, fn):
-    win.Connect(-1, -1, wxEVT_GRID_EDITOR_HIDDEN, fn)
+    def SetPrecision(*args, **kwargs):
+        """SetPrecision(int precision)"""
+        return _grid.GridCellFloatRenderer_SetPrecision(*args, **kwargs)
 
 
-class wxGridCellRendererPtr :
-    def __init__(self,this):
+class GridCellFloatRendererPtr(GridCellFloatRenderer):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def SetParameters(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellRenderer_SetParameters,(self,) + _args, _kwargs)
-        return val
-    def IncRef(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellRenderer_IncRef,(self,) + _args, _kwargs)
-        return val
-    def DecRef(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellRenderer_DecRef,(self,) + _args, _kwargs)
-        return val
-    def Draw(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellRenderer_Draw,(self,) + _args, _kwargs)
-        return val
-    def GetBestSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellRenderer_GetBestSize,(self,) + _args, _kwargs)
-        if val: val = wxSizePtr(val) ; val.thisown = 1
-        return val
-    def Clone(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellRenderer_Clone,(self,) + _args, _kwargs)
-        if val: val = wxGridCellRendererPtr(val) 
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellFloatRenderer
+_grid.GridCellFloatRenderer_swigregister(GridCellFloatRendererPtr)
+
+class GridCellBoolRenderer(GridCellRenderer):
     def __repr__(self):
-        return "<C wxGridCellRenderer instance at %s>" % (self.this,)
-class wxGridCellRenderer(wxGridCellRendererPtr):
-    def __init__(self,this):
-        self.this = this
+        return "<%s.%s; proxy of C++ wxGridCellBoolRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> GridCellBoolRenderer"""
+        newobj = _grid.new_GridCellBoolRenderer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        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)
 
+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__(String outformat=DateTimeFormatStr, String informat=DateTimeFormatStr) -> GridCellDateTimeRenderer"""
+        newobj = _grid.new_GridCellDateTimeRenderer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
-class wxPyGridCellRendererPtr(wxGridCellRendererPtr):
-    def __init__(self,this):
+
+class GridCellDateTimeRendererPtr(GridCellDateTimeRenderer):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellRenderer__setSelf,(self,) + _args, _kwargs)
-        return val
-    def base_SetParameters(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellRenderer_base_SetParameters,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellDateTimeRenderer
+_grid.GridCellDateTimeRenderer_swigregister(GridCellDateTimeRendererPtr)
+
+class GridCellEnumRenderer(GridCellStringRenderer):
     def __repr__(self):
-        return "<C wxPyGridCellRenderer instance at %s>" % (self.this,)
-class wxPyGridCellRenderer(wxPyGridCellRendererPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxPyGridCellRenderer,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellEnumRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(String choices=EmptyString) -> GridCellEnumRenderer"""
+        newobj = _grid.new_GridCellEnumRenderer(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
-        self._setSelf(self, wxPyGridCellRenderer)
+        del newobj.thisown
+        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)
+
+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):
+        """__init__() -> GridCellAutoWrapStringRenderer"""
+        newobj = _grid.new_GridCellAutoWrapStringRenderer(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
 
-class wxGridCellStringRendererPtr(wxGridCellRendererPtr):
-    def __init__(self,this):
+class GridCellAutoWrapStringRendererPtr(GridCellAutoWrapStringRenderer):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        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 "<C wxGridCellStringRenderer instance at %s>" % (self.this,)
-class wxGridCellStringRenderer(wxGridCellStringRendererPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellStringRenderer,_args,_kwargs)
-        self.thisown = 1
+        return "<%s.%s; proxy of C++ wxGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _grid.GridCellEditor__setOORInfo(*args, **kwargs)
 
+    def IsCreated(*args, **kwargs):
+        """IsCreated() -> bool"""
+        return _grid.GridCellEditor_IsCreated(*args, **kwargs)
 
+    def GetControl(*args, **kwargs):
+        """GetControl() -> Control"""
+        return _grid.GridCellEditor_GetControl(*args, **kwargs)
 
+    def SetControl(*args, **kwargs):
+        """SetControl(Control control)"""
+        return _grid.GridCellEditor_SetControl(*args, **kwargs)
 
-class wxGridCellNumberRendererPtr(wxGridCellStringRendererPtr):
-    def __init__(self,this):
-        self.this = this
-        self.thisown = 0
-    def __repr__(self):
-        return "<C wxGridCellNumberRenderer instance at %s>" % (self.this,)
-class wxGridCellNumberRenderer(wxGridCellNumberRendererPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellNumberRenderer,_args,_kwargs)
-        self.thisown = 1
+    def GetCellAttr(*args, **kwargs):
+        """GetCellAttr() -> GridCellAttr"""
+        return _grid.GridCellEditor_GetCellAttr(*args, **kwargs)
 
+    def SetCellAttr(*args, **kwargs):
+        """SetCellAttr(GridCellAttr attr)"""
+        return _grid.GridCellEditor_SetCellAttr(*args, **kwargs)
 
+    def SetParameters(*args, **kwargs):
+        """SetParameters(String params)"""
+        return _grid.GridCellEditor_SetParameters(*args, **kwargs)
 
+    def IncRef(*args, **kwargs):
+        """IncRef()"""
+        return _grid.GridCellEditor_IncRef(*args, **kwargs)
 
-class wxGridCellFloatRendererPtr(wxGridCellStringRendererPtr):
-    def __init__(self,this):
-        self.this = this
-        self.thisown = 0
-    def GetWidth(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellFloatRenderer_GetWidth,(self,) + _args, _kwargs)
-        return val
-    def SetWidth(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellFloatRenderer_SetWidth,(self,) + _args, _kwargs)
-        return val
-    def GetPrecision(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellFloatRenderer_GetPrecision,(self,) + _args, _kwargs)
-        return val
-    def SetPrecision(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellFloatRenderer_SetPrecision,(self,) + _args, _kwargs)
-        return val
-    def __repr__(self):
-        return "<C wxGridCellFloatRenderer instance at %s>" % (self.this,)
-class wxGridCellFloatRenderer(wxGridCellFloatRendererPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellFloatRenderer,_args,_kwargs)
-        self.thisown = 1
+    def DecRef(*args, **kwargs):
+        """DecRef()"""
+        return _grid.GridCellEditor_DecRef(*args, **kwargs)
+
+    def Create(*args, **kwargs):
+        """Create(Window parent, int id, EvtHandler evtHandler)"""
+        return _grid.GridCellEditor_Create(*args, **kwargs)
+
+    def BeginEdit(*args, **kwargs):
+        """BeginEdit(int row, int col, Grid grid)"""
+        return _grid.GridCellEditor_BeginEdit(*args, **kwargs)
+
+    def EndEdit(*args, **kwargs):
+        """EndEdit(int row, int col, Grid grid) -> bool"""
+        return _grid.GridCellEditor_EndEdit(*args, **kwargs)
+
+    def Reset(*args, **kwargs):
+        """Reset()"""
+        return _grid.GridCellEditor_Reset(*args, **kwargs)
+
+    def Clone(*args, **kwargs):
+        """Clone() -> GridCellEditor"""
+        return _grid.GridCellEditor_Clone(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(Rect rect)"""
+        return _grid.GridCellEditor_SetSize(*args, **kwargs)
+
+    def Show(*args, **kwargs):
+        """Show(bool show, GridCellAttr attr=None)"""
+        return _grid.GridCellEditor_Show(*args, **kwargs)
+
+    def PaintBackground(*args, **kwargs):
+        """PaintBackground(Rect rectCell, GridCellAttr attr)"""
+        return _grid.GridCellEditor_PaintBackground(*args, **kwargs)
+
+    def IsAcceptedKey(*args, **kwargs):
+        """IsAcceptedKey(KeyEvent event) -> bool"""
+        return _grid.GridCellEditor_IsAcceptedKey(*args, **kwargs)
+
+    def StartingKey(*args, **kwargs):
+        """StartingKey(KeyEvent event)"""
+        return _grid.GridCellEditor_StartingKey(*args, **kwargs)
+
+    def StartingClick(*args, **kwargs):
+        """StartingClick()"""
+        return _grid.GridCellEditor_StartingClick(*args, **kwargs)
 
+    def HandleReturn(*args, **kwargs):
+        """HandleReturn(KeyEvent event)"""
+        return _grid.GridCellEditor_HandleReturn(*args, **kwargs)
 
+    def Destroy(*args, **kwargs):
+        """Destroy()"""
+        return _grid.GridCellEditor_Destroy(*args, **kwargs)
 
 
-class wxGridCellBoolRendererPtr(wxGridCellRendererPtr):
-    def __init__(self,this):
+class GridCellEditorPtr(GridCellEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellEditor
+_grid.GridCellEditor_swigregister(GridCellEditorPtr)
+
+class PyGridCellEditor(GridCellEditor):
     def __repr__(self):
-        return "<C wxGridCellBoolRenderer instance at %s>" % (self.this,)
-class wxGridCellBoolRenderer(wxGridCellBoolRendererPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellBoolRenderer,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxPyGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyGridCellEditor"""
+        newobj = _grid.new_PyGridCellEditor(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setCallbackInfo(self, PyGridCellEditor);self._setOORInfo(self)
 
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _grid.PyGridCellEditor__setCallbackInfo(*args, **kwargs)
 
+    def base_SetSize(*args, **kwargs):
+        """base_SetSize(Rect rect)"""
+        return _grid.PyGridCellEditor_base_SetSize(*args, **kwargs)
 
+    def base_Show(*args, **kwargs):
+        """base_Show(bool show, GridCellAttr attr=None)"""
+        return _grid.PyGridCellEditor_base_Show(*args, **kwargs)
 
-class wxGridCellEditorPtr :
-    def __init__(self,this):
-        self.this = this
-        self.thisown = 0
-    def IsCreated(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_IsCreated,(self,) + _args, _kwargs)
-        return val
-    def GetControl(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_GetControl,(self,) + _args, _kwargs)
-        if val: val = wxControlPtr(val) 
-        return val
-    def SetControl(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_SetControl,(self,) + _args, _kwargs)
-        return val
-    def SetParameters(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_SetParameters,(self,) + _args, _kwargs)
-        return val
-    def IncRef(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_IncRef,(self,) + _args, _kwargs)
-        return val
-    def DecRef(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_DecRef,(self,) + _args, _kwargs)
-        return val
-    def Create(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_Create,(self,) + _args, _kwargs)
-        return val
-    def BeginEdit(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_BeginEdit,(self,) + _args, _kwargs)
-        return val
-    def EndEdit(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_EndEdit,(self,) + _args, _kwargs)
-        return val
-    def Reset(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_Reset,(self,) + _args, _kwargs)
-        return val
-    def Clone(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_Clone,(self,) + _args, _kwargs)
-        if val: val = wxGridCellEditorPtr(val) 
-        return val
-    def SetSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_SetSize,(self,) + _args, _kwargs)
-        return val
-    def Show(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_Show,(self,) + _args, _kwargs)
-        return val
-    def PaintBackground(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_PaintBackground,(self,) + _args, _kwargs)
-        return val
-    def IsAcceptedKey(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_IsAcceptedKey,(self,) + _args, _kwargs)
-        return val
-    def StartingKey(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_StartingKey,(self,) + _args, _kwargs)
-        return val
-    def StartingClick(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_StartingClick,(self,) + _args, _kwargs)
-        return val
-    def HandleReturn(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_HandleReturn,(self,) + _args, _kwargs)
-        return val
-    def Destroy(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellEditor_Destroy,(self,) + _args, _kwargs)
-        return val
-    def __repr__(self):
-        return "<C wxGridCellEditor instance at %s>" % (self.this,)
-class wxGridCellEditor(wxGridCellEditorPtr):
-    def __init__(self,this):
-        self.this = this
+    def base_PaintBackground(*args, **kwargs):
+        """base_PaintBackground(Rect rectCell, GridCellAttr attr)"""
+        return _grid.PyGridCellEditor_base_PaintBackground(*args, **kwargs)
+
+    def base_IsAcceptedKey(*args, **kwargs):
+        """base_IsAcceptedKey(KeyEvent event) -> bool"""
+        return _grid.PyGridCellEditor_base_IsAcceptedKey(*args, **kwargs)
+
+    def base_StartingKey(*args, **kwargs):
+        """base_StartingKey(KeyEvent event)"""
+        return _grid.PyGridCellEditor_base_StartingKey(*args, **kwargs)
 
+    def base_StartingClick(*args, **kwargs):
+        """base_StartingClick()"""
+        return _grid.PyGridCellEditor_base_StartingClick(*args, **kwargs)
 
+    def base_HandleReturn(*args, **kwargs):
+        """base_HandleReturn(KeyEvent event)"""
+        return _grid.PyGridCellEditor_base_HandleReturn(*args, **kwargs)
 
+    def base_Destroy(*args, **kwargs):
+        """base_Destroy()"""
+        return _grid.PyGridCellEditor_base_Destroy(*args, **kwargs)
 
-class wxPyGridCellEditorPtr(wxGridCellEditorPtr):
-    def __init__(self,this):
+    def base_SetParameters(*args, **kwargs):
+        """base_SetParameters(String params)"""
+        return _grid.PyGridCellEditor_base_SetParameters(*args, **kwargs)
+
+
+class PyGridCellEditorPtr(PyGridCellEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor__setSelf,(self,) + _args, _kwargs)
-        return val
-    def base_SetSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_SetSize,(self,) + _args, _kwargs)
-        return val
-    def base_Show(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_Show,(self,) + _args, _kwargs)
-        return val
-    def base_PaintBackground(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_PaintBackground,(self,) + _args, _kwargs)
-        return val
-    def base_StartingKey(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_StartingKey,(self,) + _args, _kwargs)
-        return val
-    def base_StartingClick(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_StartingClick,(self,) + _args, _kwargs)
-        return val
-    def base_HandleReturn(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_HandleReturn,(self,) + _args, _kwargs)
-        return val
-    def base_Destroy(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_Destroy,(self,) + _args, _kwargs)
-        return val
-    def base_SetParameters(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellEditor_base_SetParameters,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyGridCellEditor
+_grid.PyGridCellEditor_swigregister(PyGridCellEditorPtr)
+
+class GridCellTextEditor(GridCellEditor):
     def __repr__(self):
-        return "<C wxPyGridCellEditor instance at %s>" % (self.this,)
-class wxPyGridCellEditor(wxPyGridCellEditorPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxPyGridCellEditor,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellTextEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> GridCellTextEditor"""
+        newobj = _grid.new_GridCellTextEditor(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
-        self._setSelf(self, wxPyGridCellEditor)
+        del newobj.thisown
+        self._setOORInfo(self)
 
+    def GetValue(*args, **kwargs):
+        """GetValue() -> String"""
+        return _grid.GridCellTextEditor_GetValue(*args, **kwargs)
 
 
-
-class wxGridCellTextEditorPtr(wxGridCellEditorPtr):
-    def __init__(self,this):
+class GridCellTextEditorPtr(GridCellTextEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellTextEditor
+_grid.GridCellTextEditor_swigregister(GridCellTextEditorPtr)
+
+class GridCellNumberEditor(GridCellTextEditor):
     def __repr__(self):
-        return "<C wxGridCellTextEditor instance at %s>" % (self.this,)
-class wxGridCellTextEditor(wxGridCellTextEditorPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellTextEditor,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellNumberEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int min=-1, int max=-1) -> GridCellNumberEditor"""
+        newobj = _grid.new_GridCellNumberEditor(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
+    def GetValue(*args, **kwargs):
+        """GetValue() -> String"""
+        return _grid.GridCellNumberEditor_GetValue(*args, **kwargs)
 
 
-
-class wxGridCellNumberEditorPtr(wxGridCellTextEditorPtr):
-    def __init__(self,this):
+class GridCellNumberEditorPtr(GridCellNumberEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellNumberEditor
+_grid.GridCellNumberEditor_swigregister(GridCellNumberEditorPtr)
+
+class GridCellFloatEditor(GridCellTextEditor):
     def __repr__(self):
-        return "<C wxGridCellNumberEditor instance at %s>" % (self.this,)
-class wxGridCellNumberEditor(wxGridCellNumberEditorPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellNumberEditor,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellFloatEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> GridCellFloatEditor"""
+        newobj = _grid.new_GridCellFloatEditor(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
+    def GetValue(*args, **kwargs):
+        """GetValue() -> String"""
+        return _grid.GridCellFloatEditor_GetValue(*args, **kwargs)
 
 
-
-class wxGridCellFloatEditorPtr(wxGridCellTextEditorPtr):
-    def __init__(self,this):
+class GridCellFloatEditorPtr(GridCellFloatEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellFloatEditor
+_grid.GridCellFloatEditor_swigregister(GridCellFloatEditorPtr)
+
+class GridCellBoolEditor(GridCellEditor):
     def __repr__(self):
-        return "<C wxGridCellFloatEditor instance at %s>" % (self.this,)
-class wxGridCellFloatEditor(wxGridCellFloatEditorPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellFloatEditor,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellBoolEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> GridCellBoolEditor"""
+        newobj = _grid.new_GridCellBoolEditor(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
+    def GetValue(*args, **kwargs):
+        """GetValue() -> String"""
+        return _grid.GridCellBoolEditor_GetValue(*args, **kwargs)
 
 
-
-class wxGridCellBoolEditorPtr(wxGridCellEditorPtr):
-    def __init__(self,this):
+class GridCellBoolEditorPtr(GridCellBoolEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellBoolEditor
+_grid.GridCellBoolEditor_swigregister(GridCellBoolEditorPtr)
+
+class GridCellChoiceEditor(GridCellEditor):
     def __repr__(self):
-        return "<C wxGridCellBoolEditor instance at %s>" % (self.this,)
-class wxGridCellBoolEditor(wxGridCellBoolEditorPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellBoolEditor,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellChoiceEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(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 GetValue(*args, **kwargs):
+        """GetValue() -> String"""
+        return _grid.GridCellChoiceEditor_GetValue(*args, **kwargs)
 
 
-
-class wxGridCellChoiceEditorPtr(wxGridCellEditorPtr):
-    def __init__(self,this):
+class GridCellChoiceEditorPtr(GridCellChoiceEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellChoiceEditor
+_grid.GridCellChoiceEditor_swigregister(GridCellChoiceEditorPtr)
+
+class GridCellEnumEditor(GridCellChoiceEditor):
     def __repr__(self):
-        return "<C wxGridCellChoiceEditor instance at %s>" % (self.this,)
-class wxGridCellChoiceEditor(wxGridCellChoiceEditorPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellChoiceEditor,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellEnumEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(String choices=EmptyString) -> GridCellEnumEditor"""
+        newobj = _grid.new_GridCellEnumEditor(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def GetValue(*args, **kwargs):
+        """GetValue() -> 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)
 
+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):
+        """__init__() -> GridCellAutoWrapStringEditor"""
+        newobj = _grid.new_GridCellAutoWrapStringEditor(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
+    def GetValue(*args, **kwargs):
+        """GetValue() -> String"""
+        return _grid.GridCellAutoWrapStringEditor_GetValue(*args, **kwargs)
 
 
-class wxGridCellAttrPtr :
-    def __init__(self,this):
+class GridCellAutoWrapStringEditorPtr(GridCellAutoWrapStringEditor):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def Clone(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_Clone,(self,) + _args, _kwargs)
-        if val: val = wxGridCellAttrPtr(val) 
-        return val
-    def IncRef(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_IncRef,(self,) + _args, _kwargs)
-        return val
-    def DecRef(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_DecRef,(self,) + _args, _kwargs)
-        return val
-    def SetTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetTextColour,(self,) + _args, _kwargs)
-        return val
-    def SetBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetBackgroundColour,(self,) + _args, _kwargs)
-        return val
-    def SetFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetFont,(self,) + _args, _kwargs)
-        return val
-    def SetAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetAlignment,(self,) + _args, _kwargs)
-        return val
-    def SetReadOnly(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetReadOnly,(self,) + _args, _kwargs)
-        return val
-    def SetRenderer(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetRenderer,(self,) + _args, _kwargs)
-        return val
-    def SetEditor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetEditor,(self,) + _args, _kwargs)
-        return val
-    def HasTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_HasTextColour,(self,) + _args, _kwargs)
-        return val
-    def HasBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_HasBackgroundColour,(self,) + _args, _kwargs)
-        return val
-    def HasFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_HasFont,(self,) + _args, _kwargs)
-        return val
-    def HasAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_HasAlignment,(self,) + _args, _kwargs)
-        return val
-    def HasRenderer(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_HasRenderer,(self,) + _args, _kwargs)
-        return val
-    def HasEditor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_HasEditor,(self,) + _args, _kwargs)
-        return val
-    def GetTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_GetTextColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
-        return val
-    def GetBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_GetBackgroundColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) 
-        return val
-    def GetFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_GetFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) 
-        return val
-    def GetAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_GetAlignment,(self,) + _args, _kwargs)
-        return val
-    def GetRenderer(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_GetRenderer,(self,) + _args, _kwargs)
-        if val: val = wxGridCellRendererPtr(val) 
-        return val
-    def GetEditor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_GetEditor,(self,) + _args, _kwargs)
-        if val: val = wxGridCellEditorPtr(val) 
-        return val
-    def IsReadOnly(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_IsReadOnly,(self,) + _args, _kwargs)
-        return val
-    def SetDefAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttr_SetDefAttr,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellAutoWrapStringEditor
+_grid.GridCellAutoWrapStringEditor_swigregister(GridCellAutoWrapStringEditorPtr)
+
+class GridCellAttr(object):
     def __repr__(self):
-        return "<C wxGridCellAttr instance at %s>" % (self.this,)
-class wxGridCellAttr(wxGridCellAttrPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellAttr,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    Any = _grid.GridCellAttr_Any
+    Default = _grid.GridCellAttr_Default
+    Cell = _grid.GridCellAttr_Cell
+    Row = _grid.GridCellAttr_Row
+    Col = _grid.GridCellAttr_Col
+    Merged = _grid.GridCellAttr_Merged
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _grid.GridCellAttr__setOORInfo(*args, **kwargs)
+
+    def __init__(self, *args, **kwargs):
+        """__init__(GridCellAttr attrDefault=None) -> GridCellAttr"""
+        newobj = _grid.new_GridCellAttr(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def Clone(*args, **kwargs):
+        """Clone() -> GridCellAttr"""
+        return _grid.GridCellAttr_Clone(*args, **kwargs)
+
+    def MergeWith(*args, **kwargs):
+        """MergeWith(GridCellAttr mergefrom)"""
+        return _grid.GridCellAttr_MergeWith(*args, **kwargs)
+
+    def IncRef(*args, **kwargs):
+        """IncRef()"""
+        return _grid.GridCellAttr_IncRef(*args, **kwargs)
+
+    def DecRef(*args, **kwargs):
+        """DecRef()"""
+        return _grid.GridCellAttr_DecRef(*args, **kwargs)
+
+    def SetTextColour(*args, **kwargs):
+        """SetTextColour(Colour colText)"""
+        return _grid.GridCellAttr_SetTextColour(*args, **kwargs)
+
+    def SetBackgroundColour(*args, **kwargs):
+        """SetBackgroundColour(Colour colBack)"""
+        return _grid.GridCellAttr_SetBackgroundColour(*args, **kwargs)
+
+    def SetFont(*args, **kwargs):
+        """SetFont(Font font)"""
+        return _grid.GridCellAttr_SetFont(*args, **kwargs)
+
+    def SetAlignment(*args, **kwargs):
+        """SetAlignment(int hAlign, int vAlign)"""
+        return _grid.GridCellAttr_SetAlignment(*args, **kwargs)
+
+    def SetSize(*args, **kwargs):
+        """SetSize(int num_rows, int num_cols)"""
+        return _grid.GridCellAttr_SetSize(*args, **kwargs)
+
+    def SetOverflow(*args, **kwargs):
+        """SetOverflow(bool allow=True)"""
+        return _grid.GridCellAttr_SetOverflow(*args, **kwargs)
+
+    def SetReadOnly(*args, **kwargs):
+        """SetReadOnly(bool isReadOnly=True)"""
+        return _grid.GridCellAttr_SetReadOnly(*args, **kwargs)
+
+    def SetRenderer(*args, **kwargs):
+        """SetRenderer(GridCellRenderer renderer)"""
+        return _grid.GridCellAttr_SetRenderer(*args, **kwargs)
+
+    def SetEditor(*args, **kwargs):
+        """SetEditor(GridCellEditor editor)"""
+        return _grid.GridCellAttr_SetEditor(*args, **kwargs)
+
+    def SetKind(*args, **kwargs):
+        """SetKind(int kind)"""
+        return _grid.GridCellAttr_SetKind(*args, **kwargs)
+
+    def HasTextColour(*args, **kwargs):
+        """HasTextColour() -> bool"""
+        return _grid.GridCellAttr_HasTextColour(*args, **kwargs)
+
+    def HasBackgroundColour(*args, **kwargs):
+        """HasBackgroundColour() -> bool"""
+        return _grid.GridCellAttr_HasBackgroundColour(*args, **kwargs)
+
+    def HasFont(*args, **kwargs):
+        """HasFont() -> bool"""
+        return _grid.GridCellAttr_HasFont(*args, **kwargs)
+
+    def HasAlignment(*args, **kwargs):
+        """HasAlignment() -> bool"""
+        return _grid.GridCellAttr_HasAlignment(*args, **kwargs)
+
+    def HasRenderer(*args, **kwargs):
+        """HasRenderer() -> bool"""
+        return _grid.GridCellAttr_HasRenderer(*args, **kwargs)
+
+    def HasEditor(*args, **kwargs):
+        """HasEditor() -> bool"""
+        return _grid.GridCellAttr_HasEditor(*args, **kwargs)
 
+    def HasReadWriteMode(*args, **kwargs):
+        """HasReadWriteMode() -> bool"""
+        return _grid.GridCellAttr_HasReadWriteMode(*args, **kwargs)
 
+    def HasOverflowMode(*args, **kwargs):
+        """HasOverflowMode() -> bool"""
+        return _grid.GridCellAttr_HasOverflowMode(*args, **kwargs)
 
+    def GetTextColour(*args, **kwargs):
+        """GetTextColour() -> Colour"""
+        return _grid.GridCellAttr_GetTextColour(*args, **kwargs)
 
-class wxGridCellAttrProviderPtr :
-    def __init__(self,this):
+    def GetBackgroundColour(*args, **kwargs):
+        """GetBackgroundColour() -> Colour"""
+        return _grid.GridCellAttr_GetBackgroundColour(*args, **kwargs)
+
+    def GetFont(*args, **kwargs):
+        """GetFont() -> Font"""
+        return _grid.GridCellAttr_GetFont(*args, **kwargs)
+
+    def GetAlignment(*args, **kwargs):
+        """GetAlignment() -> (hAlign, vAlign)"""
+        return _grid.GridCellAttr_GetAlignment(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize() -> (num_rows, num_cols)"""
+        return _grid.GridCellAttr_GetSize(*args, **kwargs)
+
+    def GetOverflow(*args, **kwargs):
+        """GetOverflow() -> bool"""
+        return _grid.GridCellAttr_GetOverflow(*args, **kwargs)
+
+    def GetRenderer(*args, **kwargs):
+        """GetRenderer(Grid grid, int row, int col) -> GridCellRenderer"""
+        return _grid.GridCellAttr_GetRenderer(*args, **kwargs)
+
+    def GetEditor(*args, **kwargs):
+        """GetEditor(Grid grid, int row, int col) -> GridCellEditor"""
+        return _grid.GridCellAttr_GetEditor(*args, **kwargs)
+
+    def IsReadOnly(*args, **kwargs):
+        """IsReadOnly() -> bool"""
+        return _grid.GridCellAttr_IsReadOnly(*args, **kwargs)
+
+    def SetDefAttr(*args, **kwargs):
+        """SetDefAttr(GridCellAttr defAttr)"""
+        return _grid.GridCellAttr_SetDefAttr(*args, **kwargs)
+
+
+class GridCellAttrPtr(GridCellAttr):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def GetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttrProvider_GetAttr,(self,) + _args, _kwargs)
-        if val: val = wxGridCellAttrPtr(val) 
-        return val
-    def SetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttrProvider_SetAttr,(self,) + _args, _kwargs)
-        return val
-    def SetRowAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttrProvider_SetRowAttr,(self,) + _args, _kwargs)
-        return val
-    def SetColAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttrProvider_SetColAttr,(self,) + _args, _kwargs)
-        return val
-    def UpdateAttrRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttrProvider_UpdateAttrRows,(self,) + _args, _kwargs)
-        return val
-    def UpdateAttrCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellAttrProvider_UpdateAttrCols,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellAttr
+_grid.GridCellAttr_swigregister(GridCellAttrPtr)
+
+class GridCellAttrProvider(object):
     def __repr__(self):
-        return "<C wxGridCellAttrProvider instance at %s>" % (self.this,)
-class wxGridCellAttrProvider(wxGridCellAttrProviderPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellAttrProvider,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> GridCellAttrProvider"""
+        newobj = _grid.new_GridCellAttrProvider(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _grid.GridCellAttrProvider__setOORInfo(*args, **kwargs)
 
+    def GetAttr(*args, **kwargs):
+        """GetAttr(int row, int col, int kind) -> GridCellAttr"""
+        return _grid.GridCellAttrProvider_GetAttr(*args, **kwargs)
 
+    def SetAttr(*args, **kwargs):
+        """SetAttr(GridCellAttr attr, int row, int col)"""
+        return _grid.GridCellAttrProvider_SetAttr(*args, **kwargs)
 
+    def SetRowAttr(*args, **kwargs):
+        """SetRowAttr(GridCellAttr attr, int row)"""
+        return _grid.GridCellAttrProvider_SetRowAttr(*args, **kwargs)
 
-class wxPyGridCellAttrProviderPtr(wxGridCellAttrProviderPtr):
-    def __init__(self,this):
+    def SetColAttr(*args, **kwargs):
+        """SetColAttr(GridCellAttr attr, int col)"""
+        return _grid.GridCellAttrProvider_SetColAttr(*args, **kwargs)
+
+    def UpdateAttrRows(*args, **kwargs):
+        """UpdateAttrRows(size_t pos, int numRows)"""
+        return _grid.GridCellAttrProvider_UpdateAttrRows(*args, **kwargs)
+
+    def UpdateAttrCols(*args, **kwargs):
+        """UpdateAttrCols(size_t pos, int numCols)"""
+        return _grid.GridCellAttrProvider_UpdateAttrCols(*args, **kwargs)
+
+
+class GridCellAttrProviderPtr(GridCellAttrProvider):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellAttrProvider__setSelf,(self,) + _args, _kwargs)
-        return val
-    def base_GetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellAttrProvider_base_GetAttr,(self,) + _args, _kwargs)
-        if val: val = wxGridCellAttrPtr(val) 
-        return val
-    def base_SetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellAttrProvider_base_SetAttr,(self,) + _args, _kwargs)
-        return val
-    def base_SetRowAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellAttrProvider_base_SetRowAttr,(self,) + _args, _kwargs)
-        return val
-    def base_SetColAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridCellAttrProvider_base_SetColAttr,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridCellAttrProvider
+_grid.GridCellAttrProvider_swigregister(GridCellAttrProviderPtr)
+
+class PyGridCellAttrProvider(GridCellAttrProvider):
     def __repr__(self):
-        return "<C wxPyGridCellAttrProvider instance at %s>" % (self.this,)
-class wxPyGridCellAttrProvider(wxPyGridCellAttrProviderPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxPyGridCellAttrProvider,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxPyGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyGridCellAttrProvider"""
+        newobj = _grid.new_PyGridCellAttrProvider(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
-        self._setSelf(self, wxPyGridCellAttrProvider)
+        del newobj.thisown
+        self._setCallbackInfo(self, PyGridCellAttrProvider)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _grid.PyGridCellAttrProvider__setCallbackInfo(*args, **kwargs)
 
+    def base_GetAttr(*args, **kwargs):
+        """base_GetAttr(int row, int col, int kind) -> GridCellAttr"""
+        return _grid.PyGridCellAttrProvider_base_GetAttr(*args, **kwargs)
 
+    def base_SetAttr(*args, **kwargs):
+        """base_SetAttr(GridCellAttr attr, int row, int col)"""
+        return _grid.PyGridCellAttrProvider_base_SetAttr(*args, **kwargs)
 
+    def base_SetRowAttr(*args, **kwargs):
+        """base_SetRowAttr(GridCellAttr attr, int row)"""
+        return _grid.PyGridCellAttrProvider_base_SetRowAttr(*args, **kwargs)
 
-class wxGridTableBasePtr :
-    def __init__(self,this):
+    def base_SetColAttr(*args, **kwargs):
+        """base_SetColAttr(GridCellAttr attr, int col)"""
+        return _grid.PyGridCellAttrProvider_base_SetColAttr(*args, **kwargs)
+
+
+class PyGridCellAttrProviderPtr(PyGridCellAttrProvider):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def SetAttrProvider(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetAttrProvider,(self,) + _args, _kwargs)
-        return val
-    def GetAttrProvider(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetAttrProvider,(self,) + _args, _kwargs)
-        if val: val = wxGridCellAttrProviderPtr(val) 
-        return val
-    def SetView(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetView,(self,) + _args, _kwargs)
-        return val
-    def GetView(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetView,(self,) + _args, _kwargs)
-        if val: val = wxGridPtr(val) 
-        return val
-    def GetNumberRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetNumberRows,(self,) + _args, _kwargs)
-        return val
-    def GetNumberCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetNumberCols,(self,) + _args, _kwargs)
-        return val
-    def IsEmptyCell(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_IsEmptyCell,(self,) + _args, _kwargs)
-        return val
-    def GetValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetValue,(self,) + _args, _kwargs)
-        return val
-    def SetValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetValue,(self,) + _args, _kwargs)
-        return val
-    def GetTypeName(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetTypeName,(self,) + _args, _kwargs)
-        return val
-    def CanGetValueAs(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_CanGetValueAs,(self,) + _args, _kwargs)
-        return val
-    def CanSetValueAs(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_CanSetValueAs,(self,) + _args, _kwargs)
-        return val
-    def GetValueAsLong(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetValueAsLong,(self,) + _args, _kwargs)
-        return val
-    def GetValueAsDouble(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetValueAsDouble,(self,) + _args, _kwargs)
-        return val
-    def GetValueAsBool(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetValueAsBool,(self,) + _args, _kwargs)
-        return val
-    def SetValueAsLong(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetValueAsLong,(self,) + _args, _kwargs)
-        return val
-    def SetValueAsDouble(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetValueAsDouble,(self,) + _args, _kwargs)
-        return val
-    def SetValueAsBool(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetValueAsBool,(self,) + _args, _kwargs)
-        return val
-    def Clear(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_Clear,(self,) + _args, _kwargs)
-        return val
-    def InsertRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_InsertRows,(self,) + _args, _kwargs)
-        return val
-    def AppendRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_AppendRows,(self,) + _args, _kwargs)
-        return val
-    def DeleteRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_DeleteRows,(self,) + _args, _kwargs)
-        return val
-    def InsertCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_InsertCols,(self,) + _args, _kwargs)
-        return val
-    def AppendCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_AppendCols,(self,) + _args, _kwargs)
-        return val
-    def DeleteCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_DeleteCols,(self,) + _args, _kwargs)
-        return val
-    def GetRowLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetRowLabelValue,(self,) + _args, _kwargs)
-        return val
-    def GetColLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetColLabelValue,(self,) + _args, _kwargs)
-        return val
-    def SetRowLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetRowLabelValue,(self,) + _args, _kwargs)
-        return val
-    def SetColLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetColLabelValue,(self,) + _args, _kwargs)
-        return val
-    def CanHaveAttributes(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_CanHaveAttributes,(self,) + _args, _kwargs)
-        return val
-    def GetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_GetAttr,(self,) + _args, _kwargs)
-        if val: val = wxGridCellAttrPtr(val) 
-        return val
-    def SetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetAttr,(self,) + _args, _kwargs)
-        return val
-    def SetRowAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetRowAttr,(self,) + _args, _kwargs)
-        return val
-    def SetColAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableBase_SetColAttr,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyGridCellAttrProvider
+_grid.PyGridCellAttrProvider_swigregister(PyGridCellAttrProviderPtr)
+
+class GridTableBase(core.Object):
+    def __init__(self): raise RuntimeError, "No constructor defined"
     def __repr__(self):
-        return "<C wxGridTableBase instance at %s>" % (self.this,)
-class wxGridTableBase(wxGridTableBasePtr):
-    def __init__(self,this):
-        self.this = this
+        return "<%s.%s; proxy of C++ wxGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def _setOORInfo(*args, **kwargs):
+        """_setOORInfo(PyObject _self)"""
+        return _grid.GridTableBase__setOORInfo(*args, **kwargs)
+
+    def SetAttrProvider(*args, **kwargs):
+        """SetAttrProvider(GridCellAttrProvider attrProvider)"""
+        return _grid.GridTableBase_SetAttrProvider(*args, **kwargs)
+
+    def GetAttrProvider(*args, **kwargs):
+        """GetAttrProvider() -> GridCellAttrProvider"""
+        return _grid.GridTableBase_GetAttrProvider(*args, **kwargs)
+
+    def SetView(*args, **kwargs):
+        """SetView(Grid grid)"""
+        return _grid.GridTableBase_SetView(*args, **kwargs)
+
+    def GetView(*args, **kwargs):
+        """GetView() -> Grid"""
+        return _grid.GridTableBase_GetView(*args, **kwargs)
+
+    def GetNumberRows(*args, **kwargs):
+        """GetNumberRows() -> int"""
+        return _grid.GridTableBase_GetNumberRows(*args, **kwargs)
+
+    def GetNumberCols(*args, **kwargs):
+        """GetNumberCols() -> int"""
+        return _grid.GridTableBase_GetNumberCols(*args, **kwargs)
+
+    def IsEmptyCell(*args, **kwargs):
+        """IsEmptyCell(int row, int col) -> bool"""
+        return _grid.GridTableBase_IsEmptyCell(*args, **kwargs)
+
+    def GetValue(*args, **kwargs):
+        """GetValue(int row, int col) -> String"""
+        return _grid.GridTableBase_GetValue(*args, **kwargs)
+
+    def SetValue(*args, **kwargs):
+        """SetValue(int row, int col, String value)"""
+        return _grid.GridTableBase_SetValue(*args, **kwargs)
+
+    def GetTypeName(*args, **kwargs):
+        """GetTypeName(int row, int col) -> String"""
+        return _grid.GridTableBase_GetTypeName(*args, **kwargs)
+
+    def CanGetValueAs(*args, **kwargs):
+        """CanGetValueAs(int row, int col, String typeName) -> bool"""
+        return _grid.GridTableBase_CanGetValueAs(*args, **kwargs)
+
+    def CanSetValueAs(*args, **kwargs):
+        """CanSetValueAs(int row, int col, String typeName) -> bool"""
+        return _grid.GridTableBase_CanSetValueAs(*args, **kwargs)
+
+    def GetValueAsLong(*args, **kwargs):
+        """GetValueAsLong(int row, int col) -> long"""
+        return _grid.GridTableBase_GetValueAsLong(*args, **kwargs)
+
+    def GetValueAsDouble(*args, **kwargs):
+        """GetValueAsDouble(int row, int col) -> double"""
+        return _grid.GridTableBase_GetValueAsDouble(*args, **kwargs)
+
+    def GetValueAsBool(*args, **kwargs):
+        """GetValueAsBool(int row, int col) -> bool"""
+        return _grid.GridTableBase_GetValueAsBool(*args, **kwargs)
+
+    def SetValueAsLong(*args, **kwargs):
+        """SetValueAsLong(int row, int col, long value)"""
+        return _grid.GridTableBase_SetValueAsLong(*args, **kwargs)
+
+    def SetValueAsDouble(*args, **kwargs):
+        """SetValueAsDouble(int row, int col, double value)"""
+        return _grid.GridTableBase_SetValueAsDouble(*args, **kwargs)
+
+    def SetValueAsBool(*args, **kwargs):
+        """SetValueAsBool(int row, int col, bool value)"""
+        return _grid.GridTableBase_SetValueAsBool(*args, **kwargs)
+
+    def Clear(*args, **kwargs):
+        """Clear()"""
+        return _grid.GridTableBase_Clear(*args, **kwargs)
+
+    def InsertRows(*args, **kwargs):
+        """InsertRows(size_t pos=0, size_t numRows=1) -> bool"""
+        return _grid.GridTableBase_InsertRows(*args, **kwargs)
+
+    def AppendRows(*args, **kwargs):
+        """AppendRows(size_t numRows=1) -> bool"""
+        return _grid.GridTableBase_AppendRows(*args, **kwargs)
+
+    def DeleteRows(*args, **kwargs):
+        """DeleteRows(size_t pos=0, size_t numRows=1) -> bool"""
+        return _grid.GridTableBase_DeleteRows(*args, **kwargs)
+
+    def InsertCols(*args, **kwargs):
+        """InsertCols(size_t pos=0, size_t numCols=1) -> bool"""
+        return _grid.GridTableBase_InsertCols(*args, **kwargs)
+
+    def AppendCols(*args, **kwargs):
+        """AppendCols(size_t numCols=1) -> bool"""
+        return _grid.GridTableBase_AppendCols(*args, **kwargs)
 
+    def DeleteCols(*args, **kwargs):
+        """DeleteCols(size_t pos=0, size_t numCols=1) -> bool"""
+        return _grid.GridTableBase_DeleteCols(*args, **kwargs)
 
+    def GetRowLabelValue(*args, **kwargs):
+        """GetRowLabelValue(int row) -> String"""
+        return _grid.GridTableBase_GetRowLabelValue(*args, **kwargs)
 
+    def GetColLabelValue(*args, **kwargs):
+        """GetColLabelValue(int col) -> String"""
+        return _grid.GridTableBase_GetColLabelValue(*args, **kwargs)
 
-class wxPyGridTableBasePtr(wxGridTableBasePtr):
-    def __init__(self,this):
+    def SetRowLabelValue(*args, **kwargs):
+        """SetRowLabelValue(int row, String value)"""
+        return _grid.GridTableBase_SetRowLabelValue(*args, **kwargs)
+
+    def SetColLabelValue(*args, **kwargs):
+        """SetColLabelValue(int col, String value)"""
+        return _grid.GridTableBase_SetColLabelValue(*args, **kwargs)
+
+    def CanHaveAttributes(*args, **kwargs):
+        """CanHaveAttributes() -> bool"""
+        return _grid.GridTableBase_CanHaveAttributes(*args, **kwargs)
+
+    def GetAttr(*args, **kwargs):
+        """GetAttr(int row, int col, int kind) -> GridCellAttr"""
+        return _grid.GridTableBase_GetAttr(*args, **kwargs)
+
+    def SetAttr(*args, **kwargs):
+        """SetAttr(GridCellAttr attr, int row, int col)"""
+        return _grid.GridTableBase_SetAttr(*args, **kwargs)
+
+    def SetRowAttr(*args, **kwargs):
+        """SetRowAttr(GridCellAttr attr, int row)"""
+        return _grid.GridTableBase_SetRowAttr(*args, **kwargs)
+
+    def SetColAttr(*args, **kwargs):
+        """SetColAttr(GridCellAttr attr, int col)"""
+        return _grid.GridTableBase_SetColAttr(*args, **kwargs)
+
+
+class GridTableBasePtr(GridTableBase):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def _setSelf(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase__setSelf,(self,) + _args, _kwargs)
-        return val
-    def Destroy(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_Destroy,(self,) + _args, _kwargs)
-        return val
-    def base_GetTypeName(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_GetTypeName,(self,) + _args, _kwargs)
-        return val
-    def base_CanGetValueAs(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_CanGetValueAs,(self,) + _args, _kwargs)
-        return val
-    def base_CanSetValueAs(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_CanSetValueAs,(self,) + _args, _kwargs)
-        return val
-    def base_Clear(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_Clear,(self,) + _args, _kwargs)
-        return val
-    def base_InsertRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_InsertRows,(self,) + _args, _kwargs)
-        return val
-    def base_AppendRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_AppendRows,(self,) + _args, _kwargs)
-        return val
-    def base_DeleteRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_DeleteRows,(self,) + _args, _kwargs)
-        return val
-    def base_InsertCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_InsertCols,(self,) + _args, _kwargs)
-        return val
-    def base_AppendCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_AppendCols,(self,) + _args, _kwargs)
-        return val
-    def base_DeleteCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_DeleteCols,(self,) + _args, _kwargs)
-        return val
-    def base_GetRowLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_GetRowLabelValue,(self,) + _args, _kwargs)
-        return val
-    def base_GetColLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_GetColLabelValue,(self,) + _args, _kwargs)
-        return val
-    def base_SetRowLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_SetRowLabelValue,(self,) + _args, _kwargs)
-        return val
-    def base_SetColLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_SetColLabelValue,(self,) + _args, _kwargs)
-        return val
-    def base_CanHaveAttributes(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_CanHaveAttributes,(self,) + _args, _kwargs)
-        return val
-    def base_GetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_GetAttr,(self,) + _args, _kwargs)
-        if val: val = wxGridCellAttrPtr(val) 
-        return val
-    def base_SetAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_SetAttr,(self,) + _args, _kwargs)
-        return val
-    def base_SetRowAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_SetRowAttr,(self,) + _args, _kwargs)
-        return val
-    def base_SetColAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxPyGridTableBase_base_SetColAttr,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridTableBase
+_grid.GridTableBase_swigregister(GridTableBasePtr)
+
+class PyGridTableBase(GridTableBase):
     def __repr__(self):
-        return "<C wxPyGridTableBase instance at %s>" % (self.this,)
-class wxPyGridTableBase(wxPyGridTableBasePtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxPyGridTableBase,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxPyGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__() -> PyGridTableBase"""
+        newobj = _grid.new_PyGridTableBase(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
-        self._setSelf(self, wxPyGridTableBase)
+        del newobj.thisown
+        self._setCallbackInfo(self, PyGridTableBase);self._setOORInfo(self)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _grid.PyGridTableBase__setCallbackInfo(*args, **kwargs)
+
+    def Destroy(*args, **kwargs):
+        """
+        Destroy()
+
+        Deletes the C++ object this Python object is a proxy for.
+        """
+        return _grid.PyGridTableBase_Destroy(*args, **kwargs)
+
+    def base_GetTypeName(*args, **kwargs):
+        """base_GetTypeName(int row, int col) -> String"""
+        return _grid.PyGridTableBase_base_GetTypeName(*args, **kwargs)
+
+    def base_CanGetValueAs(*args, **kwargs):
+        """base_CanGetValueAs(int row, int col, String typeName) -> bool"""
+        return _grid.PyGridTableBase_base_CanGetValueAs(*args, **kwargs)
+
+    def base_CanSetValueAs(*args, **kwargs):
+        """base_CanSetValueAs(int row, int col, String typeName) -> bool"""
+        return _grid.PyGridTableBase_base_CanSetValueAs(*args, **kwargs)
+
+    def base_Clear(*args, **kwargs):
+        """base_Clear()"""
+        return _grid.PyGridTableBase_base_Clear(*args, **kwargs)
+
+    def base_InsertRows(*args, **kwargs):
+        """base_InsertRows(size_t pos=0, size_t numRows=1) -> bool"""
+        return _grid.PyGridTableBase_base_InsertRows(*args, **kwargs)
+
+    def base_AppendRows(*args, **kwargs):
+        """base_AppendRows(size_t numRows=1) -> bool"""
+        return _grid.PyGridTableBase_base_AppendRows(*args, **kwargs)
+
+    def base_DeleteRows(*args, **kwargs):
+        """base_DeleteRows(size_t pos=0, size_t numRows=1) -> bool"""
+        return _grid.PyGridTableBase_base_DeleteRows(*args, **kwargs)
+
+    def base_InsertCols(*args, **kwargs):
+        """base_InsertCols(size_t pos=0, size_t numCols=1) -> bool"""
+        return _grid.PyGridTableBase_base_InsertCols(*args, **kwargs)
+
+    def base_AppendCols(*args, **kwargs):
+        """base_AppendCols(size_t numCols=1) -> bool"""
+        return _grid.PyGridTableBase_base_AppendCols(*args, **kwargs)
+
+    def base_DeleteCols(*args, **kwargs):
+        """base_DeleteCols(size_t pos=0, size_t numCols=1) -> bool"""
+        return _grid.PyGridTableBase_base_DeleteCols(*args, **kwargs)
+
+    def base_GetRowLabelValue(*args, **kwargs):
+        """base_GetRowLabelValue(int row) -> String"""
+        return _grid.PyGridTableBase_base_GetRowLabelValue(*args, **kwargs)
 
+    def base_GetColLabelValue(*args, **kwargs):
+        """base_GetColLabelValue(int col) -> String"""
+        return _grid.PyGridTableBase_base_GetColLabelValue(*args, **kwargs)
 
+    def base_SetRowLabelValue(*args, **kwargs):
+        """base_SetRowLabelValue(int row, String value)"""
+        return _grid.PyGridTableBase_base_SetRowLabelValue(*args, **kwargs)
 
+    def base_SetColLabelValue(*args, **kwargs):
+        """base_SetColLabelValue(int col, String value)"""
+        return _grid.PyGridTableBase_base_SetColLabelValue(*args, **kwargs)
 
-class wxGridStringTablePtr(wxGridTableBasePtr):
-    def __init__(self,this):
+    def base_CanHaveAttributes(*args, **kwargs):
+        """base_CanHaveAttributes() -> bool"""
+        return _grid.PyGridTableBase_base_CanHaveAttributes(*args, **kwargs)
+
+    def base_GetAttr(*args, **kwargs):
+        """base_GetAttr(int row, int col, int kind) -> GridCellAttr"""
+        return _grid.PyGridTableBase_base_GetAttr(*args, **kwargs)
+
+    def base_SetAttr(*args, **kwargs):
+        """base_SetAttr(GridCellAttr attr, int row, int col)"""
+        return _grid.PyGridTableBase_base_SetAttr(*args, **kwargs)
+
+    def base_SetRowAttr(*args, **kwargs):
+        """base_SetRowAttr(GridCellAttr attr, int row)"""
+        return _grid.PyGridTableBase_base_SetRowAttr(*args, **kwargs)
+
+    def base_SetColAttr(*args, **kwargs):
+        """base_SetColAttr(GridCellAttr attr, int col)"""
+        return _grid.PyGridTableBase_base_SetColAttr(*args, **kwargs)
+
+
+class PyGridTableBasePtr(PyGridTableBase):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyGridTableBase
+_grid.PyGridTableBase_swigregister(PyGridTableBasePtr)
+
+class GridStringTable(GridTableBase):
     def __repr__(self):
-        return "<C wxGridStringTable instance at %s>" % (self.this,)
-class wxGridStringTable(wxGridStringTablePtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridStringTable,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridStringTable instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(int numRows=0, int numCols=0) -> GridStringTable"""
+        newobj = _grid.new_GridStringTable(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
 
 
-
-
-class wxGridTableMessagePtr :
-    def __init__(self,this):
+class GridStringTablePtr(GridStringTable):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def __del__(self,gridc=gridc):
-        if self.thisown == 1 :
-            gridc.delete_wxGridTableMessage(self)
-    def SetTableObject(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_SetTableObject,(self,) + _args, _kwargs)
-        return val
-    def GetTableObject(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_GetTableObject,(self,) + _args, _kwargs)
-        if val: val = wxGridTableBasePtr(val) 
-        return val
-    def SetId(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_SetId,(self,) + _args, _kwargs)
-        return val
-    def GetId(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_GetId,(self,) + _args, _kwargs)
-        return val
-    def SetCommandInt(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_SetCommandInt,(self,) + _args, _kwargs)
-        return val
-    def GetCommandInt(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_GetCommandInt,(self,) + _args, _kwargs)
-        return val
-    def SetCommandInt2(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_SetCommandInt2,(self,) + _args, _kwargs)
-        return val
-    def GetCommandInt2(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridTableMessage_GetCommandInt2,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridStringTable
+_grid.GridStringTable_swigregister(GridStringTablePtr)
+
+GRIDTABLE_REQUEST_VIEW_GET_VALUES = _grid.GRIDTABLE_REQUEST_VIEW_GET_VALUES
+GRIDTABLE_REQUEST_VIEW_SEND_VALUES = _grid.GRIDTABLE_REQUEST_VIEW_SEND_VALUES
+GRIDTABLE_NOTIFY_ROWS_INSERTED = _grid.GRIDTABLE_NOTIFY_ROWS_INSERTED
+GRIDTABLE_NOTIFY_ROWS_APPENDED = _grid.GRIDTABLE_NOTIFY_ROWS_APPENDED
+GRIDTABLE_NOTIFY_ROWS_DELETED = _grid.GRIDTABLE_NOTIFY_ROWS_DELETED
+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):
     def __repr__(self):
-        return "<C wxGridTableMessage instance at %s>" % (self.this,)
-class wxGridTableMessage(wxGridTableMessagePtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridTableMessage,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridTableMessage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(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__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def SetTableObject(*args, **kwargs):
+        """SetTableObject(GridTableBase table)"""
+        return _grid.GridTableMessage_SetTableObject(*args, **kwargs)
+
+    def GetTableObject(*args, **kwargs):
+        """GetTableObject() -> GridTableBase"""
+        return _grid.GridTableMessage_GetTableObject(*args, **kwargs)
+
+    def SetId(*args, **kwargs):
+        """SetId(int id)"""
+        return _grid.GridTableMessage_SetId(*args, **kwargs)
 
+    def GetId(*args, **kwargs):
+        """GetId() -> int"""
+        return _grid.GridTableMessage_GetId(*args, **kwargs)
 
+    def SetCommandInt(*args, **kwargs):
+        """SetCommandInt(int comInt1)"""
+        return _grid.GridTableMessage_SetCommandInt(*args, **kwargs)
 
+    def GetCommandInt(*args, **kwargs):
+        """GetCommandInt() -> int"""
+        return _grid.GridTableMessage_GetCommandInt(*args, **kwargs)
 
-class wxGridCellCoordsPtr :
-    def __init__(self,this):
+    def SetCommandInt2(*args, **kwargs):
+        """SetCommandInt2(int comInt2)"""
+        return _grid.GridTableMessage_SetCommandInt2(*args, **kwargs)
+
+    def GetCommandInt2(*args, **kwargs):
+        """GetCommandInt2() -> int"""
+        return _grid.GridTableMessage_GetCommandInt2(*args, **kwargs)
+
+
+class GridTableMessagePtr(GridTableMessage):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def __del__(self,gridc=gridc):
-        if self.thisown == 1 :
-            gridc.delete_wxGridCellCoords(self)
-    def GetRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellCoords_GetRow,(self,) + _args, _kwargs)
-        return val
-    def SetRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellCoords_SetRow,(self,) + _args, _kwargs)
-        return val
-    def GetCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellCoords_GetCol,(self,) + _args, _kwargs)
-        return val
-    def SetCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellCoords_SetCol,(self,) + _args, _kwargs)
-        return val
-    def Set(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellCoords_Set,(self,) + _args, _kwargs)
-        return val
-    def asTuple(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellCoords_asTuple,(self,) + _args, _kwargs)
-        return val
-    def __cmp__(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridCellCoords___cmp__,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridTableMessage
+_grid.GridTableMessage_swigregister(GridTableMessagePtr)
+
+class GridCellCoords(object):
     def __repr__(self):
-        return "<C wxGridCellCoords instance at %s>" % (self.this,)
-    def __str__(self): return str(self.asTuple())
-    def __repr__(self): return str(self.asTuple())
-class wxGridCellCoords(wxGridCellCoordsPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridCellCoords,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridCellCoords instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """__init__(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__()"""
+        try:
+            if self.thisown: destroy(self)
+        except: pass
+
+    def GetRow(*args, **kwargs):
+        """GetRow() -> int"""
+        return _grid.GridCellCoords_GetRow(*args, **kwargs)
+
+    def SetRow(*args, **kwargs):
+        """SetRow(int n)"""
+        return _grid.GridCellCoords_SetRow(*args, **kwargs)
+
+    def GetCol(*args, **kwargs):
+        """GetCol() -> int"""
+        return _grid.GridCellCoords_GetCol(*args, **kwargs)
+
+    def SetCol(*args, **kwargs):
+        """SetCol(int n)"""
+        return _grid.GridCellCoords_SetCol(*args, **kwargs)
+
+    def Set(*args, **kwargs):
+        """Set(int row, int col)"""
+        return _grid.GridCellCoords_Set(*args, **kwargs)
+
+    def __eq__(*args, **kwargs):
+        """__eq__(GridCellCoords other) -> bool"""
+        return _grid.GridCellCoords___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """__ne__(GridCellCoords other) -> bool"""
+        return _grid.GridCellCoords___ne__(*args, **kwargs)
+
+    def asTuple(*args, **kwargs):
+        """asTuple() -> PyObject"""
+        return _grid.GridCellCoords_asTuple(*args, **kwargs)
+
+    def __str__(self):                   return str(self.asTuple())
+    def __repr__(self):                  return 'wxGridCellCoords'+str(self.asTuple())
+    def __len__(self):                   return len(self.asTuple())
+    def __getitem__(self, index):        return self.asTuple()[index]
+    def __setitem__(self, index, val):
+        if index == 0: self.SetRow(val)
+        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)
+
+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):
+        """
+        __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=WANTS_CHARS, 
+            String name=PanelNameStr) -> Grid
+        """
+        newobj = _grid.new_Grid(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self)
+
+    wxGridSelectCells = _grid.Grid_wxGridSelectCells
+    wxGridSelectRows = _grid.Grid_wxGridSelectRows
+    wxGridSelectColumns = _grid.Grid_wxGridSelectColumns
+    SelectCells =   wxGridSelectCells
+    SelectRows =    wxGridSelectRows
+    SelectColumns = wxGridSelectColumns,
+
+    def CreateGrid(*args, **kwargs):
+        """CreateGrid(int numRows, int numCols, WXGRIDSELECTIONMODES selmode=wxGridSelectCells) -> bool"""
+        return _grid.Grid_CreateGrid(*args, **kwargs)
+
+    def SetSelectionMode(*args, **kwargs):
+        """SetSelectionMode(WXGRIDSELECTIONMODES selmode)"""
+        return _grid.Grid_SetSelectionMode(*args, **kwargs)
+
+    def GetSelectionMode(*args, **kwargs):
+        """GetSelectionMode() -> WXGRIDSELECTIONMODES"""
+        return _grid.Grid_GetSelectionMode(*args, **kwargs)
+
+    def GetNumberRows(*args, **kwargs):
+        """GetNumberRows() -> int"""
+        return _grid.Grid_GetNumberRows(*args, **kwargs)
+
+    def GetNumberCols(*args, **kwargs):
+        """GetNumberCols() -> int"""
+        return _grid.Grid_GetNumberCols(*args, **kwargs)
+
+    def ProcessTableMessage(*args, **kwargs):
+        """ProcessTableMessage(GridTableMessage ??) -> bool"""
+        return _grid.Grid_ProcessTableMessage(*args, **kwargs)
+
+    def GetTable(*args, **kwargs):
+        """GetTable() -> GridTableBase"""
+        return _grid.Grid_GetTable(*args, **kwargs)
+
+    def SetTable(*args, **kwargs):
+        """SetTable(GridTableBase table, bool takeOwnership=False, WXGRIDSELECTIONMODES selmode=wxGridSelectCells) -> bool"""
+        return _grid.Grid_SetTable(*args, **kwargs)
+
+    def ClearGrid(*args, **kwargs):
+        """ClearGrid()"""
+        return _grid.Grid_ClearGrid(*args, **kwargs)
+
+    def InsertRows(*args, **kwargs):
+        """InsertRows(int pos=0, int numRows=1, bool updateLabels=True) -> bool"""
+        return _grid.Grid_InsertRows(*args, **kwargs)
+
+    def AppendRows(*args, **kwargs):
+        """AppendRows(int numRows=1, bool updateLabels=True) -> bool"""
+        return _grid.Grid_AppendRows(*args, **kwargs)
+
+    def DeleteRows(*args, **kwargs):
+        """DeleteRows(int pos=0, int numRows=1, bool updateLabels=True) -> bool"""
+        return _grid.Grid_DeleteRows(*args, **kwargs)
+
+    def InsertCols(*args, **kwargs):
+        """InsertCols(int pos=0, int numCols=1, bool updateLabels=True) -> bool"""
+        return _grid.Grid_InsertCols(*args, **kwargs)
+
+    def AppendCols(*args, **kwargs):
+        """AppendCols(int numCols=1, bool updateLabels=True) -> bool"""
+        return _grid.Grid_AppendCols(*args, **kwargs)
+
+    def DeleteCols(*args, **kwargs):
+        """DeleteCols(int pos=0, int numCols=1, bool updateLabels=True) -> bool"""
+        return _grid.Grid_DeleteCols(*args, **kwargs)
+
+    def DrawCellHighlight(*args, **kwargs):
+        """DrawCellHighlight(DC dc, GridCellAttr attr)"""
+        return _grid.Grid_DrawCellHighlight(*args, **kwargs)
+
+    def DrawTextRectangle(*args, **kwargs):
+        """
+        DrawTextRectangle(DC dc, String ??, Rect ??, int horizontalAlignment=LEFT, 
+            int verticalAlignment=TOP, int textOrientation=HORIZONTAL)
+        """
+        return _grid.Grid_DrawTextRectangle(*args, **kwargs)
+
+    def GetTextBoxSize(*args, **kwargs):
+        """GetTextBoxSize(DC dc, list lines) -> (width, height)"""
+        return _grid.Grid_GetTextBoxSize(*args, **kwargs)
+
+    def BeginBatch(*args, **kwargs):
+        """BeginBatch()"""
+        return _grid.Grid_BeginBatch(*args, **kwargs)
+
+    def EndBatch(*args, **kwargs):
+        """EndBatch()"""
+        return _grid.Grid_EndBatch(*args, **kwargs)
+
+    def GetBatchCount(*args, **kwargs):
+        """GetBatchCount() -> int"""
+        return _grid.Grid_GetBatchCount(*args, **kwargs)
+
+    def ForceRefresh(*args, **kwargs):
+        """ForceRefresh()"""
+        return _grid.Grid_ForceRefresh(*args, **kwargs)
+
+    def Refresh(*args, **kwargs):
+        """Refresh(bool eraseb=True, Rect rect=None)"""
+        return _grid.Grid_Refresh(*args, **kwargs)
+
+    def IsEditable(*args, **kwargs):
+        """IsEditable() -> bool"""
+        return _grid.Grid_IsEditable(*args, **kwargs)
+
+    def EnableEditing(*args, **kwargs):
+        """EnableEditing(bool edit)"""
+        return _grid.Grid_EnableEditing(*args, **kwargs)
+
+    def EnableCellEditControl(*args, **kwargs):
+        """EnableCellEditControl(bool enable=True)"""
+        return _grid.Grid_EnableCellEditControl(*args, **kwargs)
+
+    def DisableCellEditControl(*args, **kwargs):
+        """DisableCellEditControl()"""
+        return _grid.Grid_DisableCellEditControl(*args, **kwargs)
 
+    def CanEnableCellControl(*args, **kwargs):
+        """CanEnableCellControl() -> bool"""
+        return _grid.Grid_CanEnableCellControl(*args, **kwargs)
 
+    def IsCellEditControlEnabled(*args, **kwargs):
+        """IsCellEditControlEnabled() -> bool"""
+        return _grid.Grid_IsCellEditControlEnabled(*args, **kwargs)
 
+    def IsCellEditControlShown(*args, **kwargs):
+        """IsCellEditControlShown() -> bool"""
+        return _grid.Grid_IsCellEditControlShown(*args, **kwargs)
 
-class wxGridPtr(wxScrolledWindowPtr):
-    wxGridSelectCells = gridc.wxGrid_wxGridSelectCells
-    wxGridSelectRows = gridc.wxGrid_wxGridSelectRows
-    wxGridSelectColumns = gridc.wxGrid_wxGridSelectColumns
-    def __init__(self,this):
+    def IsCurrentCellReadOnly(*args, **kwargs):
+        """IsCurrentCellReadOnly() -> bool"""
+        return _grid.Grid_IsCurrentCellReadOnly(*args, **kwargs)
+
+    def ShowCellEditControl(*args, **kwargs):
+        """ShowCellEditControl()"""
+        return _grid.Grid_ShowCellEditControl(*args, **kwargs)
+
+    def HideCellEditControl(*args, **kwargs):
+        """HideCellEditControl()"""
+        return _grid.Grid_HideCellEditControl(*args, **kwargs)
+
+    def SaveEditControlValue(*args, **kwargs):
+        """SaveEditControlValue()"""
+        return _grid.Grid_SaveEditControlValue(*args, **kwargs)
+
+    def XYToCell(*args, **kwargs):
+        """XYToCell(int x, int y) -> GridCellCoords"""
+        return _grid.Grid_XYToCell(*args, **kwargs)
+
+    def YToRow(*args, **kwargs):
+        """YToRow(int y) -> int"""
+        return _grid.Grid_YToRow(*args, **kwargs)
+
+    def XToCol(*args, **kwargs):
+        """XToCol(int x) -> int"""
+        return _grid.Grid_XToCol(*args, **kwargs)
+
+    def YToEdgeOfRow(*args, **kwargs):
+        """YToEdgeOfRow(int y) -> int"""
+        return _grid.Grid_YToEdgeOfRow(*args, **kwargs)
+
+    def XToEdgeOfCol(*args, **kwargs):
+        """XToEdgeOfCol(int x) -> int"""
+        return _grid.Grid_XToEdgeOfCol(*args, **kwargs)
+
+    def CellToRect(*args, **kwargs):
+        """CellToRect(int row, int col) -> Rect"""
+        return _grid.Grid_CellToRect(*args, **kwargs)
+
+    def GetGridCursorRow(*args, **kwargs):
+        """GetGridCursorRow() -> int"""
+        return _grid.Grid_GetGridCursorRow(*args, **kwargs)
+
+    def GetGridCursorCol(*args, **kwargs):
+        """GetGridCursorCol() -> int"""
+        return _grid.Grid_GetGridCursorCol(*args, **kwargs)
+
+    def IsVisible(*args, **kwargs):
+        """IsVisible(int row, int col, bool wholeCellVisible=True) -> bool"""
+        return _grid.Grid_IsVisible(*args, **kwargs)
+
+    def MakeCellVisible(*args, **kwargs):
+        """MakeCellVisible(int row, int col)"""
+        return _grid.Grid_MakeCellVisible(*args, **kwargs)
+
+    def SetGridCursor(*args, **kwargs):
+        """SetGridCursor(int row, int col)"""
+        return _grid.Grid_SetGridCursor(*args, **kwargs)
+
+    def MoveCursorUp(*args, **kwargs):
+        """MoveCursorUp(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorUp(*args, **kwargs)
+
+    def MoveCursorDown(*args, **kwargs):
+        """MoveCursorDown(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorDown(*args, **kwargs)
+
+    def MoveCursorLeft(*args, **kwargs):
+        """MoveCursorLeft(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorLeft(*args, **kwargs)
+
+    def MoveCursorRight(*args, **kwargs):
+        """MoveCursorRight(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorRight(*args, **kwargs)
+
+    def MovePageDown(*args, **kwargs):
+        """MovePageDown() -> bool"""
+        return _grid.Grid_MovePageDown(*args, **kwargs)
+
+    def MovePageUp(*args, **kwargs):
+        """MovePageUp() -> bool"""
+        return _grid.Grid_MovePageUp(*args, **kwargs)
+
+    def MoveCursorUpBlock(*args, **kwargs):
+        """MoveCursorUpBlock(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorUpBlock(*args, **kwargs)
+
+    def MoveCursorDownBlock(*args, **kwargs):
+        """MoveCursorDownBlock(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorDownBlock(*args, **kwargs)
+
+    def MoveCursorLeftBlock(*args, **kwargs):
+        """MoveCursorLeftBlock(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorLeftBlock(*args, **kwargs)
+
+    def MoveCursorRightBlock(*args, **kwargs):
+        """MoveCursorRightBlock(bool expandSelection) -> bool"""
+        return _grid.Grid_MoveCursorRightBlock(*args, **kwargs)
+
+    def GetDefaultRowLabelSize(*args, **kwargs):
+        """GetDefaultRowLabelSize() -> int"""
+        return _grid.Grid_GetDefaultRowLabelSize(*args, **kwargs)
+
+    def GetRowLabelSize(*args, **kwargs):
+        """GetRowLabelSize() -> int"""
+        return _grid.Grid_GetRowLabelSize(*args, **kwargs)
+
+    def GetDefaultColLabelSize(*args, **kwargs):
+        """GetDefaultColLabelSize() -> int"""
+        return _grid.Grid_GetDefaultColLabelSize(*args, **kwargs)
+
+    def GetColLabelSize(*args, **kwargs):
+        """GetColLabelSize() -> int"""
+        return _grid.Grid_GetColLabelSize(*args, **kwargs)
+
+    def GetLabelBackgroundColour(*args, **kwargs):
+        """GetLabelBackgroundColour() -> Colour"""
+        return _grid.Grid_GetLabelBackgroundColour(*args, **kwargs)
+
+    def GetLabelTextColour(*args, **kwargs):
+        """GetLabelTextColour() -> Colour"""
+        return _grid.Grid_GetLabelTextColour(*args, **kwargs)
+
+    def GetLabelFont(*args, **kwargs):
+        """GetLabelFont() -> Font"""
+        return _grid.Grid_GetLabelFont(*args, **kwargs)
+
+    def GetRowLabelAlignment(*args, **kwargs):
+        """GetRowLabelAlignment() -> (horiz, vert)"""
+        return _grid.Grid_GetRowLabelAlignment(*args, **kwargs)
+
+    def GetColLabelAlignment(*args, **kwargs):
+        """GetColLabelAlignment() -> (horiz, vert)"""
+        return _grid.Grid_GetColLabelAlignment(*args, **kwargs)
+
+    def GetColLabelTextOrientation(*args, **kwargs):
+        """GetColLabelTextOrientation() -> int"""
+        return _grid.Grid_GetColLabelTextOrientation(*args, **kwargs)
+
+    def GetRowLabelValue(*args, **kwargs):
+        """GetRowLabelValue(int row) -> String"""
+        return _grid.Grid_GetRowLabelValue(*args, **kwargs)
+
+    def GetColLabelValue(*args, **kwargs):
+        """GetColLabelValue(int col) -> String"""
+        return _grid.Grid_GetColLabelValue(*args, **kwargs)
+
+    def GetGridLineColour(*args, **kwargs):
+        """GetGridLineColour() -> Colour"""
+        return _grid.Grid_GetGridLineColour(*args, **kwargs)
+
+    def GetCellHighlightColour(*args, **kwargs):
+        """GetCellHighlightColour() -> Colour"""
+        return _grid.Grid_GetCellHighlightColour(*args, **kwargs)
+
+    def GetCellHighlightPenWidth(*args, **kwargs):
+        """GetCellHighlightPenWidth() -> int"""
+        return _grid.Grid_GetCellHighlightPenWidth(*args, **kwargs)
+
+    def GetCellHighlightROPenWidth(*args, **kwargs):
+        """GetCellHighlightROPenWidth() -> int"""
+        return _grid.Grid_GetCellHighlightROPenWidth(*args, **kwargs)
+
+    def SetRowLabelSize(*args, **kwargs):
+        """SetRowLabelSize(int width)"""
+        return _grid.Grid_SetRowLabelSize(*args, **kwargs)
+
+    def SetColLabelSize(*args, **kwargs):
+        """SetColLabelSize(int height)"""
+        return _grid.Grid_SetColLabelSize(*args, **kwargs)
+
+    def SetLabelBackgroundColour(*args, **kwargs):
+        """SetLabelBackgroundColour(Colour ??)"""
+        return _grid.Grid_SetLabelBackgroundColour(*args, **kwargs)
+
+    def SetLabelTextColour(*args, **kwargs):
+        """SetLabelTextColour(Colour ??)"""
+        return _grid.Grid_SetLabelTextColour(*args, **kwargs)
+
+    def SetLabelFont(*args, **kwargs):
+        """SetLabelFont(Font ??)"""
+        return _grid.Grid_SetLabelFont(*args, **kwargs)
+
+    def SetRowLabelAlignment(*args, **kwargs):
+        """SetRowLabelAlignment(int horiz, int vert)"""
+        return _grid.Grid_SetRowLabelAlignment(*args, **kwargs)
+
+    def SetColLabelAlignment(*args, **kwargs):
+        """SetColLabelAlignment(int horiz, int vert)"""
+        return _grid.Grid_SetColLabelAlignment(*args, **kwargs)
+
+    def SetColLabelTextOrientation(*args, **kwargs):
+        """SetColLabelTextOrientation(int textOrientation)"""
+        return _grid.Grid_SetColLabelTextOrientation(*args, **kwargs)
+
+    def SetRowLabelValue(*args, **kwargs):
+        """SetRowLabelValue(int row, String ??)"""
+        return _grid.Grid_SetRowLabelValue(*args, **kwargs)
+
+    def SetColLabelValue(*args, **kwargs):
+        """SetColLabelValue(int col, String ??)"""
+        return _grid.Grid_SetColLabelValue(*args, **kwargs)
+
+    def SetGridLineColour(*args, **kwargs):
+        """SetGridLineColour(Colour ??)"""
+        return _grid.Grid_SetGridLineColour(*args, **kwargs)
+
+    def SetCellHighlightColour(*args, **kwargs):
+        """SetCellHighlightColour(Colour ??)"""
+        return _grid.Grid_SetCellHighlightColour(*args, **kwargs)
+
+    def SetCellHighlightPenWidth(*args, **kwargs):
+        """SetCellHighlightPenWidth(int width)"""
+        return _grid.Grid_SetCellHighlightPenWidth(*args, **kwargs)
+
+    def SetCellHighlightROPenWidth(*args, **kwargs):
+        """SetCellHighlightROPenWidth(int width)"""
+        return _grid.Grid_SetCellHighlightROPenWidth(*args, **kwargs)
+
+    def EnableDragRowSize(*args, **kwargs):
+        """EnableDragRowSize(bool enable=True)"""
+        return _grid.Grid_EnableDragRowSize(*args, **kwargs)
+
+    def DisableDragRowSize(*args, **kwargs):
+        """DisableDragRowSize()"""
+        return _grid.Grid_DisableDragRowSize(*args, **kwargs)
+
+    def CanDragRowSize(*args, **kwargs):
+        """CanDragRowSize() -> bool"""
+        return _grid.Grid_CanDragRowSize(*args, **kwargs)
+
+    def EnableDragColSize(*args, **kwargs):
+        """EnableDragColSize(bool enable=True)"""
+        return _grid.Grid_EnableDragColSize(*args, **kwargs)
+
+    def DisableDragColSize(*args, **kwargs):
+        """DisableDragColSize()"""
+        return _grid.Grid_DisableDragColSize(*args, **kwargs)
+
+    def CanDragColSize(*args, **kwargs):
+        """CanDragColSize() -> bool"""
+        return _grid.Grid_CanDragColSize(*args, **kwargs)
+
+    def EnableDragGridSize(*args, **kwargs):
+        """EnableDragGridSize(bool enable=True)"""
+        return _grid.Grid_EnableDragGridSize(*args, **kwargs)
+
+    def DisableDragGridSize(*args, **kwargs):
+        """DisableDragGridSize()"""
+        return _grid.Grid_DisableDragGridSize(*args, **kwargs)
+
+    def CanDragGridSize(*args, **kwargs):
+        """CanDragGridSize() -> bool"""
+        return _grid.Grid_CanDragGridSize(*args, **kwargs)
+
+    def SetAttr(*args, **kwargs):
+        """SetAttr(int row, int col, GridCellAttr attr)"""
+        return _grid.Grid_SetAttr(*args, **kwargs)
+
+    def SetRowAttr(*args, **kwargs):
+        """SetRowAttr(int row, GridCellAttr attr)"""
+        return _grid.Grid_SetRowAttr(*args, **kwargs)
+
+    def SetColAttr(*args, **kwargs):
+        """SetColAttr(int col, GridCellAttr attr)"""
+        return _grid.Grid_SetColAttr(*args, **kwargs)
+
+    def SetColFormatBool(*args, **kwargs):
+        """SetColFormatBool(int col)"""
+        return _grid.Grid_SetColFormatBool(*args, **kwargs)
+
+    def SetColFormatNumber(*args, **kwargs):
+        """SetColFormatNumber(int col)"""
+        return _grid.Grid_SetColFormatNumber(*args, **kwargs)
+
+    def SetColFormatFloat(*args, **kwargs):
+        """SetColFormatFloat(int col, int width=-1, int precision=-1)"""
+        return _grid.Grid_SetColFormatFloat(*args, **kwargs)
+
+    def SetColFormatCustom(*args, **kwargs):
+        """SetColFormatCustom(int col, String typeName)"""
+        return _grid.Grid_SetColFormatCustom(*args, **kwargs)
+
+    def EnableGridLines(*args, **kwargs):
+        """EnableGridLines(bool enable=True)"""
+        return _grid.Grid_EnableGridLines(*args, **kwargs)
+
+    def GridLinesEnabled(*args, **kwargs):
+        """GridLinesEnabled() -> bool"""
+        return _grid.Grid_GridLinesEnabled(*args, **kwargs)
+
+    def GetDefaultRowSize(*args, **kwargs):
+        """GetDefaultRowSize() -> int"""
+        return _grid.Grid_GetDefaultRowSize(*args, **kwargs)
+
+    def GetRowSize(*args, **kwargs):
+        """GetRowSize(int row) -> int"""
+        return _grid.Grid_GetRowSize(*args, **kwargs)
+
+    def GetDefaultColSize(*args, **kwargs):
+        """GetDefaultColSize() -> int"""
+        return _grid.Grid_GetDefaultColSize(*args, **kwargs)
+
+    def GetColSize(*args, **kwargs):
+        """GetColSize(int col) -> int"""
+        return _grid.Grid_GetColSize(*args, **kwargs)
+
+    def GetDefaultCellBackgroundColour(*args, **kwargs):
+        """GetDefaultCellBackgroundColour() -> Colour"""
+        return _grid.Grid_GetDefaultCellBackgroundColour(*args, **kwargs)
+
+    def GetCellBackgroundColour(*args, **kwargs):
+        """GetCellBackgroundColour(int row, int col) -> Colour"""
+        return _grid.Grid_GetCellBackgroundColour(*args, **kwargs)
+
+    def GetDefaultCellTextColour(*args, **kwargs):
+        """GetDefaultCellTextColour() -> Colour"""
+        return _grid.Grid_GetDefaultCellTextColour(*args, **kwargs)
+
+    def GetCellTextColour(*args, **kwargs):
+        """GetCellTextColour(int row, int col) -> Colour"""
+        return _grid.Grid_GetCellTextColour(*args, **kwargs)
+
+    def GetDefaultCellFont(*args, **kwargs):
+        """GetDefaultCellFont() -> Font"""
+        return _grid.Grid_GetDefaultCellFont(*args, **kwargs)
+
+    def GetCellFont(*args, **kwargs):
+        """GetCellFont(int row, int col) -> Font"""
+        return _grid.Grid_GetCellFont(*args, **kwargs)
+
+    def GetDefaultCellAlignment(*args, **kwargs):
+        """GetDefaultCellAlignment() -> (horiz, vert)"""
+        return _grid.Grid_GetDefaultCellAlignment(*args, **kwargs)
+
+    def GetCellAlignment(*args, **kwargs):
+        """GetCellAlignment() -> (horiz, vert)"""
+        return _grid.Grid_GetCellAlignment(*args, **kwargs)
+
+    def GetDefaultCellOverflow(*args, **kwargs):
+        """GetDefaultCellOverflow() -> bool"""
+        return _grid.Grid_GetDefaultCellOverflow(*args, **kwargs)
+
+    def GetCellOverflow(*args, **kwargs):
+        """GetCellOverflow(int row, int col) -> bool"""
+        return _grid.Grid_GetCellOverflow(*args, **kwargs)
+
+    def GetCellSize(*args, **kwargs):
+        """GetCellSize(int row, int col) -> (num_rows, num_cols)"""
+        return _grid.Grid_GetCellSize(*args, **kwargs)
+
+    def SetDefaultRowSize(*args, **kwargs):
+        """SetDefaultRowSize(int height, bool resizeExistingRows=False)"""
+        return _grid.Grid_SetDefaultRowSize(*args, **kwargs)
+
+    def SetRowSize(*args, **kwargs):
+        """SetRowSize(int row, int height)"""
+        return _grid.Grid_SetRowSize(*args, **kwargs)
+
+    def SetDefaultColSize(*args, **kwargs):
+        """SetDefaultColSize(int width, bool resizeExistingCols=False)"""
+        return _grid.Grid_SetDefaultColSize(*args, **kwargs)
+
+    def SetColSize(*args, **kwargs):
+        """SetColSize(int col, int width)"""
+        return _grid.Grid_SetColSize(*args, **kwargs)
+
+    def AutoSizeColumn(*args, **kwargs):
+        """AutoSizeColumn(int col, bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeColumn(*args, **kwargs)
+
+    def AutoSizeRow(*args, **kwargs):
+        """AutoSizeRow(int row, bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeRow(*args, **kwargs)
+
+    def AutoSizeColumns(*args, **kwargs):
+        """AutoSizeColumns(bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeColumns(*args, **kwargs)
+
+    def AutoSizeRows(*args, **kwargs):
+        """AutoSizeRows(bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeRows(*args, **kwargs)
+
+    def AutoSize(*args, **kwargs):
+        """AutoSize()"""
+        return _grid.Grid_AutoSize(*args, **kwargs)
+
+    def AutoSizeRowLabelSize(*args, **kwargs):
+        """AutoSizeRowLabelSize(int row)"""
+        return _grid.Grid_AutoSizeRowLabelSize(*args, **kwargs)
+
+    def AutoSizeColLabelSize(*args, **kwargs):
+        """AutoSizeColLabelSize(int col)"""
+        return _grid.Grid_AutoSizeColLabelSize(*args, **kwargs)
+
+    def SetColMinimalWidth(*args, **kwargs):
+        """SetColMinimalWidth(int col, int width)"""
+        return _grid.Grid_SetColMinimalWidth(*args, **kwargs)
+
+    def SetRowMinimalHeight(*args, **kwargs):
+        """SetRowMinimalHeight(int row, int width)"""
+        return _grid.Grid_SetRowMinimalHeight(*args, **kwargs)
+
+    def SetColMinimalAcceptableWidth(*args, **kwargs):
+        """SetColMinimalAcceptableWidth(int width)"""
+        return _grid.Grid_SetColMinimalAcceptableWidth(*args, **kwargs)
+
+    def SetRowMinimalAcceptableHeight(*args, **kwargs):
+        """SetRowMinimalAcceptableHeight(int width)"""
+        return _grid.Grid_SetRowMinimalAcceptableHeight(*args, **kwargs)
+
+    def GetColMinimalAcceptableWidth(*args, **kwargs):
+        """GetColMinimalAcceptableWidth() -> int"""
+        return _grid.Grid_GetColMinimalAcceptableWidth(*args, **kwargs)
+
+    def GetRowMinimalAcceptableHeight(*args, **kwargs):
+        """GetRowMinimalAcceptableHeight() -> int"""
+        return _grid.Grid_GetRowMinimalAcceptableHeight(*args, **kwargs)
+
+    def SetDefaultCellBackgroundColour(*args, **kwargs):
+        """SetDefaultCellBackgroundColour(Colour ??)"""
+        return _grid.Grid_SetDefaultCellBackgroundColour(*args, **kwargs)
+
+    def SetCellBackgroundColour(*args, **kwargs):
+        """SetCellBackgroundColour(int row, int col, Colour ??)"""
+        return _grid.Grid_SetCellBackgroundColour(*args, **kwargs)
+
+    def SetDefaultCellTextColour(*args, **kwargs):
+        """SetDefaultCellTextColour(Colour ??)"""
+        return _grid.Grid_SetDefaultCellTextColour(*args, **kwargs)
+
+    def SetCellTextColour(*args, **kwargs):
+        """SetCellTextColour(int row, int col, Colour ??)"""
+        return _grid.Grid_SetCellTextColour(*args, **kwargs)
+
+    def SetDefaultCellFont(*args, **kwargs):
+        """SetDefaultCellFont(Font ??)"""
+        return _grid.Grid_SetDefaultCellFont(*args, **kwargs)
+
+    def SetCellFont(*args, **kwargs):
+        """SetCellFont(int row, int col, Font ??)"""
+        return _grid.Grid_SetCellFont(*args, **kwargs)
+
+    def SetDefaultCellAlignment(*args, **kwargs):
+        """SetDefaultCellAlignment(int horiz, int vert)"""
+        return _grid.Grid_SetDefaultCellAlignment(*args, **kwargs)
+
+    def SetCellAlignment(*args, **kwargs):
+        """SetCellAlignment(int row, int col, int horiz, int vert)"""
+        return _grid.Grid_SetCellAlignment(*args, **kwargs)
+
+    def SetDefaultCellOverflow(*args, **kwargs):
+        """SetDefaultCellOverflow(bool allow)"""
+        return _grid.Grid_SetDefaultCellOverflow(*args, **kwargs)
+
+    def SetCellOverflow(*args, **kwargs):
+        """SetCellOverflow(int row, int col, bool allow)"""
+        return _grid.Grid_SetCellOverflow(*args, **kwargs)
+
+    def SetCellSize(*args, **kwargs):
+        """SetCellSize(int row, int col, int num_rows, int num_cols)"""
+        return _grid.Grid_SetCellSize(*args, **kwargs)
+
+    def SetDefaultRenderer(*args, **kwargs):
+        """SetDefaultRenderer(GridCellRenderer renderer)"""
+        return _grid.Grid_SetDefaultRenderer(*args, **kwargs)
+
+    def SetCellRenderer(*args, **kwargs):
+        """SetCellRenderer(int row, int col, GridCellRenderer renderer)"""
+        return _grid.Grid_SetCellRenderer(*args, **kwargs)
+
+    def GetDefaultRenderer(*args, **kwargs):
+        """GetDefaultRenderer() -> GridCellRenderer"""
+        return _grid.Grid_GetDefaultRenderer(*args, **kwargs)
+
+    def GetCellRenderer(*args, **kwargs):
+        """GetCellRenderer(int row, int col) -> GridCellRenderer"""
+        return _grid.Grid_GetCellRenderer(*args, **kwargs)
+
+    def SetDefaultEditor(*args, **kwargs):
+        """SetDefaultEditor(GridCellEditor editor)"""
+        return _grid.Grid_SetDefaultEditor(*args, **kwargs)
+
+    def SetCellEditor(*args, **kwargs):
+        """SetCellEditor(int row, int col, GridCellEditor editor)"""
+        return _grid.Grid_SetCellEditor(*args, **kwargs)
+
+    def GetDefaultEditor(*args, **kwargs):
+        """GetDefaultEditor() -> GridCellEditor"""
+        return _grid.Grid_GetDefaultEditor(*args, **kwargs)
+
+    def GetCellEditor(*args, **kwargs):
+        """GetCellEditor(int row, int col) -> GridCellEditor"""
+        return _grid.Grid_GetCellEditor(*args, **kwargs)
+
+    def GetCellValue(*args, **kwargs):
+        """GetCellValue(int row, int col) -> String"""
+        return _grid.Grid_GetCellValue(*args, **kwargs)
+
+    def SetCellValue(*args, **kwargs):
+        """SetCellValue(int row, int col, String s)"""
+        return _grid.Grid_SetCellValue(*args, **kwargs)
+
+    def IsReadOnly(*args, **kwargs):
+        """IsReadOnly(int row, int col) -> bool"""
+        return _grid.Grid_IsReadOnly(*args, **kwargs)
+
+    def SetReadOnly(*args, **kwargs):
+        """SetReadOnly(int row, int col, bool isReadOnly=True)"""
+        return _grid.Grid_SetReadOnly(*args, **kwargs)
+
+    def SelectRow(*args, **kwargs):
+        """SelectRow(int row, bool addToSelected=False)"""
+        return _grid.Grid_SelectRow(*args, **kwargs)
+
+    def SelectCol(*args, **kwargs):
+        """SelectCol(int col, bool addToSelected=False)"""
+        return _grid.Grid_SelectCol(*args, **kwargs)
+
+    def SelectBlock(*args, **kwargs):
+        """
+        SelectBlock(int topRow, int leftCol, int bottomRow, int rightCol, 
+            bool addToSelected=False)
+        """
+        return _grid.Grid_SelectBlock(*args, **kwargs)
+
+    def SelectAll(*args, **kwargs):
+        """SelectAll()"""
+        return _grid.Grid_SelectAll(*args, **kwargs)
+
+    def IsSelection(*args, **kwargs):
+        """IsSelection() -> bool"""
+        return _grid.Grid_IsSelection(*args, **kwargs)
+
+    def ClearSelection(*args, **kwargs):
+        """ClearSelection()"""
+        return _grid.Grid_ClearSelection(*args, **kwargs)
+
+    def IsInSelection(*args, **kwargs):
+        """IsInSelection(int row, int col) -> bool"""
+        return _grid.Grid_IsInSelection(*args, **kwargs)
+
+    def GetSelectedCells(*args, **kwargs):
+        """GetSelectedCells() -> wxGridCellCoordsArray"""
+        return _grid.Grid_GetSelectedCells(*args, **kwargs)
+
+    def GetSelectionBlockTopLeft(*args, **kwargs):
+        """GetSelectionBlockTopLeft() -> wxGridCellCoordsArray"""
+        return _grid.Grid_GetSelectionBlockTopLeft(*args, **kwargs)
+
+    def GetSelectionBlockBottomRight(*args, **kwargs):
+        """GetSelectionBlockBottomRight() -> wxGridCellCoordsArray"""
+        return _grid.Grid_GetSelectionBlockBottomRight(*args, **kwargs)
+
+    def GetSelectedRows(*args, **kwargs):
+        """GetSelectedRows() -> wxArrayInt"""
+        return _grid.Grid_GetSelectedRows(*args, **kwargs)
+
+    def GetSelectedCols(*args, **kwargs):
+        """GetSelectedCols() -> wxArrayInt"""
+        return _grid.Grid_GetSelectedCols(*args, **kwargs)
+
+    def DeselectRow(*args, **kwargs):
+        """DeselectRow(int row)"""
+        return _grid.Grid_DeselectRow(*args, **kwargs)
+
+    def DeselectCol(*args, **kwargs):
+        """DeselectCol(int col)"""
+        return _grid.Grid_DeselectCol(*args, **kwargs)
+
+    def DeselectCell(*args, **kwargs):
+        """DeselectCell(int row, int col)"""
+        return _grid.Grid_DeselectCell(*args, **kwargs)
+
+    def BlockToDeviceRect(*args, **kwargs):
+        """BlockToDeviceRect(GridCellCoords topLeft, GridCellCoords bottomRight) -> Rect"""
+        return _grid.Grid_BlockToDeviceRect(*args, **kwargs)
+
+    def GetSelectionBackground(*args, **kwargs):
+        """GetSelectionBackground() -> Colour"""
+        return _grid.Grid_GetSelectionBackground(*args, **kwargs)
+
+    def GetSelectionForeground(*args, **kwargs):
+        """GetSelectionForeground() -> Colour"""
+        return _grid.Grid_GetSelectionForeground(*args, **kwargs)
+
+    def SetSelectionBackground(*args, **kwargs):
+        """SetSelectionBackground(Colour c)"""
+        return _grid.Grid_SetSelectionBackground(*args, **kwargs)
+
+    def SetSelectionForeground(*args, **kwargs):
+        """SetSelectionForeground(Colour c)"""
+        return _grid.Grid_SetSelectionForeground(*args, **kwargs)
+
+    def RegisterDataType(*args, **kwargs):
+        """RegisterDataType(String typeName, GridCellRenderer renderer, GridCellEditor editor)"""
+        return _grid.Grid_RegisterDataType(*args, **kwargs)
+
+    def GetDefaultEditorForCell(*args, **kwargs):
+        """GetDefaultEditorForCell(int row, int col) -> GridCellEditor"""
+        return _grid.Grid_GetDefaultEditorForCell(*args, **kwargs)
+
+    def GetDefaultRendererForCell(*args, **kwargs):
+        """GetDefaultRendererForCell(int row, int col) -> GridCellRenderer"""
+        return _grid.Grid_GetDefaultRendererForCell(*args, **kwargs)
+
+    def GetDefaultEditorForType(*args, **kwargs):
+        """GetDefaultEditorForType(String typeName) -> GridCellEditor"""
+        return _grid.Grid_GetDefaultEditorForType(*args, **kwargs)
+
+    def GetDefaultRendererForType(*args, **kwargs):
+        """GetDefaultRendererForType(String typeName) -> GridCellRenderer"""
+        return _grid.Grid_GetDefaultRendererForType(*args, **kwargs)
+
+    def SetMargins(*args, **kwargs):
+        """SetMargins(int extraWidth, int extraHeight)"""
+        return _grid.Grid_SetMargins(*args, **kwargs)
+
+    def GetGridWindow(*args, **kwargs):
+        """GetGridWindow() -> Window"""
+        return _grid.Grid_GetGridWindow(*args, **kwargs)
+
+    def GetGridRowLabelWindow(*args, **kwargs):
+        """GetGridRowLabelWindow() -> Window"""
+        return _grid.Grid_GetGridRowLabelWindow(*args, **kwargs)
+
+    def GetGridColLabelWindow(*args, **kwargs):
+        """GetGridColLabelWindow() -> Window"""
+        return _grid.Grid_GetGridColLabelWindow(*args, **kwargs)
+
+    def GetGridCornerLabelWindow(*args, **kwargs):
+        """GetGridCornerLabelWindow() -> Window"""
+        return _grid.Grid_GetGridCornerLabelWindow(*args, **kwargs)
+
+
+class GridPtr(Grid):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def CreateGrid(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_CreateGrid,(self,) + _args, _kwargs)
-        return val
-    def SetSelectionMode(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetSelectionMode,(self,) + _args, _kwargs)
-        return val
-    def GetNumberRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetNumberRows,(self,) + _args, _kwargs)
-        return val
-    def GetNumberCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetNumberCols,(self,) + _args, _kwargs)
-        return val
-    def ProcessTableMessage(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_ProcessTableMessage,(self,) + _args, _kwargs)
-        return val
-    def GetTable(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetTable,(self,) + _args, _kwargs)
-        if val: val = wxGridTableBasePtr(val) 
-        return val
-    def SetTable(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetTable,(self,) + _args, _kwargs)
-        return val
-    def ClearGrid(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_ClearGrid,(self,) + _args, _kwargs)
-        return val
-    def InsertRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_InsertRows,(self,) + _args, _kwargs)
-        return val
-    def AppendRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_AppendRows,(self,) + _args, _kwargs)
-        return val
-    def DeleteRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DeleteRows,(self,) + _args, _kwargs)
-        return val
-    def InsertCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_InsertCols,(self,) + _args, _kwargs)
-        return val
-    def AppendCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_AppendCols,(self,) + _args, _kwargs)
-        return val
-    def DeleteCols(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DeleteCols,(self,) + _args, _kwargs)
-        return val
-    def DrawCellHighlight(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DrawCellHighlight,(self,) + _args, _kwargs)
-        return val
-    def DrawTextRectangle(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DrawTextRectangle,(self,) + _args, _kwargs)
-        return val
-    def StringToLines(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_StringToLines,(self,) + _args, _kwargs)
-        return val
-    def GetTextBoxSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetTextBoxSize,(self,) + _args, _kwargs)
-        return val
-    def BeginBatch(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_BeginBatch,(self,) + _args, _kwargs)
-        return val
-    def EndBatch(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_EndBatch,(self,) + _args, _kwargs)
-        return val
-    def GetBatchCount(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetBatchCount,(self,) + _args, _kwargs)
-        return val
-    def IsEditable(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsEditable,(self,) + _args, _kwargs)
-        return val
-    def EnableEditing(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_EnableEditing,(self,) + _args, _kwargs)
-        return val
-    def EnableCellEditControl(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_EnableCellEditControl,(self,) + _args, _kwargs)
-        return val
-    def DisableCellEditControl(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DisableCellEditControl,(self,) + _args, _kwargs)
-        return val
-    def CanEnableCellControl(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_CanEnableCellControl,(self,) + _args, _kwargs)
-        return val
-    def IsCellEditControlEnabled(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsCellEditControlEnabled,(self,) + _args, _kwargs)
-        return val
-    def IsCellEditControlShown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsCellEditControlShown,(self,) + _args, _kwargs)
-        return val
-    def IsCurrentCellReadOnly(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsCurrentCellReadOnly,(self,) + _args, _kwargs)
-        return val
-    def ShowCellEditControl(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_ShowCellEditControl,(self,) + _args, _kwargs)
-        return val
-    def HideCellEditControl(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_HideCellEditControl,(self,) + _args, _kwargs)
-        return val
-    def SaveEditControlValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SaveEditControlValue,(self,) + _args, _kwargs)
-        return val
-    def XYToCell(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_XYToCell,(self,) + _args, _kwargs)
-        if val: val = wxGridCellCoordsPtr(val) ; val.thisown = 1
-        return val
-    def YToRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_YToRow,(self,) + _args, _kwargs)
-        return val
-    def XToCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_XToCol,(self,) + _args, _kwargs)
-        return val
-    def YToEdgeOfRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_YToEdgeOfRow,(self,) + _args, _kwargs)
-        return val
-    def XToEdgeOfCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_XToEdgeOfCol,(self,) + _args, _kwargs)
-        return val
-    def CellToRect(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_CellToRect,(self,) + _args, _kwargs)
-        if val: val = wxRectPtr(val) ; val.thisown = 1
-        return val
-    def GetGridCursorRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetGridCursorRow,(self,) + _args, _kwargs)
-        return val
-    def GetGridCursorCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetGridCursorCol,(self,) + _args, _kwargs)
-        return val
-    def IsVisible(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsVisible,(self,) + _args, _kwargs)
-        return val
-    def MakeCellVisible(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MakeCellVisible,(self,) + _args, _kwargs)
-        return val
-    def SetGridCursor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetGridCursor,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorUp(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorUp,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorDown,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorLeft(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorLeft,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorRight(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorRight,(self,) + _args, _kwargs)
-        return val
-    def MovePageDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MovePageDown,(self,) + _args, _kwargs)
-        return val
-    def MovePageUp(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MovePageUp,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorUpBlock(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorUpBlock,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorDownBlock(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorDownBlock,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorLeftBlock(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorLeftBlock,(self,) + _args, _kwargs)
-        return val
-    def MoveCursorRightBlock(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_MoveCursorRightBlock,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultRowLabelSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultRowLabelSize,(self,) + _args, _kwargs)
-        return val
-    def GetRowLabelSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetRowLabelSize,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultColLabelSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultColLabelSize,(self,) + _args, _kwargs)
-        return val
-    def GetColLabelSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetColLabelSize,(self,) + _args, _kwargs)
-        return val
-    def GetLabelBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetLabelBackgroundColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetLabelTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetLabelTextColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetLabelFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetLabelFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) ; val.thisown = 1
-        return val
-    def GetRowLabelAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetRowLabelAlignment,(self,) + _args, _kwargs)
-        return val
-    def GetColLabelAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetColLabelAlignment,(self,) + _args, _kwargs)
-        return val
-    def GetRowLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetRowLabelValue,(self,) + _args, _kwargs)
-        return val
-    def GetColLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetColLabelValue,(self,) + _args, _kwargs)
-        return val
-    def GetGridLineColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetGridLineColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetCellHighlightColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellHighlightColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def SetRowLabelSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetRowLabelSize,(self,) + _args, _kwargs)
-        return val
-    def SetColLabelSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColLabelSize,(self,) + _args, _kwargs)
-        return val
-    def SetLabelBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetLabelBackgroundColour,(self,) + _args, _kwargs)
-        return val
-    def SetLabelTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetLabelTextColour,(self,) + _args, _kwargs)
-        return val
-    def SetLabelFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetLabelFont,(self,) + _args, _kwargs)
-        return val
-    def SetRowLabelAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetRowLabelAlignment,(self,) + _args, _kwargs)
-        return val
-    def SetColLabelAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColLabelAlignment,(self,) + _args, _kwargs)
-        return val
-    def SetRowLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetRowLabelValue,(self,) + _args, _kwargs)
-        return val
-    def SetColLabelValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColLabelValue,(self,) + _args, _kwargs)
-        return val
-    def SetGridLineColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetGridLineColour,(self,) + _args, _kwargs)
-        return val
-    def SetCellHighlightColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellHighlightColour,(self,) + _args, _kwargs)
-        return val
-    def EnableDragRowSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_EnableDragRowSize,(self,) + _args, _kwargs)
-        return val
-    def DisableDragRowSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DisableDragRowSize,(self,) + _args, _kwargs)
-        return val
-    def CanDragRowSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_CanDragRowSize,(self,) + _args, _kwargs)
-        return val
-    def EnableDragColSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_EnableDragColSize,(self,) + _args, _kwargs)
-        return val
-    def DisableDragColSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DisableDragColSize,(self,) + _args, _kwargs)
-        return val
-    def CanDragColSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_CanDragColSize,(self,) + _args, _kwargs)
-        return val
-    def EnableDragGridSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_EnableDragGridSize,(self,) + _args, _kwargs)
-        return val
-    def DisableDragGridSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_DisableDragGridSize,(self,) + _args, _kwargs)
-        return val
-    def CanDragGridSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_CanDragGridSize,(self,) + _args, _kwargs)
-        return val
-    def SetRowAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetRowAttr,(self,) + _args, _kwargs)
-        return val
-    def SetColAttr(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColAttr,(self,) + _args, _kwargs)
-        return val
-    def SetColFormatBool(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColFormatBool,(self,) + _args, _kwargs)
-        return val
-    def SetColFormatNumber(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColFormatNumber,(self,) + _args, _kwargs)
-        return val
-    def SetColFormatFloat(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColFormatFloat,(self,) + _args, _kwargs)
-        return val
-    def SetColFormatCustom(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColFormatCustom,(self,) + _args, _kwargs)
-        return val
-    def EnableGridLines(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_EnableGridLines,(self,) + _args, _kwargs)
-        return val
-    def GridLinesEnabled(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GridLinesEnabled,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultRowSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultRowSize,(self,) + _args, _kwargs)
-        return val
-    def GetRowSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetRowSize,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultColSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultColSize,(self,) + _args, _kwargs)
-        return val
-    def GetColSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetColSize,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultCellBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultCellBackgroundColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetCellBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellBackgroundColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetDefaultCellTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultCellTextColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetCellTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellTextColour,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetDefaultCellFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultCellFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) ; val.thisown = 1
-        return val
-    def GetCellFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellFont,(self,) + _args, _kwargs)
-        if val: val = wxFontPtr(val) ; val.thisown = 1
-        return val
-    def GetDefaultCellAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultCellAlignment,(self,) + _args, _kwargs)
-        return val
-    def GetCellAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellAlignment,(self,) + _args, _kwargs)
-        return val
-    def SetDefaultRowSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultRowSize,(self,) + _args, _kwargs)
-        return val
-    def SetRowSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetRowSize,(self,) + _args, _kwargs)
-        return val
-    def SetDefaultColSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultColSize,(self,) + _args, _kwargs)
-        return val
-    def SetColSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColSize,(self,) + _args, _kwargs)
-        return val
-    def AutoSizeColumn(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_AutoSizeColumn,(self,) + _args, _kwargs)
-        return val
-    def AutoSizeRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_AutoSizeRow,(self,) + _args, _kwargs)
-        return val
-    def AutoSizeColumns(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_AutoSizeColumns,(self,) + _args, _kwargs)
-        return val
-    def AutoSizeRows(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_AutoSizeRows,(self,) + _args, _kwargs)
-        return val
-    def AutoSize(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_AutoSize,(self,) + _args, _kwargs)
-        return val
-    def SetColMinimalWidth(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetColMinimalWidth,(self,) + _args, _kwargs)
-        return val
-    def SetRowMinimalHeight(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetRowMinimalHeight,(self,) + _args, _kwargs)
-        return val
-    def SetDefaultCellBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultCellBackgroundColour,(self,) + _args, _kwargs)
-        return val
-    def SetCellBackgroundColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellBackgroundColour,(self,) + _args, _kwargs)
-        return val
-    def SetDefaultCellTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultCellTextColour,(self,) + _args, _kwargs)
-        return val
-    def SetCellTextColour(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellTextColour,(self,) + _args, _kwargs)
-        return val
-    def SetDefaultCellFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultCellFont,(self,) + _args, _kwargs)
-        return val
-    def SetCellFont(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellFont,(self,) + _args, _kwargs)
-        return val
-    def SetDefaultCellAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultCellAlignment,(self,) + _args, _kwargs)
-        return val
-    def SetCellAlignment(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellAlignment,(self,) + _args, _kwargs)
-        return val
-    def SetDefaultRenderer(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultRenderer,(self,) + _args, _kwargs)
-        return val
-    def SetCellRenderer(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellRenderer,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultRenderer(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultRenderer,(self,) + _args, _kwargs)
-        if val: val = wxGridCellRendererPtr(val) 
-        return val
-    def GetCellRenderer(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellRenderer,(self,) + _args, _kwargs)
-        if val: val = wxGridCellRendererPtr(val) 
-        return val
-    def SetDefaultEditor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetDefaultEditor,(self,) + _args, _kwargs)
-        return val
-    def SetCellEditor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellEditor,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultEditor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultEditor,(self,) + _args, _kwargs)
-        if val: val = wxGridCellEditorPtr(val) 
-        return val
-    def GetCellEditor(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellEditor,(self,) + _args, _kwargs)
-        if val: val = wxGridCellEditorPtr(val) 
-        return val
-    def GetCellValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetCellValue,(self,) + _args, _kwargs)
-        return val
-    def SetCellValue(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetCellValue,(self,) + _args, _kwargs)
-        return val
-    def IsReadOnly(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsReadOnly,(self,) + _args, _kwargs)
-        return val
-    def SetReadOnly(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetReadOnly,(self,) + _args, _kwargs)
-        return val
-    def SelectRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SelectRow,(self,) + _args, _kwargs)
-        return val
-    def SelectCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SelectCol,(self,) + _args, _kwargs)
-        return val
-    def SelectBlock(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SelectBlock,(self,) + _args, _kwargs)
-        return val
-    def SelectAll(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SelectAll,(self,) + _args, _kwargs)
-        return val
-    def IsSelection(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsSelection,(self,) + _args, _kwargs)
-        return val
-    def ClearSelection(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_ClearSelection,(self,) + _args, _kwargs)
-        return val
-    def IsInSelection(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_IsInSelection,(self,) + _args, _kwargs)
-        return val
-    def BlockToDeviceRect(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_BlockToDeviceRect,(self,) + _args, _kwargs)
-        if val: val = wxRectPtr(val) ; val.thisown = 1
-        return val
-    def GetSelectionBackground(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetSelectionBackground,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def GetSelectionForeground(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetSelectionForeground,(self,) + _args, _kwargs)
-        if val: val = wxColourPtr(val) ; val.thisown = 1
-        return val
-    def SetSelectionBackground(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetSelectionBackground,(self,) + _args, _kwargs)
-        return val
-    def SetSelectionForeground(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetSelectionForeground,(self,) + _args, _kwargs)
-        return val
-    def RegisterDataType(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_RegisterDataType,(self,) + _args, _kwargs)
-        return val
-    def GetDefaultEditorForCell(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultEditorForCell,(self,) + _args, _kwargs)
-        if val: val = wxGridCellEditorPtr(val) 
-        return val
-    def GetDefaultRendererForCell(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultRendererForCell,(self,) + _args, _kwargs)
-        if val: val = wxGridCellRendererPtr(val) 
-        return val
-    def GetDefaultEditorForType(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultEditorForType,(self,) + _args, _kwargs)
-        if val: val = wxGridCellEditorPtr(val) 
-        return val
-    def GetDefaultRendererForType(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_GetDefaultRendererForType,(self,) + _args, _kwargs)
-        if val: val = wxGridCellRendererPtr(val) 
-        return val
-    def SetMargins(self, *_args, **_kwargs):
-        val = apply(gridc.wxGrid_SetMargins,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = Grid
+_grid.Grid_swigregister(GridPtr)
+
+class GridEvent(core.NotifyEvent):
     def __repr__(self):
-        return "<C wxGrid instance at %s>" % (self.this,)
-class wxGrid(wxGridPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGrid,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(int id, wxEventType 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
+        """
+        newobj = _grid.new_GridEvent(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+    def GetRow(*args, **kwargs):
+        """GetRow() -> int"""
+        return _grid.GridEvent_GetRow(*args, **kwargs)
+
+    def GetCol(*args, **kwargs):
+        """GetCol() -> int"""
+        return _grid.GridEvent_GetCol(*args, **kwargs)
 
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _grid.GridEvent_GetPosition(*args, **kwargs)
 
+    def Selecting(*args, **kwargs):
+        """Selecting() -> bool"""
+        return _grid.GridEvent_Selecting(*args, **kwargs)
 
+    def ControlDown(*args, **kwargs):
+        """ControlDown() -> bool"""
+        return _grid.GridEvent_ControlDown(*args, **kwargs)
 
-class wxGridEventPtr(wxNotifyEventPtr):
-    def __init__(self,this):
+    def MetaDown(*args, **kwargs):
+        """MetaDown() -> bool"""
+        return _grid.GridEvent_MetaDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown() -> bool"""
+        return _grid.GridEvent_ShiftDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """AltDown() -> bool"""
+        return _grid.GridEvent_AltDown(*args, **kwargs)
+
+
+class GridEventPtr(GridEvent):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def GetRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_GetRow,(self,) + _args, _kwargs)
-        return val
-    def GetCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_GetCol,(self,) + _args, _kwargs)
-        return val
-    def GetPosition(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_GetPosition,(self,) + _args, _kwargs)
-        if val: val = wxPointPtr(val) ; val.thisown = 1
-        return val
-    def Selecting(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_Selecting,(self,) + _args, _kwargs)
-        return val
-    def ControlDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_ControlDown,(self,) + _args, _kwargs)
-        return val
-    def MetaDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_MetaDown,(self,) + _args, _kwargs)
-        return val
-    def ShiftDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_ShiftDown,(self,) + _args, _kwargs)
-        return val
-    def AltDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridEvent_AltDown,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridEvent
+_grid.GridEvent_swigregister(GridEventPtr)
+
+class GridSizeEvent(core.NotifyEvent):
     def __repr__(self):
-        return "<C wxGridEvent instance at %s>" % (self.this,)
-class wxGridEvent(wxGridEventPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridEvent,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridSizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(int id, wxEventType 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
+        """
+        newobj = _grid.new_GridSizeEvent(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+    def GetRowOrCol(*args, **kwargs):
+        """GetRowOrCol() -> int"""
+        return _grid.GridSizeEvent_GetRowOrCol(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition() -> Point"""
+        return _grid.GridSizeEvent_GetPosition(*args, **kwargs)
 
+    def ControlDown(*args, **kwargs):
+        """ControlDown() -> bool"""
+        return _grid.GridSizeEvent_ControlDown(*args, **kwargs)
 
+    def MetaDown(*args, **kwargs):
+        """MetaDown() -> bool"""
+        return _grid.GridSizeEvent_MetaDown(*args, **kwargs)
 
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown() -> bool"""
+        return _grid.GridSizeEvent_ShiftDown(*args, **kwargs)
 
-class wxGridSizeEventPtr(wxNotifyEventPtr):
-    def __init__(self,this):
+    def AltDown(*args, **kwargs):
+        """AltDown() -> bool"""
+        return _grid.GridSizeEvent_AltDown(*args, **kwargs)
+
+
+class GridSizeEventPtr(GridSizeEvent):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def GetRowOrCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridSizeEvent_GetRowOrCol,(self,) + _args, _kwargs)
-        return val
-    def GetPosition(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridSizeEvent_GetPosition,(self,) + _args, _kwargs)
-        if val: val = wxPointPtr(val) ; val.thisown = 1
-        return val
-    def ControlDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridSizeEvent_ControlDown,(self,) + _args, _kwargs)
-        return val
-    def MetaDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridSizeEvent_MetaDown,(self,) + _args, _kwargs)
-        return val
-    def ShiftDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridSizeEvent_ShiftDown,(self,) + _args, _kwargs)
-        return val
-    def AltDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridSizeEvent_AltDown,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridSizeEvent
+_grid.GridSizeEvent_swigregister(GridSizeEventPtr)
+
+class GridRangeSelectEvent(core.NotifyEvent):
     def __repr__(self):
-        return "<C wxGridSizeEvent instance at %s>" % (self.this,)
-class wxGridSizeEvent(wxGridSizeEventPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridSizeEvent,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridRangeSelectEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(int id, wxEventType type, Grid obj, GridCellCoords topLeft, 
+            GridCellCoords bottomRight, bool sel=True, 
+            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
+    def GetTopLeftCoords(*args, **kwargs):
+        """GetTopLeftCoords() -> GridCellCoords"""
+        return _grid.GridRangeSelectEvent_GetTopLeftCoords(*args, **kwargs)
+
+    def GetBottomRightCoords(*args, **kwargs):
+        """GetBottomRightCoords() -> GridCellCoords"""
+        return _grid.GridRangeSelectEvent_GetBottomRightCoords(*args, **kwargs)
+
+    def GetTopRow(*args, **kwargs):
+        """GetTopRow() -> int"""
+        return _grid.GridRangeSelectEvent_GetTopRow(*args, **kwargs)
 
+    def GetBottomRow(*args, **kwargs):
+        """GetBottomRow() -> int"""
+        return _grid.GridRangeSelectEvent_GetBottomRow(*args, **kwargs)
 
+    def GetLeftCol(*args, **kwargs):
+        """GetLeftCol() -> int"""
+        return _grid.GridRangeSelectEvent_GetLeftCol(*args, **kwargs)
 
+    def GetRightCol(*args, **kwargs):
+        """GetRightCol() -> int"""
+        return _grid.GridRangeSelectEvent_GetRightCol(*args, **kwargs)
 
-class wxGridRangeSelectEventPtr(wxNotifyEventPtr):
-    def __init__(self,this):
+    def Selecting(*args, **kwargs):
+        """Selecting() -> bool"""
+        return _grid.GridRangeSelectEvent_Selecting(*args, **kwargs)
+
+    def ControlDown(*args, **kwargs):
+        """ControlDown() -> bool"""
+        return _grid.GridRangeSelectEvent_ControlDown(*args, **kwargs)
+
+    def MetaDown(*args, **kwargs):
+        """MetaDown() -> bool"""
+        return _grid.GridRangeSelectEvent_MetaDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown() -> bool"""
+        return _grid.GridRangeSelectEvent_ShiftDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """AltDown() -> bool"""
+        return _grid.GridRangeSelectEvent_AltDown(*args, **kwargs)
+
+
+class GridRangeSelectEventPtr(GridRangeSelectEvent):
+    def __init__(self, this):
         self.this = this
-        self.thisown = 0
-    def GetTopLeftCoords(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_GetTopLeftCoords,(self,) + _args, _kwargs)
-        if val: val = wxGridCellCoordsPtr(val) ; val.thisown = 1
-        return val
-    def GetBottomRightCoords(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_GetBottomRightCoords,(self,) + _args, _kwargs)
-        if val: val = wxGridCellCoordsPtr(val) ; val.thisown = 1
-        return val
-    def GetTopRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_GetTopRow,(self,) + _args, _kwargs)
-        return val
-    def GetBottomRow(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_GetBottomRow,(self,) + _args, _kwargs)
-        return val
-    def GetLeftCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_GetLeftCol,(self,) + _args, _kwargs)
-        return val
-    def GetRightCol(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_GetRightCol,(self,) + _args, _kwargs)
-        return val
-    def Selecting(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_Selecting,(self,) + _args, _kwargs)
-        return val
-    def ControlDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_ControlDown,(self,) + _args, _kwargs)
-        return val
-    def MetaDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_MetaDown,(self,) + _args, _kwargs)
-        return val
-    def ShiftDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_ShiftDown,(self,) + _args, _kwargs)
-        return val
-    def AltDown(self, *_args, **_kwargs):
-        val = apply(gridc.wxGridRangeSelectEvent_AltDown,(self,) + _args, _kwargs)
-        return val
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = GridRangeSelectEvent
+_grid.GridRangeSelectEvent_swigregister(GridRangeSelectEventPtr)
+
+class GridEditorCreatedEvent(core.CommandEvent):
     def __repr__(self):
-        return "<C wxGridRangeSelectEvent instance at %s>" % (self.this,)
-class wxGridRangeSelectEvent(wxGridRangeSelectEventPtr):
-    def __init__(self,*_args,**_kwargs):
-        self.this = apply(gridc.new_wxGridRangeSelectEvent,_args,_kwargs)
+        return "<%s.%s; proxy of C++ wxGridEditorCreatedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(int id, wxEventType type, Object obj, int row, int col, 
+            Control ctrl) -> GridEditorCreatedEvent
+        """
+        newobj = _grid.new_GridEditorCreatedEvent(*args, **kwargs)
+        self.this = newobj.this
         self.thisown = 1
+        del newobj.thisown
+    def GetRow(*args, **kwargs):
+        """GetRow() -> int"""
+        return _grid.GridEditorCreatedEvent_GetRow(*args, **kwargs)
+
+    def GetCol(*args, **kwargs):
+        """GetCol() -> int"""
+        return _grid.GridEditorCreatedEvent_GetCol(*args, **kwargs)
+
+    def GetControl(*args, **kwargs):
+        """GetControl() -> Control"""
+        return _grid.GridEditorCreatedEvent_GetControl(*args, **kwargs)
 
+    def SetRow(*args, **kwargs):
+        """SetRow(int row)"""
+        return _grid.GridEditorCreatedEvent_SetRow(*args, **kwargs)
 
+    def SetCol(*args, **kwargs):
+        """SetCol(int col)"""
+        return _grid.GridEditorCreatedEvent_SetCol(*args, **kwargs)
 
+    def SetControl(*args, **kwargs):
+        """SetControl(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)
+
+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_DCLICK = _grid.wxEVT_GRID_CELL_LEFT_DCLICK
+wxEVT_GRID_CELL_RIGHT_DCLICK = _grid.wxEVT_GRID_CELL_RIGHT_DCLICK
+wxEVT_GRID_LABEL_LEFT_CLICK = _grid.wxEVT_GRID_LABEL_LEFT_CLICK
+wxEVT_GRID_LABEL_RIGHT_CLICK = _grid.wxEVT_GRID_LABEL_RIGHT_CLICK
+wxEVT_GRID_LABEL_LEFT_DCLICK = _grid.wxEVT_GRID_LABEL_LEFT_DCLICK
+wxEVT_GRID_LABEL_RIGHT_DCLICK = _grid.wxEVT_GRID_LABEL_RIGHT_DCLICK
+wxEVT_GRID_ROW_SIZE = _grid.wxEVT_GRID_ROW_SIZE
+wxEVT_GRID_COL_SIZE = _grid.wxEVT_GRID_COL_SIZE
+wxEVT_GRID_RANGE_SELECT = _grid.wxEVT_GRID_RANGE_SELECT
+wxEVT_GRID_CELL_CHANGE = _grid.wxEVT_GRID_CELL_CHANGE
+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
+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_RIGHT_DCLICK = wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_DCLICK )
+EVT_GRID_LABEL_LEFT_CLICK = wx.PyEventBinder( wxEVT_GRID_LABEL_LEFT_CLICK )
+EVT_GRID_LABEL_RIGHT_CLICK = wx.PyEventBinder( wxEVT_GRID_LABEL_RIGHT_CLICK )
+EVT_GRID_LABEL_LEFT_DCLICK = wx.PyEventBinder( wxEVT_GRID_LABEL_LEFT_DCLICK )
+EVT_GRID_LABEL_RIGHT_DCLICK = wx.PyEventBinder( wxEVT_GRID_LABEL_RIGHT_DCLICK )
+EVT_GRID_ROW_SIZE = wx.PyEventBinder( wxEVT_GRID_ROW_SIZE )
+EVT_GRID_COL_SIZE = wx.PyEventBinder( wxEVT_GRID_COL_SIZE )
+EVT_GRID_RANGE_SELECT = wx.PyEventBinder( wxEVT_GRID_RANGE_SELECT )
+EVT_GRID_CELL_CHANGE = wx.PyEventBinder( wxEVT_GRID_CELL_CHANGE )
+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 )
+
 
-#-------------- FUNCTION WRAPPERS ------------------
-
-
-
-#-------------- VARIABLE WRAPPERS ------------------
-
-wxGRID_VALUE_STRING = gridc.wxGRID_VALUE_STRING
-wxGRID_VALUE_BOOL = gridc.wxGRID_VALUE_BOOL
-wxGRID_VALUE_NUMBER = gridc.wxGRID_VALUE_NUMBER
-wxGRID_VALUE_FLOAT = gridc.wxGRID_VALUE_FLOAT
-wxGRID_VALUE_CHOICE = gridc.wxGRID_VALUE_CHOICE
-wxGRID_VALUE_TEXT = gridc.wxGRID_VALUE_TEXT
-wxGRID_VALUE_LONG = gridc.wxGRID_VALUE_LONG
-cvar = gridc.cvar
-wxGridNoCellCoords = wxGridCellCoordsPtr(gridc.cvar.wxGridNoCellCoords)
-wxGridNoCellRect = wxRectPtr(gridc.cvar.wxGridNoCellRect)
-wxGRIDTABLE_REQUEST_VIEW_GET_VALUES = gridc.wxGRIDTABLE_REQUEST_VIEW_GET_VALUES
-wxGRIDTABLE_REQUEST_VIEW_SEND_VALUES = gridc.wxGRIDTABLE_REQUEST_VIEW_SEND_VALUES
-wxGRIDTABLE_NOTIFY_ROWS_INSERTED = gridc.wxGRIDTABLE_NOTIFY_ROWS_INSERTED
-wxGRIDTABLE_NOTIFY_ROWS_APPENDED = gridc.wxGRIDTABLE_NOTIFY_ROWS_APPENDED
-wxGRIDTABLE_NOTIFY_ROWS_DELETED = gridc.wxGRIDTABLE_NOTIFY_ROWS_DELETED
-wxGRIDTABLE_NOTIFY_COLS_INSERTED = gridc.wxGRIDTABLE_NOTIFY_COLS_INSERTED
-wxGRIDTABLE_NOTIFY_COLS_APPENDED = gridc.wxGRIDTABLE_NOTIFY_COLS_APPENDED
-wxGRIDTABLE_NOTIFY_COLS_DELETED = gridc.wxGRIDTABLE_NOTIFY_COLS_DELETED
-wxEVT_GRID_CELL_LEFT_CLICK = gridc.wxEVT_GRID_CELL_LEFT_CLICK
-wxEVT_GRID_CELL_RIGHT_CLICK = gridc.wxEVT_GRID_CELL_RIGHT_CLICK
-wxEVT_GRID_CELL_LEFT_DCLICK = gridc.wxEVT_GRID_CELL_LEFT_DCLICK
-wxEVT_GRID_CELL_RIGHT_DCLICK = gridc.wxEVT_GRID_CELL_RIGHT_DCLICK
-wxEVT_GRID_LABEL_LEFT_CLICK = gridc.wxEVT_GRID_LABEL_LEFT_CLICK
-wxEVT_GRID_LABEL_RIGHT_CLICK = gridc.wxEVT_GRID_LABEL_RIGHT_CLICK
-wxEVT_GRID_LABEL_LEFT_DCLICK = gridc.wxEVT_GRID_LABEL_LEFT_DCLICK
-wxEVT_GRID_LABEL_RIGHT_DCLICK = gridc.wxEVT_GRID_LABEL_RIGHT_DCLICK
-wxEVT_GRID_ROW_SIZE = gridc.wxEVT_GRID_ROW_SIZE
-wxEVT_GRID_COL_SIZE = gridc.wxEVT_GRID_COL_SIZE
-wxEVT_GRID_RANGE_SELECT = gridc.wxEVT_GRID_RANGE_SELECT
-wxEVT_GRID_CELL_CHANGE = gridc.wxEVT_GRID_CELL_CHANGE
-wxEVT_GRID_SELECT_CELL = gridc.wxEVT_GRID_SELECT_CELL
-wxEVT_GRID_EDITOR_SHOWN = gridc.wxEVT_GRID_EDITOR_SHOWN
-wxEVT_GRID_EDITOR_HIDDEN = gridc.wxEVT_GRID_EDITOR_HIDDEN
-
-
-#-------------- USER INCLUDE -----------------------
-
-
-
-# Stuff these names into the wx namespace so wxPyConstructObject can find them
-
-wx.wxGridEventPtr                  = wxGridEventPtr
-wx.wxGridSizeEventPtr              = wxGridSizeEventPtr
-wx.wxGridRangeSelectEventPtr       = wxGridRangeSelectEventPtr
-wx.wxGridCellRendererPtr           = wxGridCellRendererPtr
-wx.wxPyGridCellRendererPtr         = wxPyGridCellRendererPtr
-wx.wxGridCellEditorPtr             = wxGridCellEditorPtr
-wx.wxPyGridCellEditorPtr           = wxPyGridCellEditorPtr
-wx.wxGridCellAttrPtr               = wxGridCellAttrPtr
-wx.wxGridCellAttrProviderPtr       = wxGridCellAttrProviderPtr
-wx.wxPyGridCellAttrProviderPtr     = wxPyGridCellAttrProviderPtr
-wx.wxGridTableBasePtr              = wxGridTableBasePtr
-wx.wxPyGridTableBasePtr            = wxPyGridTableBasePtr
-wx.wxGridTableMessagePtr           = wxGridTableMessagePtr
-wx.wxGridCellCoordsPtr             = wxGridCellCoordsPtr
-wx.wxGridPtr                       = wxGridPtr