summaryrefslogtreecommitdiff
path: root/gr-qtgui/apps/plot_form.py
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2013-02-20 21:30:02 -0500
committerTom Rondeau <trondeau@vt.edu>2013-02-21 11:57:13 -0500
commit18b20e591ffb20951605dfc4b7cbe5964b5159fa (patch)
treec5ecd53f2211e163500a7e129ce74f3f82193d28 /gr-qtgui/apps/plot_form.py
parent9c27fc06bd0b473de50e76b845e25b835e26b6ff (diff)
qtgui: adding time raster static plot tool.
Diffstat (limited to 'gr-qtgui/apps/plot_form.py')
-rw-r--r--gr-qtgui/apps/plot_form.py66
1 files changed, 37 insertions, 29 deletions
diff --git a/gr-qtgui/apps/plot_form.py b/gr-qtgui/apps/plot_form.py
index 87c3da416f..6a5d2266ed 100644
--- a/gr-qtgui/apps/plot_form.py
+++ b/gr-qtgui/apps/plot_form.py
@@ -37,6 +37,7 @@ class plot_form(QtGui.QWidget):
self._end = 0
self._y_min = 0
self._y_max = 0
+ self._pos_scale = 1
self.top_block = top_block
self.top_block.gui_y_axis = self.gui_y_axis
@@ -101,12 +102,7 @@ class plot_form(QtGui.QWidget):
self.layout.addWidget(self.posbar, 2,2,1,1)
# Create Edit boxes for Y-axis min/max
- self.y_range_val = QtGui.QDoubleValidator(top_block._y_min,
- top_block._y_max,
- 4, self)
-
self.y_max_edit = QtGui.QLineEdit(self)
- self.y_max_edit.setValidator(self.y_range_val)
self.y_max_edit.setMinimumWidth(100)
self.y_max_edit.setMaximumWidth(100)
self.left_col_form.addRow("Y Max:", self.y_max_edit)
@@ -114,7 +110,6 @@ class plot_form(QtGui.QWidget):
self.update_yaxis_pos)
self.y_min_edit = QtGui.QLineEdit(self)
- self.y_min_edit.setValidator(self.y_range_val)
self.y_min_edit.setMinimumWidth(100)
self.y_min_edit.setMaximumWidth(100)
self.left_col_form.addRow("Y Min:", self.y_min_edit)
@@ -126,23 +121,23 @@ class plot_form(QtGui.QWidget):
self.set_grid_check)
self.left_col_form.addWidget(self.grid_check)
- self.gui_y_axis(top_block._y_value-top_block._y_range, top_block._y_value)
-
# Create a slider to move the plot's y-axis offset
_ymax = numpy.int32(min(numpy.iinfo(numpy.int32).max, self.top_block._y_max))
_ymin = numpy.int32(max(numpy.iinfo(numpy.int32).min, self.top_block._y_min))
_yrng = numpy.int32(min(numpy.iinfo(numpy.int32).max, self.top_block._y_range))
_yval = numpy.int32(min(numpy.iinfo(numpy.int32).max, self.top_block._y_value))
self.ybar = QtGui.QSlider(QtCore.Qt.Vertical, self)
- self.ybar.setMinimum(1000*_ymin)
- self.ybar.setMaximum(1000*_ymax)
- self.ybar.setSingleStep(1000*(_yrng/10))
- self.ybar.setPageStep(1000*(_yrng/2))
- self.ybar.setValue(1000*_yval)
+ self.ybar.setMinimum(self._pos_scale*_ymin)
+ self.ybar.setMaximum(self._pos_scale*_ymax)
+ self.ybar.setSingleStep(self._pos_scale*(_yrng/10))
+ self.ybar.setPageStep(self._pos_scale*(_yrng/2))
+ self.ybar.setValue(self._pos_scale*_yval)
self.connect(self.ybar, QtCore.SIGNAL("valueChanged(int)"),
self.update_yaxis_slider)
self.layout.addWidget(self.ybar, 1,1,1,1)
+ self.gui_y_axis(top_block._y_value-top_block._y_range, top_block._y_value)
+
# Create an edit box for the Sample Rate
sr = top_block._samp_rate
self.samp_rate_edit = QtGui.QLineEdit(self)
@@ -321,7 +316,7 @@ class plot_form(QtGui.QWidget):
self.posbar.setValue(self._start)
def update_xaxis_slider(self, value):
- self._start = value
+ self._start = value/self._pos_scale
self._end = value + self.posbar.pageStep()
self.start_edit.setText("{0}".format(self._start))
@@ -331,24 +326,34 @@ class plot_form(QtGui.QWidget):
self.top_block.reset(self._start, self.posbar.pageStep())
def update_yaxis_pos(self):
- newmin = self.y_min_edit.text().toDouble()[0]
- newmax = self.y_max_edit.text().toDouble()[0]
- if(newmin != self._y_min or newmax != self._y_max):
- self._y_min = newmin
- self._y_max = newmax
- self.top_block._y_range = newmax - newmin
- self.ybar.setValue(self._y_max)
- self.top_block.set_y_axis(self._y_min, self._y_max)
+ if(not self.top_block._auto_scale):
+ newmin = self.y_min_edit.text().toDouble()[0]
+ newmax = self.y_max_edit.text().toDouble()[0]
+ if(newmin != self._y_min or newmax != self._y_max):
+ self._y_min = newmin
+ self._y_max = newmax
+ self.top_block._y_range = newmax - newmin
+ self.top_block.set_y_axis(self._y_min, self._y_max)
+ self.ybar.setValue(self._y_max)
+ else:
+ self.y_min_edit.setText("{0:.4f}".format(self._y_min))
+ self.y_max_edit.setText("{0:.4f}".format(self._y_max))
def update_yaxis_slider(self, value):
- value = value/1000.0
- self.top_block._y_value = value
- self._y_min = value - self.top_block._y_range
- self._y_max = value
-
- self._y_min, self._y_max = self.top_block.set_y_axis(self._y_min, self._y_max)
+ if(not self.top_block._auto_scale):
+ value = value/self._pos_scale
+ self.top_block._y_value = value
+ self._y_min = value - self.top_block._y_range
+ self._y_max = value
+
+ ret = self.top_block.set_y_axis(self._y_min, self._y_max)
+ if(ret):
+ self._y_min = ret[0]
+ self._y_max = ret[1]
- self.gui_y_axis(self._y_min, self._y_max)
+ self.gui_y_axis(self._y_min, self._y_max)
+ else:
+ self.ybar.setValue(self._y_max)
def update_samp_rate(self):
sr = self.samp_rate_edit.text().toDouble()[0]
@@ -360,6 +365,9 @@ class plot_form(QtGui.QWidget):
def gui_y_axis(self, ymin, ymax):
self.y_min_edit.setText("{0:.4f}".format(ymin))
self.y_max_edit.setText("{0:.4f}".format(ymax))
+ self._y_min = ymin
+ self._y_max = ymax
+ self.ybar.setValue(ymax)
def set_grid_check(self, state):
if(state):