From 73f3c91a5ad2acbb9f32bd440f2d4ea9ab54ac08 Mon Sep 17 00:00:00 2001 From: jblum Date: Thu, 9 Oct 2008 01:42:25 +0000 Subject: [PATCH] proper custom wxPython event, in wxPython style git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9760 221aa14e-8319-0410-a670-987f0aec2ac5 --- gr-wxgui/src/python/common.py | 15 +++++++++------ gr-wxgui/src/python/number_window.py | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gr-wxgui/src/python/common.py b/gr-wxgui/src/python/common.py index e54f4dbf..f31e1a70 100644 --- a/gr-wxgui/src/python/common.py +++ b/gr-wxgui/src/python/common.py @@ -24,18 +24,21 @@ import numpy import math import wx -EVT_DATA = wx.NewEventType() -class DataEvent(wx.PyEvent): - def __init__(self, data): - wx.PyEvent.__init__(self, wx.NewId(), EVT_DATA) - self.data = data - class prop_setter(object): def _register_set_prop(self, controller, control_key, *args): def set_method(value): controller[control_key] = value if args: set_method(args[0]) setattr(self, 'set_%s'%control_key, set_method) +################################################## +# Custom Data Event +################################################## +EVT_DATA = wx.PyEventBinder(wx.NewEventType()) +class DataEvent(wx.PyEvent): + def __init__(self, data): + wx.PyEvent.__init__(self, wx.NewId(), EVT_DATA.typeId) + self.data = data + ################################################## # Input Watcher Thread ################################################## diff --git a/gr-wxgui/src/python/number_window.py b/gr-wxgui/src/python/number_window.py index dbdb6812..e766c68c 100644 --- a/gr-wxgui/src/python/number_window.py +++ b/gr-wxgui/src/python/number_window.py @@ -135,7 +135,7 @@ class number_window(wx.Panel, pubsub.pubsub, common.prop_setter): self._register_set_prop(self, RUNNING_KEY, True) #register events self.ext_controller.subscribe(msg_key, self.handle_msg) - self.Connect(wx.ID_ANY, wx.ID_ANY, common.EVT_DATA, self.update) + self.Bind(common.EVT_DATA, self.update) def show_gauges(self, show_gauge): """ -- 2.47.2