commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r8897 - gnuradio/branches/features/experimental-gui


From: jblum
Subject: [Commit-gnuradio] r8897 - gnuradio/branches/features/experimental-gui
Date: Tue, 15 Jul 2008 18:04:35 -0600 (MDT)

Author: jblum
Date: 2008-07-15 18:04:34 -0600 (Tue, 15 Jul 2008)
New Revision: 8897

Modified:
   gnuradio/branches/features/experimental-gui/common.py
   gnuradio/branches/features/experimental-gui/fft_window.py
   gnuradio/branches/features/experimental-gui/fftsink.py
   gnuradio/branches/features/experimental-gui/scope_window.py
   gnuradio/branches/features/experimental-gui/scopesink.py
Log:
prop_setter

Modified: gnuradio/branches/features/experimental-gui/common.py
===================================================================
--- gnuradio/branches/features/experimental-gui/common.py       2008-07-15 
23:46:05 UTC (rev 8896)
+++ gnuradio/branches/features/experimental-gui/common.py       2008-07-16 
00:04:34 UTC (rev 8897)
@@ -24,6 +24,12 @@
 import math
 import wx
 
+class prop_setter(object):
+       def _register_set_prop(self, controller, control_key, default):
+               def set_method(value): controller[control_key] = value
+               set_method(default)
+               setattr(self, 'set_%s'%control_key, set_method)
+
 ##################################################
 # Input Watcher Thread
 ##################################################

Modified: gnuradio/branches/features/experimental-gui/fft_window.py
===================================================================
--- gnuradio/branches/features/experimental-gui/fft_window.py   2008-07-15 
23:46:05 UTC (rev 8896)
+++ gnuradio/branches/features/experimental-gui/fft_window.py   2008-07-16 
00:04:34 UTC (rev 8897)
@@ -131,7 +131,7 @@
 ##################################################
 # FFT window with plotter and control panel
 ##################################################
