# This file was created automatically by SWIG.
# Don't modify this file, modify the SWIG interface instead.
+"""
+Classes for implementing a spreadsheet-like control.
+"""
+
import _grid
+def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
+ if (name == "this"):
+ if isinstance(value, class_type):
+ self.__dict__[name] = value.this
+ if hasattr(value,"thisown"): self.__dict__["thisown"] = value.thisown
+ del value.thisown
+ return
+ method = class_type.__swig_setmethods__.get(name,None)
+ if method: return method(self,value)
+ if (not static) or hasattr(self,name) or (name == "thisown"):
+ self.__dict__[name] = value
+ else:
+ raise AttributeError("You cannot add attributes to %s" % self)
+
+def _swig_setattr(self,class_type,name,value):
+ return _swig_setattr_nondynamic(self,class_type,name,value,0)
+
+def _swig_getattr(self,class_type,name):
+ method = class_type.__swig_getmethods__.get(name,None)
+ if method: return method(self)
+ raise AttributeError,name
+
+import types
+try:
+ _object = types.ObjectType
+ _newclass = 1
+except AttributeError:
+ class _object : pass
+ _newclass = 0
+del types
+
+
+def _swig_setattr_nondynamic_method(set):
+ def set_attr(self,name,value):
+ if hasattr(self,name) or (name in ("this", "thisown")):
+ set(self,name,value)
+ else:
+ raise AttributeError("You cannot add attributes to %s" % self)
+ return set_attr
+
+
import _windows
import _core
wx = _core
-__docfilter__ = wx.__docfilter__
+__docfilter__ = wx.__DocFilter(globals())
GRID_VALUE_STRING = _grid.GRID_VALUE_STRING
GRID_VALUE_BOOL = _grid.GRID_VALUE_BOOL
GRID_VALUE_NUMBER = _grid.GRID_VALUE_NUMBER
GRID_VALUE_LONG = _grid.GRID_VALUE_LONG
GRID_VALUE_CHOICEINT = _grid.GRID_VALUE_CHOICEINT
GRID_VALUE_DATETIME = _grid.GRID_VALUE_DATETIME
+GRID_DEFAULT_NUMBER_ROWS = _grid.GRID_DEFAULT_NUMBER_ROWS
+GRID_DEFAULT_NUMBER_COLS = _grid.GRID_DEFAULT_NUMBER_COLS
+GRID_DEFAULT_ROW_HEIGHT = _grid.GRID_DEFAULT_ROW_HEIGHT
+GRID_DEFAULT_COL_WIDTH = _grid.GRID_DEFAULT_COL_WIDTH
+GRID_DEFAULT_COL_LABEL_HEIGHT = _grid.GRID_DEFAULT_COL_LABEL_HEIGHT
+GRID_DEFAULT_ROW_LABEL_WIDTH = _grid.GRID_DEFAULT_ROW_LABEL_WIDTH
+GRID_LABEL_EDGE_ZONE = _grid.GRID_LABEL_EDGE_ZONE
+GRID_MIN_ROW_HEIGHT = _grid.GRID_MIN_ROW_HEIGHT
+GRID_MIN_COL_WIDTH = _grid.GRID_MIN_COL_WIDTH
+GRID_DEFAULT_SCROLLBAR_WIDTH = _grid.GRID_DEFAULT_SCROLLBAR_WIDTH
class GridCellRenderer(object):
+ """Proxy of C++ GridCellRenderer class"""
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,)
self.__class__ = GridCellRenderer
_grid.GridCellRenderer_swigregister(GridCellRendererPtr)
cvar = _grid.cvar
-DateTimeFormatStr = cvar.DateTimeFormatStr
GridNoCellCoords = cvar.GridNoCellCoords
GridNoCellRect = cvar.GridNoCellRect
class PyGridCellRenderer(GridCellRenderer):
+ """Proxy of C++ PyGridCellRenderer class"""
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):
_grid.PyGridCellRenderer_swigregister(PyGridCellRendererPtr)
class GridCellStringRenderer(GridCellRenderer):
+ """Proxy of C++ GridCellStringRenderer class"""
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):
_grid.GridCellStringRenderer_swigregister(GridCellStringRendererPtr)
class GridCellNumberRenderer(GridCellStringRenderer):
+ """Proxy of C++ GridCellNumberRenderer class"""
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):
_grid.GridCellNumberRenderer_swigregister(GridCellNumberRendererPtr)
class GridCellFloatRenderer(GridCellStringRenderer):
+ """Proxy of C++ GridCellFloatRenderer class"""
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):
_grid.GridCellFloatRenderer_swigregister(GridCellFloatRendererPtr)
class GridCellBoolRenderer(GridCellRenderer):
+ """Proxy of C++ GridCellBoolRenderer class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellBoolRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellBoolRenderer_swigregister(GridCellBoolRendererPtr)
class GridCellDateTimeRenderer(GridCellStringRenderer):
+ """Proxy of C++ GridCellDateTimeRenderer class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellDateTimeRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
- """__init__(self, String outformat=DateTimeFormatStr, String informat=DateTimeFormatStr) -> GridCellDateTimeRenderer"""
+ """__init__(self, String outformat=wxPyDefaultDateTimeFormat, String informat=wxPyDefaultDateTimeFormat) -> GridCellDateTimeRenderer"""
newobj = _grid.new_GridCellDateTimeRenderer(*args, **kwargs)
self.this = newobj.this
self.thisown = 1
_grid.GridCellDateTimeRenderer_swigregister(GridCellDateTimeRendererPtr)
class GridCellEnumRenderer(GridCellStringRenderer):
+ """Proxy of C++ GridCellEnumRenderer class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellEnumRenderer instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellEnumRenderer_swigregister(GridCellEnumRendererPtr)
class GridCellAutoWrapStringRenderer(GridCellStringRenderer):
+ """Proxy of C++ GridCellAutoWrapStringRenderer class"""
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):
_grid.GridCellAutoWrapStringRenderer_swigregister(GridCellAutoWrapStringRendererPtr)
class GridCellEditor(object):
+ """Proxy of C++ GridCellEditor class"""
def __init__(self): raise RuntimeError, "No constructor defined"
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
_grid.GridCellEditor_swigregister(GridCellEditorPtr)
class PyGridCellEditor(GridCellEditor):
+ """Proxy of C++ PyGridCellEditor class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxPyGridCellEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.PyGridCellEditor_swigregister(PyGridCellEditorPtr)
class GridCellTextEditor(GridCellEditor):
+ """Proxy of C++ GridCellTextEditor class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellTextEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellTextEditor_swigregister(GridCellTextEditorPtr)
class GridCellNumberEditor(GridCellTextEditor):
+ """Proxy of C++ GridCellNumberEditor class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellNumberEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellNumberEditor_swigregister(GridCellNumberEditorPtr)
class GridCellFloatEditor(GridCellTextEditor):
+ """Proxy of C++ GridCellFloatEditor class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellFloatEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellFloatEditor_swigregister(GridCellFloatEditorPtr)
class GridCellBoolEditor(GridCellEditor):
+ """Proxy of C++ GridCellBoolEditor class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellBoolEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellBoolEditor_swigregister(GridCellBoolEditorPtr)
class GridCellChoiceEditor(GridCellEditor):
+ """Proxy of C++ GridCellChoiceEditor class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellChoiceEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
- """__init__(self, int choices=0, String choices_array=None, bool allowOthers=False) -> GridCellChoiceEditor"""
+ """__init__(self, int choices=0, bool allowOthers=False) -> GridCellChoiceEditor"""
newobj = _grid.new_GridCellChoiceEditor(*args, **kwargs)
self.this = newobj.this
self.thisown = 1
_grid.GridCellChoiceEditor_swigregister(GridCellChoiceEditorPtr)
class GridCellEnumEditor(GridCellChoiceEditor):
+ """Proxy of C++ GridCellEnumEditor class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellEnumEditor instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellEnumEditor_swigregister(GridCellEnumEditorPtr)
class GridCellAutoWrapStringEditor(GridCellTextEditor):
+ """Proxy of C++ GridCellAutoWrapStringEditor class"""
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):
_grid.GridCellAutoWrapStringEditor_swigregister(GridCellAutoWrapStringEditorPtr)
class GridCellAttr(object):
+ """Proxy of C++ GridCellAttr class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellAttr instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
Any = _grid.GridCellAttr_Any
"""IsReadOnly(self) -> bool"""
return _grid.GridCellAttr_IsReadOnly(*args, **kwargs)
+ def GetKind(*args, **kwargs):
+ """GetKind(self) -> int"""
+ return _grid.GridCellAttr_GetKind(*args, **kwargs)
+
def SetDefAttr(*args, **kwargs):
"""SetDefAttr(self, GridCellAttr defAttr)"""
return _grid.GridCellAttr_SetDefAttr(*args, **kwargs)
_grid.GridCellAttr_swigregister(GridCellAttrPtr)
class GridCellAttrProvider(object):
+ """Proxy of C++ GridCellAttrProvider class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridCellAttrProvider_swigregister(GridCellAttrProviderPtr)
class PyGridCellAttrProvider(GridCellAttrProvider):
+ """Proxy of C++ PyGridCellAttrProvider class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxPyGridCellAttrProvider instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.PyGridCellAttrProvider_swigregister(PyGridCellAttrProviderPtr)
class GridTableBase(_core.Object):
+ """Proxy of C++ GridTableBase class"""
def __init__(self): raise RuntimeError, "No constructor defined"
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
_grid.GridTableBase_swigregister(GridTableBasePtr)
class PyGridTableBase(GridTableBase):
+ """Proxy of C++ PyGridTableBase class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxPyGridTableBase instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.PyGridTableBase_swigregister(PyGridTableBasePtr)
class GridStringTable(GridTableBase):
+ """Proxy of C++ GridStringTable class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridStringTable instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
GRIDTABLE_NOTIFY_COLS_APPENDED = _grid.GRIDTABLE_NOTIFY_COLS_APPENDED
GRIDTABLE_NOTIFY_COLS_DELETED = _grid.GRIDTABLE_NOTIFY_COLS_DELETED
class GridTableMessage(object):
+ """Proxy of C++ GridTableMessage class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridTableMessage instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridTableMessage_swigregister(GridTableMessagePtr)
class GridCellCoords(object):
+ """Proxy of C++ GridCellCoords class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridCellCoords instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
"""__ne__(self, GridCellCoords other) -> bool"""
return _grid.GridCellCoords___ne__(*args, **kwargs)
- def asTuple(*args, **kwargs):
- """asTuple(self) -> PyObject"""
- return _grid.GridCellCoords_asTuple(*args, **kwargs)
+ def Get(*args, **kwargs):
+ """Get(self) -> PyObject"""
+ return _grid.GridCellCoords_Get(*args, **kwargs)
- def __str__(self): return str(self.asTuple())
- def __repr__(self): return 'wxGridCellCoords'+str(self.asTuple())
- def __len__(self): return len(self.asTuple())
+ asTuple = wx._deprecated(Get, "asTuple is deprecated, use `Get` instead")
+ def __str__(self): return str(self.Get())
+ def __repr__(self): return 'wxGridCellCoords'+str(self.Get())
+ def __len__(self): return len(self.Get())
def __getitem__(self, index): return self.asTuple()[index]
def __setitem__(self, index, val):
if index == 0: self.SetRow(val)
_grid.GridCellCoords_swigregister(GridCellCoordsPtr)
class Grid(_windows.ScrolledWindow):
+ """Proxy of C++ Grid class"""
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__(self, Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize,
- long style=WANTS_CHARS,
+ __init__(self, Window parent, int id=-1, Point pos=DefaultPosition,
+ Size size=DefaultSize, long style=WANTS_CHARS,
String name=PanelNameStr) -> Grid
"""
newobj = _grid.new_Grid(*args, **kwargs)
del newobj.thisown
self._setOORInfo(self)
+ def Create(*args, **kwargs):
+ """
+ Create(self, Window parent, int id=-1, Point pos=DefaultPosition,
+ Size size=DefaultSize, long style=WANTS_CHARS,
+ String name=PanelNameStr) -> bool
+ """
+ return _grid.Grid_Create(*args, **kwargs)
+
wxGridSelectCells = _grid.Grid_wxGridSelectCells
wxGridSelectRows = _grid.Grid_wxGridSelectRows
wxGridSelectColumns = _grid.Grid_wxGridSelectColumns
"""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)
"""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)
"""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)
class GridPtr(Grid):
def __init__(self, this):
self.__class__ = Grid
_grid.Grid_swigregister(GridPtr)
+def PreGrid(*args, **kwargs):
+ """PreGrid() -> Grid"""
+ val = _grid.new_PreGrid(*args, **kwargs)
+ val.thisown = 1
+ 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"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridEvent_swigregister(GridEventPtr)
class GridSizeEvent(_core.NotifyEvent):
+ """Proxy of C++ GridSizeEvent class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridSizeEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridSizeEvent_swigregister(GridSizeEventPtr)
class GridRangeSelectEvent(_core.NotifyEvent):
+ """Proxy of C++ GridRangeSelectEvent class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridRangeSelectEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
_grid.GridRangeSelectEvent_swigregister(GridRangeSelectEventPtr)
class GridEditorCreatedEvent(_core.CommandEvent):
+ """Proxy of C++ GridEditorCreatedEvent class"""
def __repr__(self):
return "<%s.%s; proxy of C++ wxGridEditorCreatedEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
def __init__(self, *args, **kwargs):
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_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 )
+