summaryrefslogtreecommitdiff
path: root/gr-wxgui/src/python/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-wxgui/src/python/common.py')
-rw-r--r--gr-wxgui/src/python/common.py162
1 files changed, 0 insertions, 162 deletions
diff --git a/gr-wxgui/src/python/common.py b/gr-wxgui/src/python/common.py
index c84827eb8a..c6b9509b29 100644
--- a/gr-wxgui/src/python/common.py
+++ b/gr-wxgui/src/python/common.py
@@ -71,168 +71,6 @@ class input_watcher(threading.Thread):
self._controller[self._msg_key] = msg.to_string()
##################################################
-# WX Shared Classes
-##################################################
-import math
-import wx
-
-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
-
-class LabelText(wx.StaticText):
- """
- Label text to give the wx plots a uniform look.
- Get the default label text and set the font bold.
- """
- def __init__(self, parent, label):
- wx.StaticText.__init__(self, parent, label=label)
- font = self.GetFont()
- font.SetWeight(wx.FONTWEIGHT_BOLD)
- self.SetFont(font)
-
-class LabelBox(wx.BoxSizer):
- def __init__(self, parent, label, widget):
- wx.BoxSizer.__init__(self, wx.HORIZONTAL)
- self.Add(wx.StaticText(parent, label=' %s '%label), 1, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
- self.Add(widget, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
-
-class IncrDecrButtons(wx.BoxSizer):
- """
- A horizontal box sizer with a increment and a decrement button.
- """
- def __init__(self, parent, on_incr, on_decr):
- """
- @param parent the parent window
- @param on_incr the event handler for increment
- @param on_decr the event handler for decrement
- """
- wx.BoxSizer.__init__(self, wx.HORIZONTAL)
- self._incr_button = wx.Button(parent, label='+', style=wx.BU_EXACTFIT)
- self._incr_button.Bind(wx.EVT_BUTTON, on_incr)
- self.Add(self._incr_button, 0, wx.ALIGN_CENTER_VERTICAL)
- self._decr_button = wx.Button(parent, label=' - ', style=wx.BU_EXACTFIT)
- self._decr_button.Bind(wx.EVT_BUTTON, on_decr)
- self.Add(self._decr_button, 0, wx.ALIGN_CENTER_VERTICAL)
-
- def Disable(self): self.Enable(False)
- def Enable(self, enable=True):
- if enable:
- self._incr_button.Enable()
- self._decr_button.Enable()
- else:
- self._incr_button.Disable()
- self._decr_button.Disable()
-
-class ToggleButtonController(wx.Button):
- def __init__(self, parent, controller, control_key, true_label, false_label):
- self._controller = controller
- self._control_key = control_key
- wx.Button.__init__(self, parent, style=wx.BU_EXACTFIT)
- self.Bind(wx.EVT_BUTTON, self._evt_button)
- controller.subscribe(control_key, lambda x: self.SetLabel(x and true_label or false_label))
-
- def _evt_button(self, e):
- self._controller[self._control_key] = not self._controller[self._control_key]
-
-class CheckBoxController(wx.CheckBox):
- def __init__(self, parent, label, controller, control_key):
- self._controller = controller
- self._control_key = control_key
- wx.CheckBox.__init__(self, parent, style=wx.CHK_2STATE, label=label)
- self.Bind(wx.EVT_CHECKBOX, self._evt_checkbox)
- controller.subscribe(control_key, lambda x: self.SetValue(bool(x)))
-
- def _evt_checkbox(self, e):
- self._controller[self._control_key] = bool(e.IsChecked())
-
-from gnuradio import eng_notation
-
-class TextBoxController(wx.TextCtrl):
- def __init__(self, parent, controller, control_key, cast=float):
- self._controller = controller
- self._control_key = control_key
- self._cast = cast
- wx.TextCtrl.__init__(self, parent, style=wx.TE_PROCESS_ENTER)
- self.Bind(wx.EVT_TEXT_ENTER, self._evt_enter)
- controller.subscribe(control_key, lambda x: self.SetValue(eng_notation.num_to_str(x)))
-
- def _evt_enter(self, e):
- try: self._controller[self._control_key] = self._cast(eng_notation.str_to_num(self.GetValue()))
- except: self._controller[self._control_key] = self._controller[self._control_key]
-
-class LogSliderController(wx.BoxSizer):
- """
- Log slider controller with display label and slider.
- Gives logarithmic scaling to slider operation.
- """
- def __init__(self, parent, prefix, min_exp, max_exp, slider_steps, controller, control_key, formatter=lambda x: ': %.6f'%x):
- self._prefix = prefix
- self._min_exp = min_exp
- self._max_exp = max_exp
- self._controller = controller
- self._control_key = control_key
- self._formatter = formatter
- wx.BoxSizer.__init__(self, wx.VERTICAL)
- self._label = wx.StaticText(parent, label=prefix + formatter(1/3.0))
- self.Add(self._label, 0, wx.EXPAND)
- self._slider = wx.Slider(parent, minValue=0, maxValue=slider_steps, style=wx.SL_HORIZONTAL)
- self.Add(self._slider, 0, wx.EXPAND)
- self._slider.Bind(wx.EVT_SLIDER, self._on_slider_event)
- controller.subscribe(control_key, self._on_controller_set)
-
- def _get_slope(self):
- return float(self._max_exp-self._min_exp)/self._slider.GetMax()
-
- def _on_slider_event(self, e):
- self._controller[self._control_key] = 10**(self._get_slope()*self._slider.GetValue() + self._min_exp)
-
- def _on_controller_set(self, value):
- self._label.SetLabel(self._prefix + self._formatter(value))
- slider_value = (math.log10(value)-self._min_exp)/self._get_slope()
- slider_value = min(max(self._slider.GetMin(), slider_value), self._slider.GetMax())
- if abs(slider_value - self._slider.GetValue()) > 1:
- self._slider.SetValue(slider_value)
-
- def Disable(self): self.Enable(False)
- def Enable(self, enable=True):
- if enable:
- self._slider.Enable()
- self._label.Enable()
- else:
- self._slider.Disable()
- self._label.Disable()
-
-class DropDownController(wx.Choice):
- """
- Drop down controller with label and chooser.
- Srop down selection from a set of choices.
- """
- def __init__(self, parent, choices, controller, control_key, size=(-1, -1)):
- """
- @param parent the parent window
- @param choices a list of tuples -> (label, value)
- @param controller the prop val controller
- @param control_key the prop key for this control
- """
- self._controller = controller
- self._control_key = control_key
- self._choices = choices
- wx.Choice.__init__(self, parent, choices=[c[0] for c in choices], size=size)
- self.Bind(wx.EVT_CHOICE, self._on_chooser_event)
- controller.subscribe(control_key, self._on_controller_set)
-
- def _on_chooser_event(self, e):
- self._controller[self._control_key] = self._choices[self.GetSelection()][1]
-
- def _on_controller_set(self, value):
- #only set the chooser if the value is a possible choice
- for i, choice in enumerate(self._choices):
- if value == choice[1]: self.SetSelection(i)
-
-##################################################
# Shared Functions
##################################################
import numpy