class MyCellEditor(gridlib.PyGridCellEditor):
"""
This is a sample GridCellEditor that shows you how to make your own custom
- grid editors. All the methods that can be overridden are show here. The
+ grid editors. All the methods that can be overridden are shown here. The
ones that must be overridden are marked with "*Must Override*" in the
docstring.
-
- Notice that in order to call the base class version of these special
- methods we use the method name preceded by "base_". This is because these
- methods are "virtual" in C++ so if we try to call wx.GridCellEditor.Create
- for example, then when the wxPython extension module tries to call
- ptr->Create(...) then it actually calls the derived class version which
- looks up the method in this class and calls it, causing a recursion loop.
- If you don't understand any of this, don't worry, just call the "base_"
- version instead.
"""
def __init__(self, log):
self.log = log
to set colours or fonts for the control.
"""
self.log.write("MyCellEditor: Show(self, %s, %s)\n" % (show, attr))
- self.base_Show(show, attr)
+ super(MyCellEditor, self).Show(show, attr)
def PaintBackground(self, rect, attr):
"""
self.log.write("MyCellEditor: IsAcceptedKey: %d\n" % (evt.GetKeyCode()))
- ## Oops, there's a bug here, we'll have to do it ourself..
- ##return self.base_IsAcceptedKey(evt)
+ ## We can ask the base class to do it
+ #return super(MyCellEditor, self).IsAcceptedKey(evt)
+ # or do it ourselves
return (not (evt.ControlDown() or evt.AltDown()) and
evt.GetKeyCode() != wx.WXK_SHIFT)
elif key < 256 and key >= 0 and chr(key) in string.printable:
ch = chr(key)
- if not evt.ShiftDown():
- ch = ch.lower()
if ch is not None:
# For this example, replace the text. Normally we would append it.
def Destroy(self):
"""final cleanup"""
self.log.write("MyCellEditor: Destroy\n")
- self.base_Destroy()
+ super(MyCellEditor, self).Destroy()
def Clone(self):