[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r8897 - gnuradio/branches/features/experimental-gui,
jblum <=