commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r8580 - in grc/trunk: notes src/grc_gnuradio/blocks/va


From: jblum
Subject: [Commit-gnuradio] r8580 - in grc/trunk: notes src/grc_gnuradio/blocks/variables src/grc_gnuradio/wxgui
Date: Wed, 11 Jun 2008 11:03:03 -0600 (MDT)

Author: jblum
Date: 2008-06-11 11:03:03 -0600 (Wed, 11 Jun 2008)
New Revision: 8580

Modified:
   grc/trunk/notes/todo.txt
   grc/trunk/src/grc_gnuradio/blocks/variables/variable_chooser.xml
   grc/trunk/src/grc_gnuradio/blocks/variables/variable_slider.xml
   grc/trunk/src/grc_gnuradio/wxgui/__init__.py
   grc/trunk/src/grc_gnuradio/wxgui/callback_controls.py
Log:
vertical sliders too

Modified: grc/trunk/notes/todo.txt
===================================================================
--- grc/trunk/notes/todo.txt    2008-06-11 00:37:21 UTC (rev 8579)
+++ grc/trunk/notes/todo.txt    2008-06-11 17:03:03 UTC (rev 8580)
@@ -15,6 +15,7 @@
 -disable blocks (grey out, keep in design file, but generate ignores)
 -param editor, expand entry boxes in focus
 -change param dialog to panel within main window
+-default grid params of -1, -1 for auto placement
 
 ############   Suggestions:    ####################
 -scope sink constructor needs average option and triggering option

Modified: grc/trunk/src/grc_gnuradio/blocks/variables/variable_chooser.xml
===================================================================
--- grc/trunk/src/grc_gnuradio/blocks/variables/variable_chooser.xml    
2008-06-11 00:37:21 UTC (rev 8579)
+++ grc/trunk/src/grc_gnuradio/blocks/variables/variable_chooser.xml    
2008-06-11 17:03:03 UTC (rev 8580)
@@ -47,7 +47,6 @@
                <value>[]</value>
                <type>raw</type>
        </param>
-
        <param>
                <name>Chooser Type</name>
                <key>chooser_type</key>

Modified: grc/trunk/src/grc_gnuradio/blocks/variables/variable_slider.xml
===================================================================
--- grc/trunk/src/grc_gnuradio/blocks/variables/variable_slider.xml     
2008-06-11 00:37:21 UTC (rev 8579)
+++ grc/trunk/src/grc_gnuradio/blocks/variables/variable_slider.xml     
2008-06-11 17:03:03 UTC (rev 8580)
@@ -9,7 +9,7 @@
        <name>Variable Slider</name>
        <key>variable_slider</key>
        <make>$value
