-#!/usr/bin/env python
from wxPython.wx import *
from wxPython.grid import *
+import string
#---------------------------------------------------------------------------
class MyCellEditor(wxPyGridCellEditor):
"""
PaintBackground and do something meaningful there.
"""
self.log.write("MyCellEditor: SetSize %s\n" % rect)
- self._tc.SetDimensions(rect.x, rect.y, rect.width+2, rect.height+2)
+ self._tc.SetDimensions(rect.x, rect.y, rect.width+2, rect.height+2,
+ wxSIZE_ALLOW_MINUS_ONE)
def Show(self, show, attr):
def EndEdit(self, row, col, grid):
"""
- Complete the editing of the current cell. Returns true if the value
+ Complete the editing of the current cell. Returns True if the value
has changed. If necessary, the control may be destroyed.
*Must Override*
"""
self.log.write("MyCellEditor: EndEdit (%d,%d)\n" % (row, col))
- changed = false
+ changed = False
val = self._tc.GetValue()
if val != self.startValue:
- changed = true
+ changed = True
grid.GetTable().SetValue(row, col, val) # update the table
self.startValue = ''
def IsAcceptedKey(self, evt):
"""
- Return TRUE to allow the given key to start editing: the base class
+ Return True to allow the given key to start editing: the base class
version only checks that the event has no modifiers. F2 is special
and will always start the editor.
"""
elif key < 256 and key >= 0 and chr(key) in string.printable:
ch = chr(key)
if not evt.ShiftDown():
- ch = string.lower(ch)
+ ch = ch.lower()
if ch is not None:
# For this example, replace the text. Normally we would append it.
#self._tc.AppendText(ch)
self._tc.SetValue(ch)
+ self._tc.SetInsertionPointEnd()
else:
evt.Skip()
self.SetColSize(1, 150)
self.SetColSize(2, 150)
+
#---------------------------------------------------------------------------
class TestFrame(wxFrame):
import sys
app = wxPySimpleApp()
frame = TestFrame(None, sys.stdout)
- frame.Show(true)
+ frame.Show(True)
app.MainLoop()