-class fft_window(wx.Panel):
+class fft_window(wx.Panel, common.prop_setter):
        def __init__(
                self,
                parent,
@@ -173,15 +173,15 @@
                main_box.Add(self.control_panel, 0, wx.EXPAND)
                self.SetSizerAndFit(main_box)
                #initial setup
-               self.set_average(self.ext_controller[self.average_key])
-               self.set_avg_alpha(self.ext_controller[self.avg_alpha_key])
-               self.set_baseband_freq(baseband_freq)
-               self.set_peak_hold(peak_hold)
-               self.set_y_per_div(y_per_div)
-               self.set_y_divs(y_divs)
-               self.set_x_divs(8) #approximate
-               self.set_ref_level(ref_level)
-               self.set_running(True)
+               self.ext_controller[self.average_key] = 
self.ext_controller[self.average_key]
+               self.ext_controller[self.avg_alpha_key] = 
self.ext_controller[self.avg_alpha_key]
+               self._register_set_prop(self.controller, PEAK_HOLD_KEY, 
peak_hold)
+               self._register_set_prop(self.controller, Y_PER_DIV_KEY, 
y_per_div)
+               self._register_set_prop(self.controller, Y_DIVS_KEY, y_divs)
+               self._register_set_prop(self.controller, X_DIVS_KEY, 8) 
#approximate
+               self._register_set_prop(self.controller, REF_LEVEL_KEY, 
ref_level)
+               self._register_set_prop(self.controller, BASEBAND_FREQ_KEY, 
baseband_freq)
+               self._register_set_prop(self.controller, RUNNING_KEY, True)
                #register events
                self.ext_controller.add_listener(msg_key, self.handle_msg)
                self.ext_controller.add_listener(self.sample_rate_key, 
self.update_grid)
@@ -193,19 +193,6 @@
                #initial update
                self.update_grid()
 
-       ##################################################
-       # Set parameters on-the-fly
-       ##################################################
-       def set_average(self, average): self.ext_controller[self.average_key] = 
average
-       def set_avg_alpha(self, avg_alpha): 
self.ext_controller[self.avg_alpha_key] = avg_alpha
-       def set_peak_hold(self, peak_hold): self.controller[PEAK_HOLD_KEY] = 
peak_hold
-       def set_y_per_div(self, y_per_div): self.controller[Y_PER_DIV_KEY] = 
y_per_div
-       def set_y_divs(self, y_divs): self.controller[Y_DIVS_KEY] = y_divs
-       def set_x_divs(self, x_divs): self.controller[X_DIVS_KEY] = x_divs
-       def set_ref_level(self, ref_level): self.controller[REF_LEVEL_KEY] = 
ref_level
-       def set_baseband_freq(self, baseband_freq): 
self.controller[BASEBAND_FREQ_KEY] = baseband_freq
-       def set_running(self, running): self.controller[RUNNING_KEY] = running
-
        def handle_msg(self, msg):
                """!
                Handle the message from the fft sink message queue.

Modified: gnuradio/branches/features/experimental-gui/fftsink.py
===================================================================
--- gnuradio/branches/features/experimental-gui/fftsink.py      2008-07-15 
23:46:05 UTC (rev 8896)
+++ gnuradio/branches/features/experimental-gui/fftsink.py      2008-07-16 
00:04:34 UTC (rev 8897)
@@ -112,19 +112,15 @@
                        msg_key=MSG_KEY,
                )
                #register callbacks from window for external use
-               self.set_average = self.win.set_average
-               self.set_avg_alpha = self.win.set_avg_alpha
-               self.set_peak_hold = self.win.set_peak_hold
-               self.set_sample_rate = self.set_sample_rate
-               self.set_baseband_freq = self.win.set_baseband_freq
-               self.set_y_per_div = self.win.set_y_per_div
-               self.set_ref_level = self.win.set_ref_level
-               self.set_y_divs = self.win.set_y_divs
-               self.set_x_divs = self.win.set_x_divs
-               self.set_running = self.win.set_running
+               for attr in filter(lambda a: a.startswith('set_'), 
dir(self.win)):
+                       setattr(self, attr, getattr(self.win, attr))
 
        def set_sample_rate(self, sample_rate):
                self.controller[SAMPLE_RATE_KEY] = sample_rate
+       def set_average(self, average): 
+               self.controller[AVERAGE_KEY] = average
+       def set_avg_alpha(self, avg_alpha): 
+               self.controller[AVG_ALPHA_KEY] = avg_alpha
 
 class fft_sink_f(_fft_sink_base):
        fft_chain = blks2.logpwrfft_f

Modified: gnuradio/branches/features/experimental-gui/scope_window.py
===================================================================
--- gnuradio/branches/features/experimental-gui/scope_window.py 2008-07-15 
23:46:05 UTC (rev 8896)
+++ gnuradio/branches/features/experimental-gui/scope_window.py 2008-07-16 
00:04:34 UTC (rev 8897)
@@ -200,7 +200,7 @@
 ##################################################
 # Scope window with plotter and control panel
 ##################################################
-class scope_window(wx.Panel):
+class scope_window(wx.Panel, common.prop_setter):
        def __init__(
                self,
                parent,
@@ -249,16 +249,16 @@
                main_box.Add(self.control_panel, 0, wx.EXPAND)
                self.SetSizerAndFit(main_box)
                #initial setup
-               self.set_running(True)
-               self.set_ac_couple(ac_couple)
-               self.set_autorange(autorange)
-               self.set_x_per_div(x_per_div)
-               self.set_y_per_div(y_per_div)
-               self.set_x_off(0)
-               self.set_y_off(0)
-               self.set_x_divs(8)
-               self.set_y_divs(8)
-               self.set_frame_rate(frame_rate)
+               self._register_set_prop(self.controller, RUNNING_KEY, True)
+               self._register_set_prop(self.controller, AC_COUPLE_KEY, 
ac_couple)
+               self._register_set_prop(self.controller, AUTORANGE_KEY, 
autorange)
+               self._register_set_prop(self.controller, X_PER_DIV_KEY, 
x_per_div)
+               self._register_set_prop(self.controller, Y_PER_DIV_KEY, 
y_per_div)
+               self._register_set_prop(self.controller, X_OFF_KEY, 0)
+               self._register_set_prop(self.controller, Y_OFF_KEY, 0)
+               self._register_set_prop(self.controller, X_DIVS_KEY, 8)
+               self._register_set_prop(self.controller, Y_DIVS_KEY, 8)
+               self._register_set_prop(self.controller, FRAME_RATE_KEY, 
frame_rate)
                #register events
                self.ext_controller.add_listener(msg_key, self.handle_msg)
                self.ext_controller.add_listener(sample_rate_key, 
self.update_decim)
@@ -272,20 +272,6 @@
                #self.update_grid()
                #self.update_decim()
 
-       ##################################################
-       # Set parameters on-the-fly
-       ##################################################
-       def set_running(self, running): self.controller[RUNNING_KEY] = running
-       def set_ac_couple(self, ac_couple): self.controller[AC_COUPLE_KEY] = 
ac_couple
-       def set_autorange(self, autorange): self.controller[AUTORANGE_KEY] = 
autorange
-       def set_x_per_div(self, x_per_div): self.controller[X_PER_DIV_KEY] = 
x_per_div
-       def set_y_per_div(self, y_per_div): self.controller[Y_PER_DIV_KEY] = 
y_per_div
-       def set_x_off(self, x_off): self.controller[X_OFF_KEY] = x_off
-       def set_y_off(self, y_off): self.controller[Y_OFF_KEY] = y_off
-       def set_x_divs(self, x_divs): self.controller[X_DIVS_KEY] = x_divs
-       def set_y_divs(self, y_divs): self.controller[Y_DIVS_KEY] = y_divs
-       def set_frame_rate(self, frame_rate): self.controller[FRAME_RATE_KEY] = 
frame_rate
-
        def handle_msg(self, msg):
                """!
                Handle the message from the scope sink message queue.

Modified: gnuradio/branches/features/experimental-gui/scopesink.py
===================================================================
--- gnuradio/branches/features/experimental-gui/scopesink.py    2008-07-15 
23:46:05 UTC (rev 8896)
+++ gnuradio/branches/features/experimental-gui/scopesink.py    2008-07-16 
00:04:34 UTC (rev 8897)
@@ -108,16 +108,8 @@
                        msg_key=MSG_KEY,
                )
                #register callbacks from window for external use
-               self.set_running = self.win.set_running
-               self.set_ac_couple = self.win.set_ac_couple
-               self.set_autorange = self.win.set_autorange
-               self.set_x_per_div = self.win.set_x_per_div
-               self.set_y_per_div = self.win.set_y_per_div
-               self.set_x_off = self.win.set_x_off
-               self.set_y_off = self.win.set_y_off
-               self.set_x_divs = self.win.set_x_divs
-               self.set_y_divs = self.win.set_y_divs
-               self.set_frame_rate = self.win.set_frame_rate
+               for attr in filter(lambda a: a.startswith('set_'), 
dir(self.win)):
+                       setattr(self, attr, getattr(self.win, attr))
 
        def set_sample_rate(self, sample_rate):
                self.controller[SAMPLE_RATE_KEY] = sample_rate





reply via email to

[Prev in Thread] Current Thread [Next in Thread]