-_$(id)_control = grc_wxgui.slider_control(
+_$(id)_control = grc_wxgui.slider_$(slider_type)_control(
        window=tb.GetWin(), 
        callback=_set_$(id),
                #if $label.eval
@@ -54,6 +54,20 @@
                <value>100</value>
                <type>int</type>
        </param>
+               <param>
+               <name>Slider Type</name>
+               <key>slider_type</key>
+               <value>horizontal</value>
+               <type>enum</type>
+               <option>
+                       <name>Horizontal</name>
+                       <key>horizontal</key>
+               </option>
+               <option>
+                       <name>Vertical</name>
+                       <key>vertical</key>
+               </option>
+       </param>
        <param>
                <name>Grid Position</name>
                <key>grid_pos</key>

Modified: grc/trunk/src/grc_gnuradio/wxgui/__init__.py
===================================================================
--- grc/trunk/src/grc_gnuradio/wxgui/__init__.py        2008-06-11 00:37:21 UTC 
(rev 8579)
+++ grc/trunk/src/grc_gnuradio/wxgui/__init__.py        2008-06-11 17:03:03 UTC 
(rev 8580)
@@ -18,6 +18,12 @@
 # Boston, MA 02110-1301, USA.
 # 
 
-from callback_controls import button_control, drop_down_control, 
radio_buttons_horizontal_control, radio_buttons_vertical_control, 
slider_control 
+from callback_controls import \
+       button_control, \
+       drop_down_control, \
+       radio_buttons_horizontal_control, \
+       radio_buttons_vertical_control, \
+       slider_horizontal_control, \
+       slider_vertical_control 
 from top_block_gui import top_block_gui
 

Modified: grc/trunk/src/grc_gnuradio/wxgui/callback_controls.py
===================================================================
--- grc/trunk/src/grc_gnuradio/wxgui/callback_controls.py       2008-06-11 
00:37:21 UTC (rev 8579)
+++ grc/trunk/src/grc_gnuradio/wxgui/callback_controls.py       2008-06-11 
17:03:03 UTC (rev 8580)
@@ -119,15 +119,8 @@
        """House radio buttons for variable control."""
 
        def _init(self):
-               #determine gui parameters
-               if self.type == 'horizontal': 
-                       radio_box_orientation = wx.HORIZONTAL
-                       radio_button_align = wx.ALIGN_CENTER
-               elif self.type == 'vertical': 
-                       radio_box_orientation = wx.VERTICAL
-                       radio_button_align = wx.ALIGN_LEFT
                #create box for radio buttons
-               radio_box = wx.BoxSizer(radio_box_orientation)
+               radio_box = wx.BoxSizer(self.radio_box_orientation)
                panel = wx.Panel(self.get_window(), -1)
                panel.SetSizer(radio_box)
                self.Add(panel, 0, wx.ALIGN_CENTER)
@@ -137,7 +130,7 @@
                        radio_button = wx.RadioButton(panel, -1, label)
                        radio_button.SetValue(False)
                        self.radio_buttons.append(radio_button)
-                       radio_box.Add(radio_button, 0, radio_button_align)
+                       radio_box.Add(radio_button, 0, self.radio_button_align)
                        radio_button.Bind(wx.EVT_RADIOBUTTON, 
self._handle_changed)
                #set one radio button active
                self.radio_buttons[self.index].SetValue(True)
@@ -146,13 +139,17 @@
                selected_radio_button = filter(lambda rb: rb.GetValue(), 
self.radio_buttons)[0]                         
                self.index = self.radio_buttons.index(selected_radio_button)
 
-class radio_buttons_horizontal_control(_radio_buttons_control_base): type = 
'horizontal'
-class radio_buttons_vertical_control(_radio_buttons_control_base): type = 
'vertical'
+class radio_buttons_horizontal_control(_radio_buttons_control_base):
+       radio_box_orientation = wx.HORIZONTAL
+       radio_button_align = wx.ALIGN_CENTER
+class radio_buttons_vertical_control(_radio_buttons_control_base):
+       radio_box_orientation = wx.VERTICAL
+       radio_button_align = wx.ALIGN_LEFT
 
 
##############################################################################################
 #      Slider Control
 
##############################################################################################
-class slider_control(_control_base):
+class _slider_control_base(_control_base):
        """House a Slider and a Text Box for variable control."""
        
        def __init__(self, window, callback, label='Label', value=50, min=0, 
max=100, num_steps=100):
@@ -173,15 +170,15 @@
                self.max = float(max)
                self.num_steps = int(num_steps)
                #create gui elements
-               label_text_sizer = wx.BoxSizer(wx.HORIZONTAL) #label and text 
box container 
-               label_text = LabelText(self.get_window(), '%s -> '%str(label))
+               label_text_sizer = wx.BoxSizer(self.label_text_orientation) 
#label and text box container 
+               label_text = LabelText(self.get_window(), '%s%s'%(str(label), 
self.ptr))
                self.text_box = text_box = wx.TextCtrl(self.get_window(), -1, 
str(value), style=wx.TE_PROCESS_ENTER)
                text_box.Bind(wx.EVT_TEXT_ENTER, self._handle_enter)    #bind 
this special enter hotkey event
                for obj in (label_text, text_box):      #fill the container 
with label and text entry box
                        label_text_sizer.Add(obj, 0, 
wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL)
                self.Add(label_text_sizer, 0, wx.ALIGN_CENTER)
                #make the slider
-               self.slider = slider = wx.Slider(self.get_window(), -1, 
size=wx.Size(200, 20), style=wx.SL_HORIZONTAL)                          
+               self.slider = slider = wx.Slider(self.get_window(), -1, 
size=wx.Size(*self.slider_size), style=self.slider_style)                       
        
                try: slider.SetRange(0, num_steps)
                except Exception, e:
                        print >> sys.stderr, 'Error in set slider range: 
"%s".'%e
@@ -230,3 +227,13 @@
                try: self.call()
                except Exception, e: print >> sys.stderr, 'Error in exec 
callback from handle enter.\n', e
        
+class slider_horizontal_control(_slider_control_base):
+       label_text_orientation = wx.HORIZONTAL
+       slider_style = wx.SL_HORIZONTAL
+       slider_size = 200, 20
+       ptr = ' -> '
+class slider_vertical_control(_slider_control_base):
+       label_text_orientation = wx.VERTICAL
+       slider_style = wx.SL_VERTICAL
+       slider_size = 20, 200
+       ptr = ''





reply via email to

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