wxWidgets/wxPython/wx/lib/mixins/grid.py

54 lines
1.4 KiB
Python
Raw Normal View History

#----------------------------------------------------------------------------
# Name: wxPython.lib.mixins.grid
# Purpose: Helpful mix-in classes for wx.Grid
#
# Author: Robin Dunn
#
# Created: 5-June-2001
# RCS-ID: $Id$
# 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
#
import wx
import wx.grid
#----------------------------------------------------------------------------
class GridAutoEditMixin:
"""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
self.Bind(wx.EVT_IDLE, self.__OnIdle)
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 __OnSelectCell(self, evt):
self.__enableEdit = 1
evt.Skip()