#----------------------------------------------------------------------------
-# 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()