git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
#----------------------------------------------------------------------------
|
|
# 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
|
|
#----------------------------------------------------------------------------
|
|
|
|
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()
|
|
|