Hi Robin and other wxPython gurus,
When you define event handler macros, some macros requires
two arguments and some three arguments. (I count the "self" as
an argument)
Code example with a wxTextCtrl:
···
#---------------------------------------------------------
class MyTextCtrl(wxTextCtrl):
def __init__(self, parent, id, txt, pos, size):
wxTextCtrl.__init__(self, parent, id, '', pos, size)
self.id = self.GetId()
EVT_CHAR(self, self.OnChar)
EVT_KEY_UP(self, self.OnKeyUp)
EVT_KEY_DOWN(self, self.OnKeyDown)
EVT_LEFT_DOWN(self, self.OnLeftDown)
EVT_TEXT(self, self.id, self.OnText)
def OnKeyDown(self, event):
print jmtime() + 'OnKeyDown'
event.Skip()
def OnChar(self, event):
print jmtime() + 'OnChar'
event.Skip()
def OnKeyUp(self, event):
print jmtime() + 'OnKeyUp'
event.Skip()
def OnLeftDown(self, event):
print jmtime() + 'OnLeftDown'
event.Skip()
def OnText(self, event):
print jmtime() + 'OnTest'
event.Skip()
#--------------------------
From *an end user point of view*, I do not understand why you
should define a char/mouse event handler in the above class
EVT_KEY_UP(self, self.OnKeyUp)
or
EVT_LEFT_DOWN(self, self.OnLeftDown)
with 2 arguments, while using three in
EVT_TEXT(self, self.id, self.OnText)
This seems not logical. Both macros apply to the same
control. Is there a way to unify this in 2.5?
Regards
Jean-Michel Fauth, Switzerland