+    def CanDragColSize(*args, **kwargs):
+        """CanDragColSize(self) -> bool"""
+        return _grid.Grid_CanDragColSize(*args, **kwargs)
+
+    def EnableDragGridSize(*args, **kwargs):
+        """EnableDragGridSize(self, bool enable=True)"""
+        return _grid.Grid_EnableDragGridSize(*args, **kwargs)
+
+    def DisableDragGridSize(*args, **kwargs):
+        """DisableDragGridSize(self)"""
+        return _grid.Grid_DisableDragGridSize(*args, **kwargs)
+
+    def CanDragGridSize(*args, **kwargs):
+        """CanDragGridSize(self) -> bool"""
+        return _grid.Grid_CanDragGridSize(*args, **kwargs)
+
+    def EnableDragCell(*args, **kwargs):
+        """EnableDragCell(self, bool enable=True)"""
+        return _grid.Grid_EnableDragCell(*args, **kwargs)
+
+    def DisableDragCell(*args, **kwargs):
+        """DisableDragCell(self)"""
+        return _grid.Grid_DisableDragCell(*args, **kwargs)
+
+    def CanDragCell(*args, **kwargs):
+        """CanDragCell(self) -> bool"""
+        return _grid.Grid_CanDragCell(*args, **kwargs)
+
+    def SetAttr(*args, **kwargs):
+        """SetAttr(self, int row, int col, GridCellAttr attr)"""
+        return _grid.Grid_SetAttr(*args, **kwargs)
+
+    def SetRowAttr(*args, **kwargs):
+        """SetRowAttr(self, int row, GridCellAttr attr)"""
+        return _grid.Grid_SetRowAttr(*args, **kwargs)
+
+    def SetColAttr(*args, **kwargs):
+        """SetColAttr(self, int col, GridCellAttr attr)"""
+        return _grid.Grid_SetColAttr(*args, **kwargs)
+
+    def GetOrCreateCellAttr(*args, **kwargs):
+        """GetOrCreateCellAttr(self, int row, int col) -> GridCellAttr"""
+        return _grid.Grid_GetOrCreateCellAttr(*args, **kwargs)
+
+    def SetColFormatBool(*args, **kwargs):
+        """SetColFormatBool(self, int col)"""
+        return _grid.Grid_SetColFormatBool(*args, **kwargs)
+
+    def SetColFormatNumber(*args, **kwargs):
+        """SetColFormatNumber(self, int col)"""
+        return _grid.Grid_SetColFormatNumber(*args, **kwargs)
+
+    def SetColFormatFloat(*args, **kwargs):
+        """SetColFormatFloat(self, int col, int width=-1, int precision=-1)"""
+        return _grid.Grid_SetColFormatFloat(*args, **kwargs)
+
+    def SetColFormatCustom(*args, **kwargs):
+        """SetColFormatCustom(self, int col, String typeName)"""
+        return _grid.Grid_SetColFormatCustom(*args, **kwargs)
+
+    def EnableGridLines(*args, **kwargs):
+        """EnableGridLines(self, bool enable=True)"""
+        return _grid.Grid_EnableGridLines(*args, **kwargs)
+
+    def GridLinesEnabled(*args, **kwargs):
+        """GridLinesEnabled(self) -> bool"""
+        return _grid.Grid_GridLinesEnabled(*args, **kwargs)
+
+    def GetDefaultRowSize(*args, **kwargs):
+        """GetDefaultRowSize(self) -> int"""
+        return _grid.Grid_GetDefaultRowSize(*args, **kwargs)
+
+    def GetRowSize(*args, **kwargs):
+        """GetRowSize(self, int row) -> int"""
+        return _grid.Grid_GetRowSize(*args, **kwargs)
+
+    def GetDefaultColSize(*args, **kwargs):
+        """GetDefaultColSize(self) -> int"""
+        return _grid.Grid_GetDefaultColSize(*args, **kwargs)
+
+    def GetColSize(*args, **kwargs):
+        """GetColSize(self, int col) -> int"""
+        return _grid.Grid_GetColSize(*args, **kwargs)
+
+    def GetDefaultCellBackgroundColour(*args, **kwargs):
+        """GetDefaultCellBackgroundColour(self) -> Colour"""
+        return _grid.Grid_GetDefaultCellBackgroundColour(*args, **kwargs)
+
+    def GetCellBackgroundColour(*args, **kwargs):
+        """GetCellBackgroundColour(self, int row, int col) -> Colour"""
+        return _grid.Grid_GetCellBackgroundColour(*args, **kwargs)
+
+    def GetDefaultCellTextColour(*args, **kwargs):
+        """GetDefaultCellTextColour(self) -> Colour"""
+        return _grid.Grid_GetDefaultCellTextColour(*args, **kwargs)
+
+    def GetCellTextColour(*args, **kwargs):
+        """GetCellTextColour(self, int row, int col) -> Colour"""
+        return _grid.Grid_GetCellTextColour(*args, **kwargs)
+
+    def GetDefaultCellFont(*args, **kwargs):
+        """GetDefaultCellFont(self) -> Font"""
+        return _grid.Grid_GetDefaultCellFont(*args, **kwargs)
+
+    def GetCellFont(*args, **kwargs):
+        """GetCellFont(self, 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(self) -> bool"""
+        return _grid.Grid_GetDefaultCellOverflow(*args, **kwargs)
+
+    def GetCellOverflow(*args, **kwargs):
+        """GetCellOverflow(self, 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(self, int height, bool resizeExistingRows=False)"""
+        return _grid.Grid_SetDefaultRowSize(*args, **kwargs)
+
+    def SetRowSize(*args, **kwargs):
+        """SetRowSize(self, int row, int height)"""
+        return _grid.Grid_SetRowSize(*args, **kwargs)
+
+    def SetDefaultColSize(*args, **kwargs):
+        """SetDefaultColSize(self, int width, bool resizeExistingCols=False)"""
+        return _grid.Grid_SetDefaultColSize(*args, **kwargs)
+
+    def SetColSize(*args, **kwargs):
+        """SetColSize(self, int col, int width)"""
+        return _grid.Grid_SetColSize(*args, **kwargs)
+
+    def AutoSizeColumn(*args, **kwargs):
+        """AutoSizeColumn(self, int col, bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeColumn(*args, **kwargs)
+
+    def AutoSizeRow(*args, **kwargs):
+        """AutoSizeRow(self, int row, bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeRow(*args, **kwargs)
+
+    def AutoSizeColumns(*args, **kwargs):
+        """AutoSizeColumns(self, bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeColumns(*args, **kwargs)
+
+    def AutoSizeRows(*args, **kwargs):
+        """AutoSizeRows(self, bool setAsMin=True)"""
+        return _grid.Grid_AutoSizeRows(*args, **kwargs)
+
+    def AutoSize(*args, **kwargs):
+        """AutoSize(self)"""
+        return _grid.Grid_AutoSize(*args, **kwargs)
+
+    def AutoSizeRowLabelSize(*args, **kwargs):
+        """AutoSizeRowLabelSize(self, int row)"""
+        return _grid.Grid_AutoSizeRowLabelSize(*args, **kwargs)
+
+    def AutoSizeColLabelSize(*args, **kwargs):
+        """AutoSizeColLabelSize(self, int col)"""
+        return _grid.Grid_AutoSizeColLabelSize(*args, **kwargs)
+
+    def SetColMinimalWidth(*args, **kwargs):
+        """SetColMinimalWidth(self, int col, int width)"""
+        return _grid.Grid_SetColMinimalWidth(*args, **kwargs)
+
+    def SetRowMinimalHeight(*args, **kwargs):
+        """SetRowMinimalHeight(self, int row, int width)"""
+        return _grid.Grid_SetRowMinimalHeight(*args, **kwargs)
+
+    def SetColMinimalAcceptableWidth(*args, **kwargs):
+        """SetColMinimalAcceptableWidth(self, int width)"""
+        return _grid.Grid_SetColMinimalAcceptableWidth(*args, **kwargs)
+
+    def SetRowMinimalAcceptableHeight(*args, **kwargs):
+        """SetRowMinimalAcceptableHeight(self, int width)"""
+        return _grid.Grid_SetRowMinimalAcceptableHeight(*args, **kwargs)
+
+    def GetColMinimalAcceptableWidth(*args, **kwargs):
+        """GetColMinimalAcceptableWidth(self) -> int"""
+        return _grid.Grid_GetColMinimalAcceptableWidth(*args, **kwargs)
+
+    def GetRowMinimalAcceptableHeight(*args, **kwargs):
+        """GetRowMinimalAcceptableHeight(self) -> int"""
+        return _grid.Grid_GetRowMinimalAcceptableHeight(*args, **kwargs)
+
+    def SetDefaultCellBackgroundColour(*args, **kwargs):
+        """SetDefaultCellBackgroundColour(self, Colour ?)"""
+        return _grid.Grid_SetDefaultCellBackgroundColour(*args, **kwargs)
+
+    def SetCellBackgroundColour(*args, **kwargs):
+        """SetCellBackgroundColour(self, int row, int col, Colour ?)"""
+        return _grid.Grid_SetCellBackgroundColour(*args, **kwargs)
+
+    def SetDefaultCellTextColour(*args, **kwargs):
+        """SetDefaultCellTextColour(self, Colour ?)"""
+        return _grid.Grid_SetDefaultCellTextColour(*args, **kwargs)
+
+    def SetCellTextColour(*args, **kwargs):
+        """SetCellTextColour(self, int row, int col, Colour ?)"""
+        return _grid.Grid_SetCellTextColour(*args, **kwargs)
+
+    def SetDefaultCellFont(*args, **kwargs):
+        """SetDefaultCellFont(self, Font ?)"""
+        return _grid.Grid_SetDefaultCellFont(*args, **kwargs)
+
+    def SetCellFont(*args, **kwargs):
+        """SetCellFont(self, int row, int col, Font ?)"""
+        return _grid.Grid_SetCellFont(*args, **kwargs)
+
+    def SetDefaultCellAlignment(*args, **kwargs):
+        """SetDefaultCellAlignment(self, int horiz, int vert)"""
+        return _grid.Grid_SetDefaultCellAlignment(*args, **kwargs)
+
+    def SetCellAlignment(*args, **kwargs):
+        """SetCellAlignment(self, int row, int col, int horiz, int vert)"""
+        return _grid.Grid_SetCellAlignment(*args, **kwargs)
+
+    def SetDefaultCellOverflow(*args, **kwargs):
+        """SetDefaultCellOverflow(self, bool allow)"""
+        return _grid.Grid_SetDefaultCellOverflow(*args, **kwargs)
+
+    def SetCellOverflow(*args, **kwargs):
+        """SetCellOverflow(self, int row, int col, bool allow)"""
+        return _grid.Grid_SetCellOverflow(*args, **kwargs)
+
+    def SetCellSize(*args, **kwargs):
+        """SetCellSize(self, int row, int col, int num_rows, int num_cols)"""
+        return _grid.Grid_SetCellSize(*args, **kwargs)
+
+    def SetDefaultRenderer(*args, **kwargs):
+        """SetDefaultRenderer(self, GridCellRenderer renderer)"""
+        return _grid.Grid_SetDefaultRenderer(*args, **kwargs)
+
+    def SetCellRenderer(*args, **kwargs):
+        """SetCellRenderer(self, int row, int col, GridCellRenderer renderer)"""
+        return _grid.Grid_SetCellRenderer(*args, **kwargs)
+
+    def GetDefaultRenderer(*args, **kwargs):
+        """GetDefaultRenderer(self) -> GridCellRenderer"""
+        return _grid.Grid_GetDefaultRenderer(*args, **kwargs)
+
+    def GetCellRenderer(*args, **kwargs):
+        """GetCellRenderer(self, int row, int col) -> GridCellRenderer"""
+        return _grid.Grid_GetCellRenderer(*args, **kwargs)
+
+    def SetDefaultEditor(*args, **kwargs):
+        """SetDefaultEditor(self, GridCellEditor editor)"""
+        return _grid.Grid_SetDefaultEditor(*args, **kwargs)
+
+    def SetCellEditor(*args, **kwargs):
+        """SetCellEditor(self, int row, int col, GridCellEditor editor)"""
+        return _grid.Grid_SetCellEditor(*args, **kwargs)
+
+    def GetDefaultEditor(*args, **kwargs):
+        """GetDefaultEditor(self) -> GridCellEditor"""
+        return _grid.Grid_GetDefaultEditor(*args, **kwargs)
+
+    def GetCellEditor(*args, **kwargs):
+        """GetCellEditor(self, int row, int col) -> GridCellEditor"""
+        return _grid.Grid_GetCellEditor(*args, **kwargs)
+
+    def GetCellValue(*args, **kwargs):
+        """GetCellValue(self, int row, int col) -> String"""
+        return _grid.Grid_GetCellValue(*args, **kwargs)
+
+    def SetCellValue(*args, **kwargs):
+        """SetCellValue(self, int row, int col, String s)"""
+        return _grid.Grid_SetCellValue(*args, **kwargs)
+
+    def IsReadOnly(*args, **kwargs):
+        """IsReadOnly(self, int row, int col) -> bool"""
+        return _grid.Grid_IsReadOnly(*args, **kwargs)
+
+    def SetReadOnly(*args, **kwargs):
+        """SetReadOnly(self, int row, int col, bool isReadOnly=True)"""
+        return _grid.Grid_SetReadOnly(*args, **kwargs)
+
+    def SelectRow(*args, **kwargs):
+        """SelectRow(self, int row, bool addToSelected=False)"""
+        return _grid.Grid_SelectRow(*args, **kwargs)
+
+    def SelectCol(*args, **kwargs):
+        """SelectCol(self, int col, bool addToSelected=False)"""
+        return _grid.Grid_SelectCol(*args, **kwargs)
+
+    def SelectBlock(*args, **kwargs):
+        """
+        SelectBlock(self, int topRow, int leftCol, int bottomRow, int rightCol, 
+            bool addToSelected=False)
+        """
+        return _grid.Grid_SelectBlock(*args, **kwargs)
+
+    def SelectAll(*args, **kwargs):
+        """SelectAll(self)"""
+        return _grid.Grid_SelectAll(*args, **kwargs)
+
+    def IsSelection(*args, **kwargs):
+        """IsSelection(self) -> bool"""
+        return _grid.Grid_IsSelection(*args, **kwargs)
+
+    def ClearSelection(*args, **kwargs):
+        """ClearSelection(self)"""
+        return _grid.Grid_ClearSelection(*args, **kwargs)
+
+    def IsInSelection(*args, **kwargs):
+        """IsInSelection(self, int row, int col) -> bool"""
+        return _grid.Grid_IsInSelection(*args, **kwargs)
+
+    def GetSelectedCells(*args, **kwargs):
+        """GetSelectedCells(self) -> wxGridCellCoordsArray"""
+        return _grid.Grid_GetSelectedCells(*args, **kwargs)
+
+    def GetSelectionBlockTopLeft(*args, **kwargs):
+        """GetSelectionBlockTopLeft(self) -> wxGridCellCoordsArray"""
+        return _grid.Grid_GetSelectionBlockTopLeft(*args, **kwargs)
+
+    def GetSelectionBlockBottomRight(*args, **kwargs):
+        """GetSelectionBlockBottomRight(self) -> wxGridCellCoordsArray"""
+        return _grid.Grid_GetSelectionBlockBottomRight(*args, **kwargs)
+
+    def GetSelectedRows(*args, **kwargs):
+        """GetSelectedRows(self) -> wxArrayInt"""
+        return _grid.Grid_GetSelectedRows(*args, **kwargs)
+
+    def GetSelectedCols(*args, **kwargs):
+        """GetSelectedCols(self) -> wxArrayInt"""
+        return _grid.Grid_GetSelectedCols(*args, **kwargs)
+
+    def DeselectRow(*args, **kwargs):
+        """DeselectRow(self, int row)"""
+        return _grid.Grid_DeselectRow(*args, **kwargs)
+
+    def DeselectCol(*args, **kwargs):
+        """DeselectCol(self, int col)"""
+        return _grid.Grid_DeselectCol(*args, **kwargs)
+
+    def DeselectCell(*args, **kwargs):
+        """DeselectCell(self, int row, int col)"""
+        return _grid.Grid_DeselectCell(*args, **kwargs)
+
+    def BlockToDeviceRect(*args, **kwargs):
+        """BlockToDeviceRect(self, GridCellCoords topLeft, GridCellCoords bottomRight) -> Rect"""
+        return _grid.Grid_BlockToDeviceRect(*args, **kwargs)
+
+    def GetSelectionBackground(*args, **kwargs):
+        """GetSelectionBackground(self) -> Colour"""
+        return _grid.Grid_GetSelectionBackground(*args, **kwargs)
+
+    def GetSelectionForeground(*args, **kwargs):
+        """GetSelectionForeground(self) -> Colour"""
+        return _grid.Grid_GetSelectionForeground(*args, **kwargs)
+
+    def SetSelectionBackground(*args, **kwargs):
+        """SetSelectionBackground(self, Colour c)"""
+        return _grid.Grid_SetSelectionBackground(*args, **kwargs)
+
+    def SetSelectionForeground(*args, **kwargs):
+        """SetSelectionForeground(self, Colour c)"""
+        return _grid.Grid_SetSelectionForeground(*args, **kwargs)
+
+    def RegisterDataType(*args, **kwargs):
+        """RegisterDataType(self, String typeName, GridCellRenderer renderer, GridCellEditor editor)"""
+        return _grid.Grid_RegisterDataType(*args, **kwargs)
+
+    def GetDefaultEditorForCell(*args, **kwargs):
+        """GetDefaultEditorForCell(self, int row, int col) -> GridCellEditor"""
+        return _grid.Grid_GetDefaultEditorForCell(*args, **kwargs)
+
+    def GetDefaultRendererForCell(*args, **kwargs):
+        """GetDefaultRendererForCell(self, int row, int col) -> GridCellRenderer"""
+        return _grid.Grid_GetDefaultRendererForCell(*args, **kwargs)
+
+    def GetDefaultEditorForType(*args, **kwargs):
+        """GetDefaultEditorForType(self, String typeName) -> GridCellEditor"""
+        return _grid.Grid_GetDefaultEditorForType(*args, **kwargs)
+
+    def GetDefaultRendererForType(*args, **kwargs):
+        """GetDefaultRendererForType(self, String typeName) -> GridCellRenderer"""
+        return _grid.Grid_GetDefaultRendererForType(*args, **kwargs)
+
+    def SetMargins(*args, **kwargs):
+        """SetMargins(self, int extraWidth, int extraHeight)"""
+        return _grid.Grid_SetMargins(*args, **kwargs)
+
+    def GetGridWindow(*args, **kwargs):
+        """GetGridWindow(self) -> Window"""
+        return _grid.Grid_GetGridWindow(*args, **kwargs)
+
+    def GetGridRowLabelWindow(*args, **kwargs):
+        """GetGridRowLabelWindow(self) -> Window"""
+        return _grid.Grid_GetGridRowLabelWindow(*args, **kwargs)
+
+    def GetGridColLabelWindow(*args, **kwargs):
+        """GetGridColLabelWindow(self) -> Window"""
+        return _grid.Grid_GetGridColLabelWindow(*args, **kwargs)
+
+    def GetGridCornerLabelWindow(*args, **kwargs):
+        """GetGridCornerLabelWindow(self) -> Window"""
+        return _grid.Grid_GetGridCornerLabelWindow(*args, **kwargs)
+
+    def SetScrollLineX(*args, **kwargs):
+        """SetScrollLineX(self, int x)"""
+        return _grid.Grid_SetScrollLineX(*args, **kwargs)
+
+    def SetScrollLineY(*args, **kwargs):
+        """SetScrollLineY(self, int y)"""
+        return _grid.Grid_SetScrollLineY(*args, **kwargs)
+
+    def GetScrollLineX(*args, **kwargs):
+        """GetScrollLineX(self) -> int"""
+        return _grid.Grid_GetScrollLineX(*args, **kwargs)
+
+    def GetScrollLineY(*args, **kwargs):
+        """GetScrollLineY(self) -> int"""
+        return _grid.Grid_GetScrollLineY(*args, **kwargs)
+
+    def GetScrollX(*args, **kwargs):
+        """GetScrollX(self, int x) -> int"""
+        return _grid.Grid_GetScrollX(*args, **kwargs)
+
+    def GetScrollY(*args, **kwargs):
+        """GetScrollY(self, int y) -> int"""
+        return _grid.Grid_GetScrollY(*args, **kwargs)
+
+    def GetClassDefaultAttributes(*args, **kwargs):
+        """
+        GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+        Get the default attributes for this class.  This is useful if you want
+        to use the same font or colour in your own control as in a standard
+        control -- which is a much better idea than hard coding specific
+        colours or fonts which might look completely out of place on the
+        user's system, especially if it uses themes.
+
+        The variant parameter is only relevant under Mac currently and is
+        ignore under other platforms. Under Mac, it will change the size of
+        the returned font. See `wx.Window.SetWindowVariant` for more about
+        this.
+        """
+        return _grid.Grid_GetClassDefaultAttributes(*args, **kwargs)
+
+    GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
+Grid_swigregister = _grid.Grid_swigregister
+Grid_swigregister(Grid)
+
+def PreGrid(*args, **kwargs):
+    """PreGrid() -> Grid"""
+    val = _grid.new_PreGrid(*args, **kwargs)
+    return val
+
+def Grid_GetClassDefaultAttributes(*args, **kwargs):
+  """
+    Grid_GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
+
+    Get the default attributes for this class.  This is useful if you want
+    to use the same font or colour in your own control as in a standard
+    control -- which is a much better idea than hard coding specific
+    colours or fonts which might look completely out of place on the
+    user's system, especially if it uses themes.
+
+    The variant parameter is only relevant under Mac currently and is
+    ignore under other platforms. Under Mac, it will change the size of
+    the returned font. See `wx.Window.SetWindowVariant` for more about
+    this.
+    """
+  return _grid.Grid_GetClassDefaultAttributes(*args, **kwargs)
+
+class GridEvent(_core.NotifyEvent):
+    """Proxy of C++ GridEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int id, wxEventType type, Grid obj, int row=-1, int col=-1, 
+            int x=-1, int y=-1, bool sel=True, bool control=False, 
+            bool shift=False, bool alt=False, 
+            bool meta=False) -> GridEvent
+        """
+        _grid.GridEvent_swiginit(self,_grid.new_GridEvent(*args, **kwargs))
+    def GetRow(*args, **kwargs):
+        """GetRow(self) -> int"""
+        return _grid.GridEvent_GetRow(*args, **kwargs)
+
+    def GetCol(*args, **kwargs):
+        """GetCol(self) -> int"""
+        return _grid.GridEvent_GetCol(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition(self) -> Point"""
+        return _grid.GridEvent_GetPosition(*args, **kwargs)
+
+    def Selecting(*args, **kwargs):
+        """Selecting(self) -> bool"""
+        return _grid.GridEvent_Selecting(*args, **kwargs)
+
+    def ControlDown(*args, **kwargs):
+        """ControlDown(self) -> bool"""
+        return _grid.GridEvent_ControlDown(*args, **kwargs)
+
+    def MetaDown(*args, **kwargs):
+        """MetaDown(self) -> bool"""
+        return _grid.GridEvent_MetaDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown(self) -> bool"""
+        return _grid.GridEvent_ShiftDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """AltDown(self) -> bool"""
+        return _grid.GridEvent_AltDown(*args, **kwargs)
+
+GridEvent_swigregister = _grid.GridEvent_swigregister
+GridEvent_swigregister(GridEvent)
+
+class GridSizeEvent(_core.NotifyEvent):
+    """Proxy of C++ GridSizeEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int id, wxEventType type, Grid obj, int rowOrCol=-1, 
+            int x=-1, int y=-1, bool control=False, bool shift=False, 
+            bool alt=False, bool meta=False) -> GridSizeEvent
+        """
+        _grid.GridSizeEvent_swiginit(self,_grid.new_GridSizeEvent(*args, **kwargs))
+    def GetRowOrCol(*args, **kwargs):
+        """GetRowOrCol(self) -> int"""
+        return _grid.GridSizeEvent_GetRowOrCol(*args, **kwargs)
+
+    def GetPosition(*args, **kwargs):
+        """GetPosition(self) -> Point"""
+        return _grid.GridSizeEvent_GetPosition(*args, **kwargs)
+
+    def ControlDown(*args, **kwargs):
+        """ControlDown(self) -> bool"""
+        return _grid.GridSizeEvent_ControlDown(*args, **kwargs)
+
+    def MetaDown(*args, **kwargs):
+        """MetaDown(self) -> bool"""
+        return _grid.GridSizeEvent_MetaDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown(self) -> bool"""
+        return _grid.GridSizeEvent_ShiftDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """AltDown(self) -> bool"""
+        return _grid.GridSizeEvent_AltDown(*args, **kwargs)
+
+GridSizeEvent_swigregister = _grid.GridSizeEvent_swigregister
+GridSizeEvent_swigregister(GridSizeEvent)
+
+class GridRangeSelectEvent(_core.NotifyEvent):
+    """Proxy of C++ GridRangeSelectEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int id, wxEventType type, Grid obj, GridCellCoords topLeft, 
+            GridCellCoords bottomRight, bool sel=True, 
+            bool control=False, bool shift=False, 
+            bool alt=False, bool meta=False) -> GridRangeSelectEvent
+        """
+        _grid.GridRangeSelectEvent_swiginit(self,_grid.new_GridRangeSelectEvent(*args, **kwargs))
+    def GetTopLeftCoords(*args, **kwargs):
+        """GetTopLeftCoords(self) -> GridCellCoords"""
+        return _grid.GridRangeSelectEvent_GetTopLeftCoords(*args, **kwargs)
+
+    def GetBottomRightCoords(*args, **kwargs):
+        """GetBottomRightCoords(self) -> GridCellCoords"""
+        return _grid.GridRangeSelectEvent_GetBottomRightCoords(*args, **kwargs)
+
+    def GetTopRow(*args, **kwargs):
+        """GetTopRow(self) -> int"""
+        return _grid.GridRangeSelectEvent_GetTopRow(*args, **kwargs)
+
+    def GetBottomRow(*args, **kwargs):
+        """GetBottomRow(self) -> int"""
+        return _grid.GridRangeSelectEvent_GetBottomRow(*args, **kwargs)
+
+    def GetLeftCol(*args, **kwargs):
+        """GetLeftCol(self) -> int"""
+        return _grid.GridRangeSelectEvent_GetLeftCol(*args, **kwargs)
+
+    def GetRightCol(*args, **kwargs):
+        """GetRightCol(self) -> int"""
+        return _grid.GridRangeSelectEvent_GetRightCol(*args, **kwargs)
+
+    def Selecting(*args, **kwargs):
+        """Selecting(self) -> bool"""
+        return _grid.GridRangeSelectEvent_Selecting(*args, **kwargs)
+
+    def ControlDown(*args, **kwargs):
+        """ControlDown(self) -> bool"""
+        return _grid.GridRangeSelectEvent_ControlDown(*args, **kwargs)
+
+    def MetaDown(*args, **kwargs):
+        """MetaDown(self) -> bool"""
+        return _grid.GridRangeSelectEvent_MetaDown(*args, **kwargs)
+
+    def ShiftDown(*args, **kwargs):
+        """ShiftDown(self) -> bool"""
+        return _grid.GridRangeSelectEvent_ShiftDown(*args, **kwargs)
+
+    def AltDown(*args, **kwargs):
+        """AltDown(self) -> bool"""
+        return _grid.GridRangeSelectEvent_AltDown(*args, **kwargs)
+
+GridRangeSelectEvent_swigregister = _grid.GridRangeSelectEvent_swigregister
+GridRangeSelectEvent_swigregister(GridRangeSelectEvent)
+
+class GridEditorCreatedEvent(_core.CommandEvent):
+    """Proxy of C++ GridEditorCreatedEvent class"""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, int id, wxEventType type, Object obj, int row, int col, 
+            Control ctrl) -> GridEditorCreatedEvent
+        """
+        _grid.GridEditorCreatedEvent_swiginit(self,_grid.new_GridEditorCreatedEvent(*args, **kwargs))
+    def GetRow(*args, **kwargs):
+        """GetRow(self) -> int"""
+        return _grid.GridEditorCreatedEvent_GetRow(*args, **kwargs)
+
+    def GetCol(*args, **kwargs):
+        """GetCol(self) -> int"""
+        return _grid.GridEditorCreatedEvent_GetCol(*args, **kwargs)
+
+    def GetControl(*args, **kwargs):
+        """GetControl(self) -> Control"""
+        return _grid.GridEditorCreatedEvent_GetControl(*args, **kwargs)
+
+    def SetRow(*args, **kwargs):
+        """SetRow(self, int row)"""
+        return _grid.GridEditorCreatedEvent_SetRow(*args, **kwargs)
+
+    def SetCol(*args, **kwargs):
+        """SetCol(self, int col)"""
+        return _grid.GridEditorCreatedEvent_SetCol(*args, **kwargs)
+
+    def SetControl(*args, **kwargs):
+        """SetControl(self, Control ctrl)"""
+        return _grid.GridEditorCreatedEvent_SetControl(*args, **kwargs)
+
+GridEditorCreatedEvent_swigregister = _grid.GridEditorCreatedEvent_swigregister
+GridEditorCreatedEvent_swigregister(GridEditorCreatedEvent)
+
+wxEVT_GRID_CELL_LEFT_CLICK = _grid.wxEVT_GRID_CELL_LEFT_CLICK
+wxEVT_GRID_CELL_RIGHT_CLICK = _grid.wxEVT_GRID_CELL_RIGHT_CLICK
+wxEVT_GRID_CELL_LEFT_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
+wxEVT_GRID_CELL_BEGIN_DRAG = _grid.wxEVT_GRID_CELL_BEGIN_DRAG
+EVT_GRID_CELL_LEFT_CLICK = wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_CLICK )
+EVT_GRID_CELL_RIGHT_CLICK = wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_CLICK )
+EVT_GRID_CELL_LEFT_DCLICK = wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_DCLICK )
+EVT_GRID_CELL_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 )
+EVT_GRID_CELL_BEGIN_DRAG = wx.PyEventBinder( wxEVT_GRID_CELL_BEGIN_DRAG )
+
+
+# The same as above but with the ability to specify an identifier
+EVT_GRID_CMD_CELL_LEFT_CLICK =     wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_CLICK,    1 )
+EVT_GRID_CMD_CELL_RIGHT_CLICK =    wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_CLICK,   1 )
+EVT_GRID_CMD_CELL_LEFT_DCLICK =    wx.PyEventBinder( wxEVT_GRID_CELL_LEFT_DCLICK,   1 )
+EVT_GRID_CMD_CELL_RIGHT_DCLICK =   wx.PyEventBinder( wxEVT_GRID_CELL_RIGHT_DCLICK,  1 )
+EVT_GRID_CMD_LABEL_LEFT_CLICK =    wx.PyEventBinder( wxEVT_GRID_LABEL_LEFT_CLICK,   1 )
+EVT_GRID_CMD_LABEL_RIGHT_CLICK =   wx.PyEventBinder( wxEVT_GRID_LABEL_RIGHT_CLICK,  1 )
+EVT_GRID_CMD_LABEL_LEFT_DCLICK =   wx.PyEventBinder( wxEVT_GRID_LABEL_LEFT_DCLICK,  1 )
+EVT_GRID_CMD_LABEL_RIGHT_DCLICK =  wx.PyEventBinder( wxEVT_GRID_LABEL_RIGHT_DCLICK, 1 )
+EVT_GRID_CMD_ROW_SIZE =            wx.PyEventBinder( wxEVT_GRID_ROW_SIZE,           1 )
+EVT_GRID_CMD_COL_SIZE =            wx.PyEventBinder( wxEVT_GRID_COL_SIZE,           1 )
+EVT_GRID_CMD_RANGE_SELECT =        wx.PyEventBinder( wxEVT_GRID_RANGE_SELECT,       1 )
+EVT_GRID_CMD_CELL_CHANGE =         wx.PyEventBinder( wxEVT_GRID_CELL_CHANGE,        1 )
+EVT_GRID_CMD_SELECT_CELL =         wx.PyEventBinder( wxEVT_GRID_SELECT_CELL,        1 )
+EVT_GRID_CMD_EDITOR_SHOWN =        wx.PyEventBinder( wxEVT_GRID_EDITOR_SHOWN,       1 )
+EVT_GRID_CMD_EDITOR_HIDDEN =       wx.PyEventBinder( wxEVT_GRID_EDITOR_HIDDEN,      1 )
+EVT_GRID_CMD_EDITOR_CREATED =      wx.PyEventBinder( wxEVT_GRID_EDITOR_CREATED,     1 )
+EVT_GRID_CMD_CELL_BEGIN_DRAG =     wx.PyEventBinder( wxEVT_GRID_CELL_BEGIN_DRAG,    1 )
+