<[EMAIL PROTECTED]> wrote: >Now when my socket thread detects an incoming message, I need my main >thread to interpret the message and react to it by updating the GUI. >IMO the best way to achieve this is by having my socket thread send a >custom event to my application's event loop for the main thread to >process. However, I'm at a total loss as far as creating custom events >is concerned. The WxWindows documentation isn't very helpful on this >either. >I think I need to derive my own event class from the wxEvent class, but >I have no idea HOW (i.e. what methods do I need to override, etc.) Can >anyone help me?
(a) Consider whether you can do what you want with CallAfter(). (b) If you do have to go with a custom event, the idiom I've got here is: EVT_CUSTOM_WITH_DATA_ID = wxNewId() def EVT_CUSTOM_WITH_DATA(win, func): win.Connect(-1, -1, EVT_CUSTOM_WITH_DATA_ID, func) class CustomWithDataEvent(wxPyEvent): def __init__(self, data=None): wxPyEvent.__init__(self) self.data = data self.SetEventType(EVT_CUSTOM_WITH_DATA_ID) def Clone(self): return CustomWithDataEvent(self.data) but do note that this is for wxPython2.4 -- amongst other differences, EVT_CUSTOM_WITH_DATA() should be unnecessary in 2.6 (used Bind() instead). -- \S -- [EMAIL PROTECTED] -- http://www.chaos.org.uk/~sion/ ___ | "Frankly I have no feelings towards penguins one way or the other" \X/ | -- Arthur C. Clarke her nu becomeþ se bera eadward ofdun hlæddre heafdes bæce bump bump bump
-- http://mail.python.org/mailman/listinfo/python-list