X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8b9a4190f70909de9568f45389e7aa3ecbc66b8a..28e5e577e4d26332a7ebdf7d1dc7492807fa1601:/wxPython/wx/lib/mixins/grid.py diff --git a/wxPython/wx/lib/mixins/grid.py b/wxPython/wx/lib/mixins/grid.py index a0d0c6ae79..b6040111b7 100644 --- a/wxPython/wx/lib/mixins/grid.py +++ b/wxPython/wx/lib/mixins/grid.py @@ -1,8 +1,43 @@ +#---------------------------------------------------------------------------- +# Name: wxPython.lib.mixins.grid +# Purpose: Helpful mix-in classes for wxGrid +# +# Author: Robin Dunn +# +# Created: 5-June-2001 +# RCS-ID: $Id$ +# Copyright: (c) 2001 by Total Control Software +# Licence: wxWindows license +#---------------------------------------------------------------------------- -"""Renamer stub: provides a way to drop the wx prefix from wxPython objects.""" +from wxPython import wx, grid + +#---------------------------------------------------------------------------- + + +class wxGridAutoEditMixin: + """A mix-in class that automatically enables the grid edit control when + a cell is selected. + + If your class hooks EVT_GRID_SELECT_CELL be sure to call event.Skip so + this handler will be called too. + """ + + def __init__(self): + self.__enableEdit = 0 + wx.EVT_IDLE(self, self.__OnIdle) + grid.EVT_GRID_SELECT_CELL(self, self.__OnSelectCell) + + + def __OnIdle(self, evt): + if self.__enableEdit: + if self.CanEnableCellControl(): + self.EnableCellEditControl() + self.__enableEdit = 0 + evt.Skip() + + + def __OnSelectCell(self, evt): + self.__enableEdit = 1 + evt.Skip() -from wx import _rename -from wxPython.lib.mixins import grid -_rename(globals(), grid.__dict__, modulename='lib.mixins.grid') -del grid -del _rename