#----------------------------------------------------------------------------
-# Name: wxPython.lib.mixins.grid
-# Purpose: Helpful mix-in classes for wxGrid
+# Name: wx.lib.mixins.grid
+# Purpose: Helpful mix-in classes for wx.Grid
#
# Author: Robin Dunn
#
# Copyright: (c) 2001 by Total Control Software
# Licence: wxWindows license
#----------------------------------------------------------------------------
+# 12/14/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o 2.5 compatability update.
+# o Untested
+#
+# 12/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o wxGridAutoEditMixin -> GridAutoEditMixin
+#
-from wxPython import wx, grid
+import wx
+import wx.grid
#----------------------------------------------------------------------------
-class wxGridAutoEditMixin:
+class GridAutoEditMixin:
"""A mix-in class that automatically enables the grid edit control when
a cell is selected.
"""
def __init__(self):
- self.__enableEdit = 0
- wx.EVT_IDLE(self, self.__OnIdle)
- grid.EVT_GRID_SELECT_CELL(self, self.__OnSelectCell)
+ self.Bind(wx.grid.EVT_GRID_SELECT_CELL, self.__OnSelectCell)
- def __OnIdle(self, evt):
- if self.__enableEdit:
- if self.CanEnableCellControl():
- self.EnableCellEditControl()
- self.__enableEdit = 0
- evt.Skip()
+ def __DoEnableEdit(self):
+ if self.CanEnableCellControl():
+ self.EnableCellEditControl()
def __OnSelectCell(self, evt):
- self.__enableEdit = 1
+ wx.CallAfter(self.__DoEnableEdit)
evt.Skip()