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