diff options
author | Johnathan Corgan | 2009-09-16 07:59:16 -0700 |
---|---|---|
committer | Johnathan Corgan | 2009-09-16 07:59:16 -0700 |
commit | a08c659c122f24947421adf38e7260642a67381a (patch) | |
tree | 6f07c92ddd657897a2e88cb8eee6f1e839d6d327 /gr-utils/src | |
parent | 895f2e04a9d962cfe56d416691600b5c619ea180 (diff) | |
parent | af30f69055b08d484123b50bd07649bb34edb4d1 (diff) | |
download | gnuradio-a08c659c122f24947421adf38e7260642a67381a.tar.gz gnuradio-a08c659c122f24947421adf38e7260642a67381a.tar.bz2 gnuradio-a08c659c122f24947421adf38e7260642a67381a.zip |
Merge branch 'utils' of http://gnuradio.org/git/trondeau into master
* 'utils' of http://gnuradio.org/git/trondeau:
Fixed slider behavior when the end of the file is reached.
Handling a few exceptions when no file is loaded.
Can now change the size of the symbols. Also fixes some layout issues.
Adding ability to change line width and style (only a handful of current styles enabled).
Removing plot picker that addd nothing to the interface.
Adding a Reload option (Ctrl+R) option to quickly reread the file and reset the state.
Diffstat (limited to 'gr-utils/src')
-rwxr-xr-x | gr-utils/src/python/gr_plot_qt.py | 214 | ||||
-rw-r--r-- | gr-utils/src/python/pyqt_plot.py | 237 | ||||
-rw-r--r-- | gr-utils/src/python/pyqt_plot.ui | 673 |
3 files changed, 689 insertions, 435 deletions
diff --git a/gr-utils/src/python/gr_plot_qt.py b/gr-utils/src/python/gr_plot_qt.py index a5e3463c8..f3dc472f5 100755 --- a/gr-utils/src/python/gr_plot_qt.py +++ b/gr-utils/src/python/gr_plot_qt.py @@ -7,14 +7,36 @@ except ImportError: print "Please install SciPy to run this script (http://www.scipy.org/)" raise SystemExit, 1 +try: + from matplotlib import mlab +except ImportError: + print "Please install Matplotlib to run this script (http://matplotlib.sourceforge.net)" + raise SystemExit, 1 + +try: + from PyQt4 import Qt, QtCore, QtGui +except ImportError: + print "Please install PyQt4 to run this script (http://www.riverbankcomputing.co.uk/software/pyqt/download)" + raise SystemExit, 1 + +try: + import PyQt4.Qwt5 as Qwt +except ImportError: + print "Please install PyQwt5 to run this script (http://pyqwt.sourceforge.net/)" + raise SystemExit, 1 + +try: + # FIXME: reenable this before committing + #from gnuradio.pyqt_plot import Ui_MainWindow + from pyqt_plot import Ui_MainWindow +except ImportError: + print "Could not import from pyqt_plot. Please build with \"pyuic4 pyqt_plot.ui -o pyqt_plot.py\"" + raise SystemExit, 1 + import sys, os -from PyQt4 import Qt, QtCore, QtGui -import PyQt4.Qwt5 as Qwt -from matplotlib import mlab from optparse import OptionParser from gnuradio import eng_notation -from pyqt_plot import Ui_MainWindow class SpectrogramData(Qwt.QwtRasterData): @@ -42,9 +64,12 @@ class SpectrogramData(Qwt.QwtRasterData): return Qwt.QwtDoubleInterval(self.sp.min(), self.sp.max()) def value(self, x, y): - f = int(self.freq.searchsorted(x)) - t = int(self.time.searchsorted(y)) - return self.sp[f][t-1] + try: + f = int(self.freq.searchsorted(x)) + t = int(self.time.searchsorted(y)) + return self.sp[f][t-1] + except AttributeError: # if no file loaded yet + return 0 class gr_plot_qt(QtGui.QMainWindow): @@ -53,6 +78,7 @@ class gr_plot_qt(QtGui.QMainWindow): self.gui = Ui_MainWindow() self.gui.setupUi(self) + self.filename = None self.block_length = options.block_length self.start = options.start self.sample_rate = options.sample_rate @@ -61,6 +87,7 @@ class gr_plot_qt(QtGui.QMainWindow): self.winfunc = scipy.blackman self.sizeof_data = 8 self.datatype = scipy.complex64 + self.pen_width = 1 self.iq = list() self.time = list() @@ -102,6 +129,18 @@ class gr_plot_qt(QtGui.QMainWindow): self.colorComboBoxEdit) + # Set up line style combo box + self.line_styles = {"None" : Qwt.QwtSymbol.NoSymbol, + "Circle" : Qwt.QwtSymbol.Ellipse, + "Diamond" : Qwt.QwtSymbol.Rect, + "Triangle" : Qwt.QwtSymbol.Triangle} + self.gui.lineStyleComboBox.addItems(self.line_styles.keys()) + pos = self.gui.lineStyleComboBox.findText("None") + self.gui.lineStyleComboBox.setCurrentIndex(pos) + self.connect(self.gui.lineStyleComboBox, + Qt.SIGNAL("activated (const QString&)"), + self.lineStyleComboBoxEdit) + # Create zoom functionality for the plots self.timeZoomer = Qwt.QwtPlotZoomer(self.gui.timePlot.xBottom, self.gui.timePlot.yLeft, @@ -121,16 +160,6 @@ class gr_plot_qt(QtGui.QMainWindow): Qwt.QwtPicker.AlwaysOn, self.gui.specPlot.canvas()) - self.picker = Qwt.QwtPlotPicker(self.gui.timePlot.xBottom, - self.gui.timePlot.yLeft, - Qwt.QwtPicker.PointSelection, - Qwt.QwtPlotPicker.CrossRubberBand, - Qwt.QwtPicker.AlwaysOn, - self.gui.timePlot.canvas()) - self.picker.connect(self.picker, - Qt.SIGNAL('selected(const QwtDoublePoint&)'), - self.clickMe) - # Set up action when tab is changed self.connect(self.gui.tabGroup, Qt.SIGNAL("currentChanged (int)"), @@ -153,7 +182,14 @@ class gr_plot_qt(QtGui.QMainWindow): self.connect(self.gui.action_open, Qt.SIGNAL("activated()"), self.open_file) - + + # Connect Reload action to reload the file + self.connect(self.gui.action_reload, + Qt.SIGNAL("activated()"), + self.reload_file) + self.gui.action_reload.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+R", + None, QtGui.QApplication.UnicodeUTF8)) + # Set up file position boxes to update current figure self.connect(self.gui.filePosStartLineEdit, Qt.SIGNAL("editingFinished()"), @@ -175,8 +211,20 @@ class gr_plot_qt(QtGui.QMainWindow): Qt.SIGNAL("editingFinished()"), self.file_time_length_changed) + stylestr = str(self.gui.lineStyleComboBox.currentText().toAscii()) + style = self.line_styles[stylestr] + self.rcurve = Qwt.QwtPlotCurve("Real") self.icurve = Qwt.QwtPlotCurve("Imaginary") + self.rsym = Qwt.QwtSymbol() + self.rsym.setStyle(style) + self.rsym.setSize(10) + self.isym = Qwt.QwtSymbol() + self.isym.setStyle(style) + self.isym.setSize(10) + self.rcurve.setSymbol(self.rsym) + self.icurve.setSymbol(self.isym) + self.icurve.attach(self.gui.timePlot) self.rcurve.attach(self.gui.timePlot) @@ -208,6 +256,20 @@ class gr_plot_qt(QtGui.QMainWindow): # Set up initial color scheme self.color_modes["Blue on Black"]() + # When line width spin box changes, update the pen size + self.connect(self.gui.lineWidthSpinBox, + Qt.SIGNAL("valueChanged(int)"), + self.change_pen_width) + self.gui.lineWidthSpinBox.setRange(1, 10) + + # When style size spin box changes, update the pen size + self.connect(self.gui.styleSizeSpinBox, + Qt.SIGNAL("valueChanged(int)"), + self.change_style_size) + self.gui.styleSizeSpinBox.setRange(1, 20) + self.gui.styleSizeSpinBox.setValue(5) + + # Connect a signal for when the sample rate changes self.set_sample_rate(self.sample_rate) self.connect(self.gui.sampleRateLineEdit, @@ -222,10 +284,15 @@ class gr_plot_qt(QtGui.QMainWindow): def open_file(self): filename = Qt.QFileDialog.getOpenFileName(self, "Open", ".") if(filename != ""): - print filename + #print filename self.initialize(filename) + def reload_file(self): + if(self.filename): + self.initialize(self.filename) + def initialize(self, filename): + self.filename = filename self.hfile = open(filename, "r") self.setWindowTitle(("GNU Radio File Plot Utility: %s" % filename)) @@ -243,7 +310,7 @@ class gr_plot_qt(QtGui.QMainWindow): self.get_psd() self.get_specgram() self.gui.plotHBar.setSliderPosition(0) - self.gui.plotHBar.setMaximum(self.signal_size) + self.gui.plotHBar.setMaximum(self.signal_size-self.block_length) self.update_time_curves() @@ -253,7 +320,7 @@ class gr_plot_qt(QtGui.QMainWindow): def init_data_input(self): self.hfile.seek(0, os.SEEK_END) self.signal_size = self.hfile.tell()/self.sizeof_data - print "Sizeof File: ", self.signal_size + #print "Sizeof File: ", self.signal_size self.hfile.seek(0, os.SEEK_SET) def get_data(self, start, end): @@ -265,10 +332,8 @@ class gr_plot_qt(QtGui.QMainWindow): count=end-start) if(len(iq) < (end-start)): - end = len(iq) - self.gui.filePosLengthLineEdit.setText(Qt.QString("%1").arg(end)) - self.gui.plotHBar.setMaximum(end) - self.gui.plotHBar.setSingleStep(end) + end = start + len(iq) + self.gui.filePosLengthLineEdit.setText(Qt.QString("%1").arg(len(iq))) self.file_length_changed() tstep = 1.0 / self.sample_rate @@ -305,9 +370,6 @@ class gr_plot_qt(QtGui.QMainWindow): self.spec_f = f self.spec_t = t - def clickMe(self, qPoint): - print qPoint.x() - def psdFFTComboBoxEdit(self, fftSize): self.psdfftsize = fftSize.toInt()[0] self.get_psd() @@ -323,6 +385,14 @@ class gr_plot_qt(QtGui.QMainWindow): color_func = self.color_modes[colorstr] color_func() + def lineStyleComboBoxEdit(self, styleSelection): + stylestr = str(styleSelection.toAscii()) + self.rsym.setStyle(self.line_styles[stylestr]) + self.isym.setStyle(self.line_styles[stylestr]) + self.rcurve.setSymbol(self.rsym) + self.icurve.setSymbol(self.isym) + self.gui.timePlot.replot() + def sliderMoved(self, value): pos_start = value pos_end = value + self.gui.plotHBar.pageStep() @@ -382,7 +452,11 @@ class gr_plot_qt(QtGui.QMainWindow): # If there's a non-digit character, reset box else: - self.set_file_pos_box(self.cur_start, self.cur_stop) + try: + self.set_file_pos_box(self.cur_start, self.cur_stop) + except AttributeError: + pass + def file_time_changed(self): tstart = self.gui.fileTimeStartLineEdit.text().toDouble() @@ -517,25 +591,40 @@ class gr_plot_qt(QtGui.QMainWindow): def tabChanged(self, index): self.gui.timePlot.replot() self.gui.freqPlot.replot() + self.gui.specPlot.replot() + + def change_pen_width(self, width): + self.pen_width = width + colormode = str(self.gui.colorComboBox.currentText().toAscii()) + color_func = self.color_modes[colormode]() + def change_style_size(self, size): + self.rsym.setSize(size) + self.isym.setSize(size) + self.rcurve.setSymbol(self.rsym) + self.icurve.setSymbol(self.isym) + self.gui.timePlot.replot() + def color_black_on_white(self): blue = QtGui.qRgb(0x00, 0x00, 0xFF) red = QtGui.qRgb(0xFF, 0x00, 0x00) - blackBrush = Qt.QBrush(Qt.QColor("black")) - blueBrush = Qt.QBrush(Qt.QColor(blue)) - redBrush = Qt.QBrush(Qt.QColor(red)) + blackPen = Qt.QPen(Qt.QBrush(Qt.QColor("black")), self.pen_width) + bluePen = Qt.QPen(Qt.QBrush(Qt.QColor(blue)), self.pen_width) + redPen = Qt.QPen(Qt.QBrush(Qt.QColor(red)), self.pen_width) self.gui.timePlot.setCanvasBackground(Qt.QColor("white")) self.gui.freqPlot.setCanvasBackground(Qt.QColor("white")) - self.picker.setTrackerPen(Qt.QPen(blackBrush, 2)) - self.timeZoomer.setTrackerPen(Qt.QPen(blackBrush, 2)) - self.timeZoomer.setRubberBandPen(Qt.QPen(blackBrush, 2)) - self.freqZoomer.setTrackerPen(Qt.QPen(blackBrush, 2)) - self.freqZoomer.setRubberBandPen(Qt.QPen(blackBrush, 2)) - self.psdcurve.setPen(Qt.QPen(blueBrush, 1)) - self.rcurve.setPen(Qt.QPen(blueBrush, 2)) - self.icurve.setPen(Qt.QPen(redBrush, 2)) + self.timeZoomer.setTrackerPen(blackPen) + self.timeZoomer.setRubberBandPen(blackPen) + self.freqZoomer.setTrackerPen(blackPen) + self.freqZoomer.setRubberBandPen(blackPen) + self.psdcurve.setPen(bluePen) + self.rcurve.setPen(bluePen) + self.icurve.setPen(redPen) + + self.rsym.setPen(bluePen) + self.isym.setPen(redPen) self.gui.timePlot.replot() self.gui.freqPlot.replot() @@ -550,14 +639,13 @@ class gr_plot_qt(QtGui.QMainWindow): self.gui.timePlot.setCanvasBackground(QtGui.QColor("black")) self.gui.freqPlot.setCanvasBackground(QtGui.QColor("black")) - self.picker.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.timeZoomer.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.timeZoomer.setRubberBandPen(Qt.QPen(whiteBrush, 2)) - self.freqZoomer.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.freqZoomer.setRubberBandPen(Qt.QPen(whiteBrush, 2)) - self.psdcurve.setPen(Qt.QPen(whiteBrush, 1)) - self.rcurve.setPen(Qt.QPen(whiteBrush, 2)) - self.icurve.setPen(Qt.QPen(redBrush, 2)) + self.timeZoomer.setTrackerPen(Qt.QPen(whiteBrush, self.pen_width)) + self.timeZoomer.setRubberBandPen(Qt.QPen(whiteBrush, self.pen_width)) + self.freqZoomer.setTrackerPen(Qt.QPen(whiteBrush, self.pen_width)) + self.freqZoomer.setRubberBandPen(Qt.QPen(whiteBrush, self.pen_width)) + self.psdcurve.setPen(Qt.QPen(whiteBrush, self.pen_width)) + self.rcurve.setPen(Qt.QPen(whiteBrush, self.pen_width)) + self.icurve.setPen(Qt.QPen(redBrush, self.pen_width)) self.gui.timePlot.replot() self.gui.freqPlot.replot() @@ -573,14 +661,13 @@ class gr_plot_qt(QtGui.QMainWindow): self.gui.timePlot.setCanvasBackground(QtGui.QColor("black")) self.gui.freqPlot.setCanvasBackground(QtGui.QColor("black")) - self.picker.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.timeZoomer.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.timeZoomer.setRubberBandPen(Qt.QPen(whiteBrush, 2)) - self.freqZoomer.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.freqZoomer.setRubberBandPen(Qt.QPen(whiteBrush, 2)) - self.psdcurve.setPen(Qt.QPen(greenBrush, 1)) - self.rcurve.setPen(Qt.QPen(greenBrush, 2)) - self.icurve.setPen(Qt.QPen(redBrush, 2)) + self.timeZoomer.setTrackerPen(Qt.QPen(whiteBrush, self.pen_width)) + self.timeZoomer.setRubberBandPen(Qt.QPen(whiteBrush, self.pen_width)) + self.freqZoomer.setTrackerPen(Qt.QPen(whiteBrush, self.pen_width)) + self.freqZoomer.setRubberBandPen(Qt.QPen(whiteBrush, self.pen_width)) + self.psdcurve.setPen(Qt.QPen(greenBrush, self.pen_width)) + self.rcurve.setPen(Qt.QPen(greenBrush, self.pen_width)) + self.icurve.setPen(Qt.QPen(redBrush, self.pen_width)) self.gui.timePlot.replot() self.gui.freqPlot.replot() @@ -595,14 +682,13 @@ class gr_plot_qt(QtGui.QMainWindow): self.gui.timePlot.setCanvasBackground(QtGui.QColor("black")) self.gui.freqPlot.setCanvasBackground(QtGui.QColor("black")) - self.picker.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.timeZoomer.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.timeZoomer.setRubberBandPen(Qt.QPen(whiteBrush, 2)) - self.freqZoomer.setTrackerPen(Qt.QPen(whiteBrush, 2)) - self.freqZoomer.setRubberBandPen(Qt.QPen(whiteBrush, 2)) - self.psdcurve.setPen(Qt.QPen(blueBrush, 1)) - self.rcurve.setPen(Qt.QPen(blueBrush, 2)) - self.icurve.setPen(Qt.QPen(redBrush, 2)) + self.timeZoomer.setTrackerPen(Qt.QPen(whiteBrush, self.pen_width)) + self.timeZoomer.setRubberBandPen(Qt.QPen(whiteBrush, self.pen_width)) + self.freqZoomer.setTrackerPen(Qt.QPen(whiteBrush, self.pen_width)) + self.freqZoomer.setRubberBandPen(Qt.QPen(whiteBrush, self.pen_width)) + self.psdcurve.setPen(Qt.QPen(blueBrush, self.pen_width)) + self.rcurve.setPen(Qt.QPen(blueBrush, self.pen_width)) + self.icurve.setPen(Qt.QPen(redBrush, self.pen_width)) self.gui.timePlot.replot() self.gui.freqPlot.replot() diff --git a/gr-utils/src/python/pyqt_plot.py b/gr-utils/src/python/pyqt_plot.py index 74c43c3eb..98977da97 100644 --- a/gr-utils/src/python/pyqt_plot.py +++ b/gr-utils/src/python/pyqt_plot.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'pyqt_plot.ui' # -# Created: Tue Aug 25 18:18:14 2009 +# Created: Tue Sep 1 23:02:36 2009 # by: PyQt4 UI code generator 4.4.3 # # WARNING! All changes made in this file will be lost! @@ -12,7 +12,7 @@ from PyQt4 import QtCore, QtGui class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") - MainWindow.resize(927, 696) + MainWindow.resize(927, 718) self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtGui.QGridLayout(self.centralwidget) @@ -20,8 +20,123 @@ class Ui_MainWindow(object): self.plotHBar = QtGui.QScrollBar(self.centralwidget) self.plotHBar.setOrientation(QtCore.Qt.Horizontal) self.plotHBar.setObjectName("plotHBar") - self.gridLayout.addWidget(self.plotHBar, 2, 0, 1, 2) - self.tabGroup = QtGui.QTabWidget(self.centralwidget) + self.gridLayout.addWidget(self.plotHBar, 1, 0, 1, 3) + self.filePosBox = QtGui.QGroupBox(self.centralwidget) + self.filePosBox.setMinimumSize(QtCore.QSize(0, 120)) + self.filePosBox.setObjectName("filePosBox") + self.gridLayout_4 = QtGui.QGridLayout(self.filePosBox) + self.gridLayout_4.setObjectName("gridLayout_4") + self.filePosLayout = QtGui.QFormLayout() + self.filePosLayout.setObjectName("filePosLayout") + self.filePosStartLineEdit = QtGui.QLineEdit(self.filePosBox) + self.filePosStartLineEdit.setMinimumSize(QtCore.QSize(50, 0)) + self.filePosStartLineEdit.setMaximumSize(QtCore.QSize(100, 16777215)) + self.filePosStartLineEdit.setObjectName("filePosStartLineEdit") + self.filePosLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.filePosStartLineEdit) + self.filePosStopLabel = QtGui.QLabel(self.filePosBox) + self.filePosStopLabel.setObjectName("filePosStopLabel") + self.filePosLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.filePosStopLabel) + self.filePosStopLineEdit = QtGui.QLineEdit(self.filePosBox) + self.filePosStopLineEdit.setMinimumSize(QtCore.QSize(50, 0)) + self.filePosStopLineEdit.setMaximumSize(QtCore.QSize(100, 16777215)) + self.filePosStopLineEdit.setObjectName("filePosStopLineEdit") + self.filePosLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.filePosStopLineEdit) + self.filePosLengthLabel = QtGui.QLabel(self.filePosBox) + self.filePosLengthLabel.setObjectName("filePosLengthLabel") + self.filePosLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.filePosLengthLabel) + self.filePosLengthLineEdit = QtGui.QLineEdit(self.filePosBox) + self.filePosLengthLineEdit.setMinimumSize(QtCore.QSize(50, 0)) + self.filePosLengthLineEdit.setMaximumSize(QtCore.QSize(100, 16777215)) + self.filePosLengthLineEdit.setObjectName("filePosLengthLineEdit") + self.filePosLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.filePosLengthLineEdit) + self.filePosStartLabel = QtGui.QLabel(self.filePosBox) + self.filePosStartLabel.setObjectName("filePosStartLabel") + self.filePosLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.filePosStartLabel) + self.gridLayout_4.addLayout(self.filePosLayout, 0, 0, 1, 1) + self.fileTimeLayout = QtGui.QFormLayout() + self.fileTimeLayout.setObjectName("fileTimeLayout") + self.fileTimeStartLabel = QtGui.QLabel(self.filePosBox) + self.fileTimeStartLabel.setObjectName("fileTimeStartLabel") + self.fileTimeLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.fileTimeStartLabel) + self.fileTimeStartLineEdit = QtGui.QLineEdit(self.filePosBox) + self.fileTimeStartLineEdit.setMinimumSize(QtCore.QSize(50, 0)) + self.fileTimeStartLineEdit.setMaximumSize(QtCore.QSize(100, 16777215)) + self.fileTimeStartLineEdit.setObjectName("fileTimeStartLineEdit") + self.fileTimeLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.fileTimeStartLineEdit) + self.fileTimeStopLabel = QtGui.QLabel(self.filePosBox) + self.fileTimeStopLabel.setObjectName("fileTimeStopLabel") + self.fileTimeLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.fileTimeStopLabel) + self.fileTimeStopLineEdit = QtGui.QLineEdit(self.filePosBox) + self.fileTimeStopLineEdit.setMinimumSize(QtCore.QSize(50, 0)) + self.fileTimeStopLineEdit.setMaximumSize(QtCore.QSize(100, 16777215)) + self.fileTimeStopLineEdit.setObjectName("fileTimeStopLineEdit") + self.fileTimeLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.fileTimeStopLineEdit) + self.fileTimeLengthLabel = QtGui.QLabel(self.filePosBox) + self.fileTimeLengthLabel.setObjectName("fileTimeLengthLabel") + self.fileTimeLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.fileTimeLengthLabel) + self.fileTimeLengthLineEdit = QtGui.QLineEdit(self.filePosBox) + self.fileTimeLengthLineEdit.setMinimumSize(QtCore.QSize(50, 0)) + self.fileTimeLengthLineEdit.setMaximumSize(QtCore.QSize(100, 16777215)) + self.fileTimeLengthLineEdit.setObjectName("fileTimeLengthLineEdit") + self.fileTimeLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.fileTimeLengthLineEdit) + self.gridLayout_4.addLayout(self.fileTimeLayout, 0, 1, 1, 1) + self.gridLayout.addWidget(self.filePosBox, 2, 0, 1, 1) + self.displayGroupBox = QtGui.QGroupBox(self.centralwidget) + self.displayGroupBox.setMinimumSize(QtCore.QSize(170, 0)) + self.displayGroupBox.setObjectName("displayGroupBox") + self.gridLayout_2 = QtGui.QGridLayout(self.displayGroupBox) + self.gridLayout_2.setObjectName("gridLayout_2") + self.colorComboBox = QtGui.QComboBox(self.displayGroupBox) + self.colorComboBox.setObjectName("colorComboBox") + self.gridLayout_2.addWidget(self.colorComboBox, 0, 0, 1, 2) + self.lineWidthSpinBox = QtGui.QSpinBox(self.displayGroupBox) + self.lineWidthSpinBox.setMinimumSize(QtCore.QSize(100, 0)) + self.lineWidthSpinBox.setMaximumSize(QtCore.QSize(100, 16777215)) + self.lineWidthSpinBox.setObjectName("lineWidthSpinBox") + self.gridLayout_2.addWidget(self.lineWidthSpinBox, 1, 1, 1, 1) + self.lineWidthLabel = QtGui.QLabel(self.displayGroupBox) + self.lineWidthLabel.setObjectName("lineWidthLabel") + self.gridLayout_2.addWidget(self.lineWidthLabel, 1, 0, 1, 1) + self.lineStyleLabel = QtGui.QLabel(self.displayGroupBox) + self.lineStyleLabel.setObjectName("lineStyleLabel") + self.gridLayout_2.addWidget(self.lineStyleLabel, 2, 0, 1, 1) + self.lineStyleComboBox = QtGui.QComboBox(self.displayGroupBox) + self.lineStyleComboBox.setMinimumSize(QtCore.QSize(100, 0)) + self.lineStyleComboBox.setMaximumSize(QtCore.QSize(100, 16777215)) + self.lineStyleComboBox.setObjectName("lineStyleComboBox") + self.gridLayout_2.addWidget(self.lineStyleComboBox, 2, 1, 1, 1) + self.styleSizeLabel = QtGui.QLabel(self.displayGroupBox) + self.styleSizeLabel.setObjectName("styleSizeLabel") + self.gridLayout_2.addWidget(self.styleSizeLabel, 3, 0, 1, 1) + self.styleSizeSpinBox = QtGui.QSpinBox(self.displayGroupBox) + self.styleSizeSpinBox.setMinimumSize(QtCore.QSize(100, 0)) + self.styleSizeSpinBox.setMaximumSize(QtCore.QSize(100, 16777215)) + self.styleSizeSpinBox.setObjectName("styleSizeSpinBox") + self.gridLayout_2.addWidget(self.styleSizeSpinBox, 3, 1, 1, 1) + self.gridLayout.addWidget(self.displayGroupBox, 2, 2, 1, 1) + self.sysGroupBox = QtGui.QGroupBox(self.centralwidget) + self.sysGroupBox.setMinimumSize(QtCore.QSize(200, 0)) + self.sysGroupBox.setObjectName("sysGroupBox") + self.formLayout = QtGui.QFormLayout(self.sysGroupBox) + self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) + self.formLayout.setObjectName("formLayout") + self.sampleRateLabel = QtGui.QLabel(self.sysGroupBox) + self.sampleRateLabel.setObjectName("sampleRateLabel") + self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.sampleRateLabel) + self.sampleRateLineEdit = QtGui.QLineEdit(self.sysGroupBox) + self.sampleRateLineEdit.setMinimumSize(QtCore.QSize(50, 0)) + self.sampleRateLineEdit.setMaximumSize(QtCore.QSize(100, 16777215)) + self.sampleRateLineEdit.setObjectName("sampleRateLineEdit") + self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.sampleRateLineEdit) + self.gridLayout.addWidget(self.sysGroupBox, 2, 1, 1, 1) + self.frame = QtGui.QFrame(self.centralwidget) + self.frame.setFrameShape(QtGui.QFrame.StyledPanel) + self.frame.setFrameShadow(QtGui.QFrame.Raised) + self.frame.setObjectName("frame") + self.gridLayout_3 = QtGui.QGridLayout(self.frame) + self.gridLayout_3.setObjectName("gridLayout_3") + self.tabGroup = QtGui.QTabWidget(self.frame) + self.tabGroup.setMinimumSize(QtCore.QSize(0, 0)) self.tabGroup.setObjectName("tabGroup") self.timeTab = QtGui.QWidget() self.timeTab.setObjectName("timeTab") @@ -41,14 +156,14 @@ class Ui_MainWindow(object): self.formLayout_4 = QtGui.QFormLayout(self.fftPropBox) self.formLayout_4.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout_4.setObjectName("formLayout_4") + self.psdFFTSizeLabel = QtGui.QLabel(self.fftPropBox) + self.psdFFTSizeLabel.setObjectName("psdFFTSizeLabel") + self.formLayout_4.setWidget(0, QtGui.QFormLayout.LabelRole, self.psdFFTSizeLabel) self.psdFFTComboBox = QtGui.QComboBox(self.fftPropBox) self.psdFFTComboBox.setMinimumSize(QtCore.QSize(96, 0)) self.psdFFTComboBox.setMaximumSize(QtCore.QSize(96, 16777215)) self.psdFFTComboBox.setObjectName("psdFFTComboBox") self.formLayout_4.setWidget(0, QtGui.QFormLayout.FieldRole, self.psdFFTComboBox) - self.psdFFTSizeLabel = QtGui.QLabel(self.fftPropBox) - self.psdFFTSizeLabel.setObjectName("psdFFTSizeLabel") - self.formLayout_4.setWidget(0, QtGui.QFormLayout.LabelRole, self.psdFFTSizeLabel) self.horizontalLayout_2.addWidget(self.fftPropBox) self.freqPlot = Qwt5.QwtPlot(self.freqTab) self.freqPlot.setObjectName("freqPlot") @@ -75,87 +190,8 @@ class Ui_MainWindow(object): self.specPlot.setObjectName("specPlot") self.horizontalLayout_3.addWidget(self.specPlot) self.tabGroup.addTab(self.specTab, "") - self.gridLayout.addWidget(self.tabGroup, 1, 0, 1, 1) - self.filePosBox = QtGui.QGroupBox(self.centralwidget) - self.filePosBox.setMinimumSize(QtCore.QSize(0, 120)) - self.filePosBox.setObjectName("filePosBox") - self.formLayoutWidget_2 = QtGui.QWidget(self.filePosBox) - self.formLayoutWidget_2.setGeometry(QtCore.QRect(0, 20, 160, 92)) - self.formLayoutWidget_2.setObjectName("formLayoutWidget_2") - self.filePosLayout = QtGui.QFormLayout(self.formLayoutWidget_2) - self.filePosLayout.setObjectName("filePosLayout") - self.filePosStartLabel = QtGui.QLabel(self.formLayoutWidget_2) - self.filePosStartLabel.setObjectName("filePosStartLabel") - self.filePosLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.filePosStartLabel) - self.filePosStartLineEdit = QtGui.QLineEdit(self.formLayoutWidget_2) - self.filePosStartLineEdit.setObjectName("filePosStartLineEdit") - self.filePosLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.filePosStartLineEdit) - self.filePosStopLabel = QtGui.QLabel(self.formLayoutWidget_2) - self.filePosStopLabel.setObjectName("filePosStopLabel") - self.filePosLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.filePosStopLabel) - self.filePosStopLineEdit = QtGui.QLineEdit(self.formLayoutWidget_2) - self.filePosStopLineEdit.setObjectName("filePosStopLineEdit") - self.filePosLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.filePosStopLineEdit) - self.filePosLengthLabel = QtGui.QLabel(self.formLayoutWidget_2) - self.filePosLengthLabel.setObjectName("filePosLengthLabel") - self.filePosLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.filePosLengthLabel) - self.filePosLengthLineEdit = QtGui.QLineEdit(self.formLayoutWidget_2) - self.filePosLengthLineEdit.setObjectName("filePosLengthLineEdit") - self.filePosLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.filePosLengthLineEdit) - self.formLayoutWidget_4 = QtGui.QWidget(self.filePosBox) - self.formLayoutWidget_4.setGeometry(QtCore.QRect(180, 20, 231, 92)) - self.formLayoutWidget_4.setObjectName("formLayoutWidget_4") - self.fileTimeLayout = QtGui.QFormLayout(self.formLayoutWidget_4) - self.fileTimeLayout.setObjectName("fileTimeLayout") - self.fileTimeStartLabel = QtGui.QLabel(self.formLayoutWidget_4) - self.fileTimeStartLabel.setObjectName("fileTimeStartLabel") - self.fileTimeLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.fileTimeStartLabel) - self.fileTimeStartLineEdit = QtGui.QLineEdit(self.formLayoutWidget_4) - self.fileTimeStartLineEdit.setObjectName("fileTimeStartLineEdit") - self.fileTimeLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.fileTimeStartLineEdit) - self.fileTimeStopLabel = QtGui.QLabel(self.formLayoutWidget_4) - self.fileTimeStopLabel.setObjectName("fileTimeStopLabel") - self.fileTimeLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.fileTimeStopLabel) - self.fileTimeStopLineEdit = QtGui.QLineEdit(self.formLayoutWidget_4) - self.fileTimeStopLineEdit.setObjectName("fileTimeStopLineEdit") - self.fileTimeLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.fileTimeStopLineEdit) - self.fileTimeLengthLabel = QtGui.QLabel(self.formLayoutWidget_4) - self.fileTimeLengthLabel.setObjectName("fileTimeLengthLabel") - self.fileTimeLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.fileTimeLengthLabel) - self.fileTimeLengthLineEdit = QtGui.QLineEdit(self.formLayoutWidget_4) - self.fileTimeLengthLineEdit.setObjectName("fileTimeLengthLineEdit") - self.fileTimeLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.fileTimeLengthLineEdit) - self.sysGroupBox = QtGui.QGroupBox(self.filePosBox) - self.sysGroupBox.setGeometry(QtCore.QRect(530, 0, 200, 120)) - self.sysGroupBox.setMinimumSize(QtCore.QSize(200, 0)) - self.sysGroupBox.setObjectName("sysGroupBox") - self.formLayoutWidget_3 = QtGui.QWidget(self.sysGroupBox) - self.formLayoutWidget_3.setGeometry(QtCore.QRect(0, 20, 191, 91)) - self.formLayoutWidget_3.setObjectName("formLayoutWidget_3") - self.formLayout_2 = QtGui.QFormLayout(self.formLayoutWidget_3) - self.formLayout_2.setObjectName("formLayout_2") - self.sampleRateLabel = QtGui.QLabel(self.formLayoutWidget_3) - self.sampleRateLabel.setObjectName("sampleRateLabel") - self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.sampleRateLabel) - self.sampleRateLineEdit = QtGui.QLineEdit(self.formLayoutWidget_3) - self.sampleRateLineEdit.setMinimumSize(QtCore.QSize(0, 0)) - self.sampleRateLineEdit.setObjectName("sampleRateLineEdit") - self.formLayout_2.setWidget(0, QtGui.QFormLayout.FieldRole, self.sampleRateLineEdit) - self.displayGroupBox = QtGui.QGroupBox(self.filePosBox) - self.displayGroupBox.setGeometry(QtCore.QRect(730, 0, 170, 120)) - self.displayGroupBox.setMinimumSize(QtCore.QSize(170, 0)) - self.displayGroupBox.setObjectName("displayGroupBox") - self.verticalLayoutWidget = QtGui.QWidget(self.displayGroupBox) - self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 20, 160, 91)) - self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") - self.verticalLayout = QtGui.QVBoxLayout(self.verticalLayoutWidget) - self.verticalLayout.setObjectName("verticalLayout") - self.colorComboBox = QtGui.QComboBox(self.verticalLayoutWidget) - self.colorComboBox.setObjectName("colorComboBox") - self.verticalLayout.addWidget(self.colorComboBox) - spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.verticalLayout.addItem(spacerItem) - self.gridLayout.addWidget(self.filePosBox, 3, 0, 1, 1) + self.gridLayout_3.addWidget(self.tabGroup, 0, 0, 1, 1) + self.gridLayout.addWidget(self.frame, 0, 0, 1, 3) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtGui.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 927, 24)) @@ -170,7 +206,10 @@ class Ui_MainWindow(object): self.action_open.setObjectName("action_open") self.action_exit = QtGui.QAction(MainWindow) self.action_exit.setObjectName("action_exit") + self.action_reload = QtGui.QAction(MainWindow) + self.action_reload.setObjectName("action_reload") self.menu_File.addAction(self.action_open) + self.menu_File.addAction(self.action_reload) self.menu_File.addAction(self.action_exit) self.menubar.addAction(self.menu_File.menuAction()) @@ -181,26 +220,30 @@ class Ui_MainWindow(object): def retranslateUi(self, MainWindow): MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8)) - self.tabGroup.setTabText(self.tabGroup.indexOf(self.timeTab), QtGui.QApplication.translate("MainWindow", "Time Domain", None, QtGui.QApplication.UnicodeUTF8)) - self.fftPropBox.setTitle(QtGui.QApplication.translate("MainWindow", "FFT Properties", None, QtGui.QApplication.UnicodeUTF8)) - self.psdFFTSizeLabel.setText(QtGui.QApplication.translate("MainWindow", "FFT Size", None, QtGui.QApplication.UnicodeUTF8)) - self.tabGroup.setTabText(self.tabGroup.indexOf(self.freqTab), QtGui.QApplication.translate("MainWindow", "Frequency Domain", None, QtGui.QApplication.UnicodeUTF8)) - self.groupBox.setTitle(QtGui.QApplication.translate("MainWindow", "Spectrogram Properties", None, QtGui.QApplication.UnicodeUTF8)) - self.specFFTLabel.setText(QtGui.QApplication.translate("MainWindow", "FFT Size", None, QtGui.QApplication.UnicodeUTF8)) - self.tabGroup.setTabText(self.tabGroup.indexOf(self.specTab), QtGui.QApplication.translate("MainWindow", "Spectrogram", None, QtGui.QApplication.UnicodeUTF8)) self.filePosBox.setTitle(QtGui.QApplication.translate("MainWindow", "File Position", None, QtGui.QApplication.UnicodeUTF8)) - self.filePosStartLabel.setText(QtGui.QApplication.translate("MainWindow", "Start", None, QtGui.QApplication.UnicodeUTF8)) self.filePosStopLabel.setText(QtGui.QApplication.translate("MainWindow", "Stop", None, QtGui.QApplication.UnicodeUTF8)) self.filePosLengthLabel.setText(QtGui.QApplication.translate("MainWindow", "Length", None, QtGui.QApplication.UnicodeUTF8)) + self.filePosStartLabel.setText(QtGui.QApplication.translate("MainWindow", "Start", None, QtGui.QApplication.UnicodeUTF8)) self.fileTimeStartLabel.setText(QtGui.QApplication.translate("MainWindow", "time start (sec)", None, QtGui.QApplication.UnicodeUTF8)) self.fileTimeStopLabel.setText(QtGui.QApplication.translate("MainWindow", "time stop (sec)", None, QtGui.QApplication.UnicodeUTF8)) self.fileTimeLengthLabel.setText(QtGui.QApplication.translate("MainWindow", "time length (sec)", None, QtGui.QApplication.UnicodeUTF8)) + self.displayGroupBox.setTitle(QtGui.QApplication.translate("MainWindow", "Display Properties", None, QtGui.QApplication.UnicodeUTF8)) + self.lineWidthLabel.setText(QtGui.QApplication.translate("MainWindow", "Line Width", None, QtGui.QApplication.UnicodeUTF8)) + self.lineStyleLabel.setText(QtGui.QApplication.translate("MainWindow", "Line Style", None, QtGui.QApplication.UnicodeUTF8)) + self.styleSizeLabel.setText(QtGui.QApplication.translate("MainWindow", "Style Size", None, QtGui.QApplication.UnicodeUTF8)) self.sysGroupBox.setTitle(QtGui.QApplication.translate("MainWindow", "System Properties", None, QtGui.QApplication.UnicodeUTF8)) self.sampleRateLabel.setText(QtGui.QApplication.translate("MainWindow", "Sample Rate", None, QtGui.QApplication.UnicodeUTF8)) - self.displayGroupBox.setTitle(QtGui.QApplication.translate("MainWindow", "Display Properties", None, QtGui.QApplication.UnicodeUTF8)) + self.tabGroup.setTabText(self.tabGroup.indexOf(self.timeTab), QtGui.QApplication.translate("MainWindow", "Time Domain", None, QtGui.QApplication.UnicodeUTF8)) + self.fftPropBox.setTitle(QtGui.QApplication.translate("MainWindow", "FFT Properties", None, QtGui.QApplication.UnicodeUTF8)) + self.psdFFTSizeLabel.setText(QtGui.QApplication.translate("MainWindow", "FFT Size", None, QtGui.QApplication.UnicodeUTF8)) + self.tabGroup.setTabText(self.tabGroup.indexOf(self.freqTab), QtGui.QApplication.translate("MainWindow", "Frequency Domain", None, QtGui.QApplication.UnicodeUTF8)) + self.groupBox.setTitle(QtGui.QApplication.translate("MainWindow", "Spectrogram Properties", None, QtGui.QApplication.UnicodeUTF8)) + self.specFFTLabel.setText(QtGui.QApplication.translate("MainWindow", "FFT Size", None, QtGui.QApplication.UnicodeUTF8)) + self.tabGroup.setTabText(self.tabGroup.indexOf(self.specTab), QtGui.QApplication.translate("MainWindow", "Spectrogram", None, QtGui.QApplication.UnicodeUTF8)) self.menu_File.setTitle(QtGui.QApplication.translate("MainWindow", "&File", None, QtGui.QApplication.UnicodeUTF8)) self.action_open.setText(QtGui.QApplication.translate("MainWindow", "&Open", None, QtGui.QApplication.UnicodeUTF8)) self.action_open.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+O", None, QtGui.QApplication.UnicodeUTF8)) self.action_exit.setText(QtGui.QApplication.translate("MainWindow", "E&xit", None, QtGui.QApplication.UnicodeUTF8)) + self.action_reload.setText(QtGui.QApplication.translate("MainWindow", "&Reload", None, QtGui.QApplication.UnicodeUTF8)) from PyQt4 import Qwt5 diff --git a/gr-utils/src/python/pyqt_plot.ui b/gr-utils/src/python/pyqt_plot.ui index 19a62adf5..7244d24c9 100644 --- a/gr-utils/src/python/pyqt_plot.ui +++ b/gr-utils/src/python/pyqt_plot.ui @@ -6,7 +6,7 @@ <x>0</x> <y>0</y> <width>927</width> - <height>696</height> + <height>718</height> </rect> </property> <property name="windowTitle" > @@ -14,126 +14,14 @@ </property> <widget class="QWidget" name="centralwidget" > <layout class="QGridLayout" name="gridLayout" > - <item row="2" column="0" colspan="2" > + <item row="1" column="0" colspan="3" > <widget class="QScrollBar" name="plotHBar" > <property name="orientation" > <enum>Qt::Horizontal</enum> </property> </widget> </item> - <item row="1" column="0" > - <widget class="QTabWidget" name="tabGroup" > - <property name="currentIndex" > - <number>0</number> - </property> - <widget class="QWidget" name="timeTab" > - <attribute name="title" > - <string>Time Domain</string> - </attribute> - <layout class="QHBoxLayout" name="horizontalLayout" > - <item> - <widget class="QwtPlot" name="timePlot" /> - </item> - </layout> - </widget> - <widget class="QWidget" name="freqTab" > - <attribute name="title" > - <string>Frequency Domain</string> - </attribute> - <layout class="QHBoxLayout" name="horizontalLayout_2" > - <item> - <widget class="QGroupBox" name="fftPropBox" > - <property name="minimumSize" > - <size> - <width>160</width> - <height>0</height> - </size> - </property> - <property name="title" > - <string>FFT Properties</string> - </property> - <layout class="QFormLayout" name="formLayout_4" > - <property name="fieldGrowthPolicy" > - <enum>QFormLayout::AllNonFixedFieldsGrow</enum> - </property> - <item row="0" column="1" > - <widget class="QComboBox" name="psdFFTComboBox" > - <property name="minimumSize" > - <size> - <width>96</width> - <height>0</height> - </size> - </property> - <property name="maximumSize" > - <size> - <width>96</width> - <height>16777215</height> - </size> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QLabel" name="psdFFTSizeLabel" > - <property name="text" > - <string>FFT Size</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QwtPlot" name="freqPlot" /> - </item> - </layout> - </widget> - <widget class="QWidget" name="specTab" > - <attribute name="title" > - <string>Spectrogram</string> - </attribute> - <layout class="QHBoxLayout" name="horizontalLayout_3" > - <item> - <widget class="QGroupBox" name="groupBox" > - <property name="title" > - <string>Spectrogram Properties</string> - </property> - <layout class="QFormLayout" name="formLayout_3" > - <item row="1" column="0" > - <widget class="QLabel" name="specFFTLabel" > - <property name="text" > - <string>FFT Size</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QComboBox" name="specFFTComboBox" > - <property name="minimumSize" > - <size> - <width>96</width> - <height>0</height> - </size> - </property> - <property name="maximumSize" > - <size> - <width>96</width> - <height>16777215</height> - </size> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QwtPlot" name="specPlot" /> - </item> - </layout> - <zorder>specPlot</zorder> - <zorder>groupBox</zorder> - </widget> - </widget> - </item> - <item row="3" column="0" > + <item row="2" column="0" > <widget class="QGroupBox" name="filePosBox" > <property name="minimumSize" > <size> @@ -144,185 +32,416 @@ <property name="title" > <string>File Position</string> </property> - <widget class="QWidget" name="formLayoutWidget_2" > - <property name="geometry" > - <rect> - <x>0</x> - <y>20</y> - <width>160</width> - <height>92</height> - </rect> - </property> - <layout class="QFormLayout" name="filePosLayout" > - <item row="0" column="0" > - <widget class="QLabel" name="filePosStartLabel" > - <property name="text" > - <string>Start</string> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="filePosStartLineEdit" /> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="filePosStopLabel" > - <property name="text" > - <string>Stop</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="filePosStopLineEdit" /> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="filePosLengthLabel" > - <property name="text" > - <string>Length</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QLineEdit" name="filePosLengthLineEdit" /> - </item> - </layout> - </widget> - <widget class="QWidget" name="formLayoutWidget_4" > - <property name="geometry" > - <rect> - <x>180</x> - <y>20</y> - <width>231</width> - <height>92</height> - </rect> - </property> - <layout class="QFormLayout" name="fileTimeLayout" > - <item row="0" column="0" > - <widget class="QLabel" name="fileTimeStartLabel" > - <property name="text" > - <string>time start (sec)</string> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QLineEdit" name="fileTimeStartLineEdit" /> - </item> - <item row="1" column="0" > - <widget class="QLabel" name="fileTimeStopLabel" > - <property name="text" > - <string>time stop (sec)</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <widget class="QLineEdit" name="fileTimeStopLineEdit" /> - </item> - <item row="2" column="0" > - <widget class="QLabel" name="fileTimeLengthLabel" > - <property name="text" > - <string>time length (sec)</string> - </property> - </widget> - </item> - <item row="2" column="1" > - <widget class="QLineEdit" name="fileTimeLengthLineEdit" /> - </item> - </layout> - </widget> - <widget class="QGroupBox" name="sysGroupBox" > - <property name="geometry" > - <rect> - <x>530</x> - <y>0</y> - <width>200</width> - <height>120</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>200</width> - <height>0</height> - </size> - </property> - <property name="title" > - <string>System Properties</string> - </property> - <widget class="QWidget" name="formLayoutWidget_3" > - <property name="geometry" > - <rect> - <x>0</x> - <y>20</y> - <width>191</width> - <height>91</height> - </rect> - </property> - <layout class="QFormLayout" name="formLayout_2" > + <layout class="QGridLayout" name="gridLayout_4" > + <item row="0" column="0" > + <layout class="QFormLayout" name="filePosLayout" > + <item row="0" column="1" > + <widget class="QLineEdit" name="filePosStartLineEdit" > + <property name="minimumSize" > + <size> + <width>50</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QLabel" name="filePosStopLabel" > + <property name="text" > + <string>Stop</string> + </property> + </widget> + </item> + <item row="1" column="1" > + <widget class="QLineEdit" name="filePosStopLineEdit" > + <property name="minimumSize" > + <size> + <width>50</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item row="2" column="0" > + <widget class="QLabel" name="filePosLengthLabel" > + <property name="text" > + <string>Length</string> + </property> + </widget> + </item> + <item row="2" column="1" > + <widget class="QLineEdit" name="filePosLengthLineEdit" > + <property name="minimumSize" > + <size> + <width>50</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> <item row="0" column="0" > - <widget class="QLabel" name="sampleRateLabel" > + <widget class="QLabel" name="filePosStartLabel" > <property name="text" > - <string>Sample Rate</string> + <string>Start</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="0" column="1" > + <layout class="QFormLayout" name="fileTimeLayout" > + <item row="0" column="0" > + <widget class="QLabel" name="fileTimeStartLabel" > + <property name="text" > + <string>time start (sec)</string> </property> </widget> </item> <item row="0" column="1" > - <widget class="QLineEdit" name="sampleRateLineEdit" > + <widget class="QLineEdit" name="fileTimeStartLineEdit" > <property name="minimumSize" > <size> - <width>0</width> + <width>50</width> <height>0</height> </size> </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> </widget> </item> - </layout> - </widget> - </widget> - <widget class="QGroupBox" name="displayGroupBox" > - <property name="geometry" > - <rect> - <x>730</x> - <y>0</y> - <width>170</width> - <height>120</height> - </rect> - </property> - <property name="minimumSize" > - <size> - <width>170</width> - <height>0</height> - </size> - </property> - <property name="title" > - <string>Display Properties</string> - </property> - <widget class="QWidget" name="verticalLayoutWidget" > - <property name="geometry" > - <rect> - <x>0</x> - <y>20</y> - <width>160</width> - <height>91</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout" > - <item> - <widget class="QComboBox" name="colorComboBox" /> + <item row="1" column="0" > + <widget class="QLabel" name="fileTimeStopLabel" > + <property name="text" > + <string>time stop (sec)</string> + </property> + </widget> </item> - <item> - <spacer name="verticalSpacer" > - <property name="orientation" > - <enum>Qt::Vertical</enum> + <item row="1" column="1" > + <widget class="QLineEdit" name="fileTimeStopLineEdit" > + <property name="minimumSize" > + <size> + <width>50</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item row="2" column="0" > + <widget class="QLabel" name="fileTimeLengthLabel" > + <property name="text" > + <string>time length (sec)</string> + </property> + </widget> + </item> + <item row="2" column="1" > + <widget class="QLineEdit" name="fileTimeLengthLineEdit" > + <property name="minimumSize" > + <size> + <width>50</width> + <height>0</height> + </size> </property> - <property name="sizeHint" stdset="0" > + <property name="maximumSize" > <size> - <width>20</width> - <height>40</height> + <width>100</width> + <height>16777215</height> </size> </property> - </spacer> + </widget> </item> </layout> - </widget> - </widget> + </item> + </layout> + </widget> + </item> + <item row="2" column="2" > + <widget class="QGroupBox" name="displayGroupBox" > + <property name="minimumSize" > + <size> + <width>170</width> + <height>0</height> + </size> + </property> + <property name="title" > + <string>Display Properties</string> + </property> + <layout class="QGridLayout" name="gridLayout_2" > + <item row="0" column="0" colspan="2" > + <widget class="QComboBox" name="colorComboBox" /> + </item> + <item row="1" column="1" > + <widget class="QSpinBox" name="lineWidthSpinBox" > + <property name="minimumSize" > + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item row="1" column="0" > + <widget class="QLabel" name="lineWidthLabel" > + <property name="text" > + <string>Line Width</string> + </property> + </widget> + </item> + <item row="2" column="0" > + <widget class="QLabel" name="lineStyleLabel" > + <property name="text" > + <string>Line Style</string> + </property> + </widget> + </item> + <item row="2" column="1" > + <widget class="QComboBox" name="lineStyleComboBox" > + <property name="minimumSize" > + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item row="3" column="0" > + <widget class="QLabel" name="styleSizeLabel" > + <property name="text" > + <string>Style Size</string> + </property> + </widget> + </item> + <item row="3" column="1" > + <widget class="QSpinBox" name="styleSizeSpinBox" > + <property name="minimumSize" > + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="2" column="1" > + <widget class="QGroupBox" name="sysGroupBox" > + <property name="minimumSize" > + <size> + <width>200</width> + <height>0</height> + </size> + </property> + <property name="title" > + <string>System Properties</string> + </property> + <layout class="QFormLayout" name="formLayout" > + <property name="fieldGrowthPolicy" > + <enum>QFormLayout::AllNonFixedFieldsGrow</enum> + </property> + <item row="0" column="0" > + <widget class="QLabel" name="sampleRateLabel" > + <property name="text" > + <string>Sample Rate</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QLineEdit" name="sampleRateLineEdit" > + <property name="minimumSize" > + <size> + <width>50</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>100</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="0" column="0" colspan="3" > + <widget class="QFrame" name="frame" > + <property name="frameShape" > + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow" > + <enum>QFrame::Raised</enum> + </property> + <layout class="QGridLayout" name="gridLayout_3" > + <item row="0" column="0" > + <widget class="QTabWidget" name="tabGroup" > + <property name="minimumSize" > + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="currentIndex" > + <number>0</number> + </property> + <widget class="QWidget" name="timeTab" > + <attribute name="title" > + <string>Time Domain</string> + </attribute> + <layout class="QHBoxLayout" name="horizontalLayout" > + <item> + <widget class="QwtPlot" name="timePlot" /> + </item> + </layout> + <zorder>timePlot</zorder> + </widget> + <widget class="QWidget" name="freqTab" > + <attribute name="title" > + <string>Frequency Domain</string> + </attribute> + <layout class="QHBoxLayout" name="horizontalLayout_2" > + <item> + <widget class="QGroupBox" name="fftPropBox" > + <property name="minimumSize" > + <size> + <width>160</width> + <height>0</height> + </size> + </property> + <property name="title" > + <string>FFT Properties</string> + </property> + <layout class="QFormLayout" name="formLayout_4" > + <property name="fieldGrowthPolicy" > + <enum>QFormLayout::AllNonFixedFieldsGrow</enum> + </property> + <item row="0" column="0" > + <widget class="QLabel" name="psdFFTSizeLabel" > + <property name="text" > + <string>FFT Size</string> + </property> + </widget> + </item> + <item row="0" column="1" > + <widget class="QComboBox" name="psdFFTComboBox" > + <property name="minimumSize" > + <size> + <width>96</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>96</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + </layout> + <zorder>psdFFTSizeLabel</zorder> + <zorder>psdFFTComboBox</zorder> + </widget> + </item> + <item> + <widget class="QwtPlot" name="freqPlot" /> + </item> + </layout> + </widget> + <widget class="QWidget" name="specTab" > + <attribute name="title" > + <string>Spectrogram</string> + </attribute> + <layout class="QHBoxLayout" name="horizontalLayout_3" > + <item> + <widget class="QGroupBox" name="groupBox" > + <property name="title" > + <string>Spectrogram Properties</string> + </property> + <layout class="QFormLayout" name="formLayout_3" > + <item row="1" column="0" > + <widget class="QLabel" name="specFFTLabel" > + <property name="text" > + <string>FFT Size</string> + </property> + </widget> + </item> + <item row="1" column="1" > + <widget class="QComboBox" name="specFFTComboBox" > + <property name="minimumSize" > + <size> + <width>96</width> + <height>0</height> + </size> + </property> + <property name="maximumSize" > + <size> + <width>96</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QwtPlot" name="specPlot" /> + </item> + </layout> + <zorder>specPlot</zorder> + <zorder>groupBox</zorder> + </widget> + </widget> + </item> + </layout> + <zorder>tabGroup</zorder> </widget> </item> </layout> @@ -341,6 +460,7 @@ <string>&File</string> </property> <addaction name="action_open" /> + <addaction name="action_reload" /> <addaction name="action_exit" /> </widget> <addaction name="menu_File" /> @@ -359,6 +479,11 @@ <string>E&xit</string> </property> </action> + <action name="action_reload" > + <property name="text" > + <string>&Reload</string> + </property> + </action> </widget> <customwidgets> <customwidget> |