summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgr-utils/src/python/gr_plot_qt.py117
-rw-r--r--gr-utils/src/python/pyqt_plot.py56
-rw-r--r--gr-utils/src/python/pyqt_plot.ui307
3 files changed, 328 insertions, 152 deletions
diff --git a/gr-utils/src/python/gr_plot_qt.py b/gr-utils/src/python/gr_plot_qt.py
index e772151f0..958be19ca 100755
--- a/gr-utils/src/python/gr_plot_qt.py
+++ b/gr-utils/src/python/gr_plot_qt.py
@@ -16,6 +16,36 @@ from gnuradio import eng_notation
from pyqt_plot import Ui_MainWindow
+class SpectrogramData(Qwt.QwtRasterData):
+
+ def __init__(self, f, t):
+ Qwt.QwtArrayData.__init__(self, Qt.QRectF(0, 0, 0, 0))
+ self.sp = scipy.array([[0], [0]])
+
+ def set_data(self, xfreq, ytime, data):
+ self.sp = data
+ self.freq = xfreq
+ self.time = ytime
+ boundingBox = Qt.QRectF(0, 0, self.freq.size, self.time.size)
+ self.setBoundingRect(boundingBox)
+
+ def rasterHint(self, rect):
+ return Qt.QSize(self.sp.shape[0], self.sp.shape[1])
+
+ def copy(self):
+ return self
+
+ def range(self):
+
+ return Qwt.QwtDoubleInterval(self.sp.min(), self.sp.max())
+
+ def value(self, x, y):
+ #print x, y
+ x = int(x)
+ y = int(y)
+ return self.sp[x][y-1]
+
+
class gr_plot_qt(QtGui.QMainWindow):
def __init__(self, qapp, filename, options, parent=None):
QtGui.QWidget.__init__(self, parent)
@@ -32,7 +62,7 @@ class gr_plot_qt(QtGui.QMainWindow):
self.datatype = scipy.complex64
self.iq = list()
self.time = list()
-
+
# Set up basic plot attributes
self.gui.timePlot.setAxisTitle(self.gui.timePlot.xBottom, "Time (sec)")
self.gui.timePlot.setAxisTitle(self.gui.timePlot.yLeft, "Amplitude (V)")
@@ -40,13 +70,21 @@ class gr_plot_qt(QtGui.QMainWindow):
self.gui.freqPlot.setAxisTitle(self.gui.freqPlot.yLeft, "Magnitude (dB)")
# Set up FFT size combo box
- self.gui.fftComboBox.addItems(["128", "256", "512", "1024", "2048",
- "4096", "8192", "16384", "32768"])
- pos = self.gui.fftComboBox.findText(Qt.QString("%1").arg(self.psdfftsize))
- self.gui.fftComboBox.setCurrentIndex(pos)
- self.connect(self.gui.fftComboBox,
+ self.fftsizes = ["128", "256", "512", "1024", "2048",
+ "4096", "8192", "16384", "32768"]
+ self.gui.psdFFTComboBox.addItems(self.fftsizes)
+ self.gui.specFFTComboBox.addItems(self.fftsizes)
+ pos = self.gui.psdFFTComboBox.findText(Qt.QString("%1").arg(self.psdfftsize))
+ self.gui.psdFFTComboBox.setCurrentIndex(pos)
+ pos = self.gui.specFFTComboBox.findText(Qt.QString("%1").arg(self.specfftsize))
+ self.gui.specFFTComboBox.setCurrentIndex(pos)
+
+ self.connect(self.gui.psdFFTComboBox,
+ Qt.SIGNAL("activated (const QString&)"),
+ self.psdFFTComboBoxEdit)
+ self.connect(self.gui.specFFTComboBox,
Qt.SIGNAL("activated (const QString&)"),
- self.fftComboBoxEdit)
+ self.specFFTComboBoxEdit)
# Set up color scheme box
self.color_modes = {"Black on White" : self.color_black_on_white,
@@ -74,6 +112,12 @@ class gr_plot_qt(QtGui.QMainWindow):
Qwt.QwtPicker.AlwaysOn,
self.gui.freqPlot.canvas())
+ self.specZoomer = Qwt.QwtPlotZoomer(self.gui.specPlot.xBottom,
+ self.gui.specPlot.yLeft,
+ Qwt.QwtPicker.PointSelection,
+ Qwt.QwtPicker.AlwaysOn,
+ self.gui.specPlot.canvas())
+
self.picker = Qwt.QwtPlotPicker(self.gui.timePlot.xBottom,
self.gui.timePlot.yLeft,
Qwt.QwtPicker.PointSelection,
@@ -137,6 +181,21 @@ class gr_plot_qt(QtGui.QMainWindow):
self.psdcurve = Qwt.QwtPlotCurve("PSD")
self.psdcurve.attach(self.gui.freqPlot)
+ # Set up specTab plot as a spectrogram
+ self.specdata = SpectrogramData(range(0, 10), range(0, 10))
+
+ colorMap = Qwt.QwtLinearColorMap(Qt.Qt.darkCyan, Qt.Qt.red)
+ colorMap.addColorStop(0.1, Qt.Qt.cyan)
+ colorMap.addColorStop(0.6, Qt.Qt.green)
+ colorMap.addColorStop(0.95, Qt.Qt.yellow)
+
+ self.spec = Qwt.QwtPlotSpectrogram()
+ self.spec.setColorMap(colorMap)
+ self.spec.attach(self.gui.specPlot)
+ self.spec.setContourLevels([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
+ self.spec.setDisplayMode(Qwt.QwtPlotSpectrogram.ImageMode, True)
+ self.spec.setData(self.specdata)
+
# Set up initial color scheme
self.color_modes["Blue on Black"]()
@@ -172,12 +231,14 @@ class gr_plot_qt(QtGui.QMainWindow):
self.init_data_input()
self.get_data(self.cur_start, self.cur_stop)
self.get_psd()
+ self.get_specgram()
self.gui.plotHBar.setSliderPosition(0)
self.gui.plotHBar.setMaximum(self.signal_size)
self.update_time_curves()
self.update_psd_curves()
+ self.update_specgram_curves()
def init_data_input(self):
self.hfile.seek(0, os.SEEK_END)
@@ -218,17 +279,34 @@ class gr_plot_qt(QtGui.QMainWindow):
noverlap=self.psdfftsize/4.0,
window=winpoints,
scale_by_freq=False)
+
self.iq_psd = 10.0*scipy.log10(abs(fftpack.fftshift(iq_psd)))
self.freq = freq - self.sample_rate/2.0
+ def get_specgram(self):
+ winpoints = self.winfunc(self.specfftsize)
+ iq_spec, f, t = mlab.specgram(self.iq, Fs=self.sample_rate,
+ NFFT=self.specfftsize,
+ noverlap=self.specfftsize/4.0,
+ window=winpoints,
+ scale_by_freq=False)
+
+ self.iq_spec = 10.0*scipy.log10(abs(iq_spec))
+ self.spec_f = f
+ self.spec_t = t
def clickMe(self, qPoint):
print qPoint.x()
- def fftComboBoxEdit(self, fftSize):
+ def psdFFTComboBoxEdit(self, fftSize):
self.psdfftsize = fftSize.toInt()[0]
self.get_psd()
self.update_psd_curves()
+
+ def specFFTComboBoxEdit(self, fftSize):
+ self.specfftsize = fftSize.toInt()[0]
+ self.get_specgram()
+ self.update_specgram_curves()
def colorComboBoxEdit(self, colorSelection):
colorstr = str(colorSelection.toAscii())
@@ -241,8 +319,10 @@ class gr_plot_qt(QtGui.QMainWindow):
self.get_data(pos_start, pos_end)
self.get_psd()
+ self.get_specgram()
self.update_time_curves()
self.update_psd_curves()
+ self.update_specgram_curves()
def set_sample_rate(self, sr):
self.sample_rate = sr
@@ -255,6 +335,7 @@ class gr_plot_qt(QtGui.QMainWindow):
self.set_file_pos_box(self.cur_start, self.cur_stop)
self.get_data(self.cur_start, self.cur_stop)
self.get_psd()
+ self.get_specgram()
self.update_time_curves()
self.update_psd_curves()
@@ -286,6 +367,7 @@ class gr_plot_qt(QtGui.QMainWindow):
self.update_time_curves()
self.update_psd_curves()
+ self.update_specgram_curves()
# If there's a non-digit character, reset box
else:
@@ -304,6 +386,7 @@ class gr_plot_qt(QtGui.QMainWindow):
self.update_time_curves()
self.update_psd_curves()
+ self.update_specgram_curves()
# If there's a non-digit character, reset box
else:
self.set_file_pos_box(self.cur_start, self.cur_stop)
@@ -328,9 +411,11 @@ class gr_plot_qt(QtGui.QMainWindow):
self.get_data(self.cur_start, self.cur_stop)
self.get_psd()
+ self.get_specgram()
self.update_time_curves()
self.update_psd_curves()
+ self.update_specgram_curves()
# If there's a non-digit character, reset box
else:
self.set_file_pos_box(self.cur_start, self.cur_stop)
@@ -352,9 +437,11 @@ class gr_plot_qt(QtGui.QMainWindow):
self.get_data(self.cur_start, self.cur_stop)
self.get_psd()
+ self.get_specgram()
self.update_time_curves()
self.update_psd_curves()
+ self.update_specgram_curves()
# If there's a non-digit character, reset box
else:
self.set_file_pos_box(self.cur_start, self.cur_stop)
@@ -385,12 +472,22 @@ class gr_plot_qt(QtGui.QMainWindow):
self.gui.freqPlot.setAxisScale(self.gui.freqPlot.xBottom,
min(self.freq),
max(self.freq))
-
+
# Set the zoomer base to unzoom to the new axis
self.freqZoomer.setZoomBase()
self.gui.freqPlot.replot()
+ def update_specgram_curves(self):
+ # We don't have to reset the data for the speccurve here
+ # since this is taken care of in the SpectrogramData class
+ self.specdata.set_data(self.spec_f, self.spec_t, self.iq_spec)
+
+ # Set the zoomer base to unzoom to the new axis
+ self.specZoomer.setZoomBase()
+
+ self.gui.specPlot.replot()
+
def tabChanged(self, index):
self.gui.timePlot.replot()
self.gui.freqPlot.replot()
@@ -497,7 +594,7 @@ def setup_options():
help="Set the sampler rate of the data [default=%default]")
parser.add_option("", "--psd-size", type="int", default=2048,
help="Set the size of the PSD FFT [default=%default]")
- parser.add_option("", "--spec-size", type="int", default=256,
+ parser.add_option("", "--spec-size", type="int", default=2048,
help="Set the size of the spectrogram FFT [default=%default]")
return parser
diff --git a/gr-utils/src/python/pyqt_plot.py b/gr-utils/src/python/pyqt_plot.py
index 796b6a238..2724d8546 100644
--- a/gr-utils/src/python/pyqt_plot.py
+++ b/gr-utils/src/python/pyqt_plot.py
@@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'pyqt_plot.ui'
#
-# Created: Tue Aug 11 23:12:27 2009
-# by: PyQt4 UI code generator 4.4.4
+# Created: Tue Aug 25 15:28:55 2009
+# by: PyQt4 UI code generator 4.4.3
#
# WARNING! All changes made in this file will be lost!
@@ -38,22 +38,43 @@ class Ui_MainWindow(object):
self.fftPropBox = QtGui.QGroupBox(self.freqTab)
self.fftPropBox.setMinimumSize(QtCore.QSize(160, 0))
self.fftPropBox.setObjectName("fftPropBox")
- self.formLayoutWidget = QtGui.QWidget(self.fftPropBox)
- self.formLayoutWidget.setGeometry(QtCore.QRect(0, 20, 151, 191))
- self.formLayoutWidget.setObjectName("formLayoutWidget")
- self.formLayout = QtGui.QFormLayout(self.formLayoutWidget)
- self.formLayout.setObjectName("formLayout")
- self.fftSizeLabel = QtGui.QLabel(self.formLayoutWidget)
- self.fftSizeLabel.setObjectName("fftSizeLabel")
- self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.fftSizeLabel)
- self.fftComboBox = QtGui.QComboBox(self.formLayoutWidget)
- self.fftComboBox.setObjectName("fftComboBox")
- self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.fftComboBox)
+ self.formLayout_4 = QtGui.QFormLayout(self.fftPropBox)
+ self.formLayout_4.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
+ self.formLayout_4.setObjectName("formLayout_4")
+ 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")
self.horizontalLayout_2.addWidget(self.freqPlot)
self.tabGroup.addTab(self.freqTab, "")
+ self.specTab = QtGui.QWidget()
+ self.specTab.setObjectName("specTab")
+ self.horizontalLayout_3 = QtGui.QHBoxLayout(self.specTab)
+ self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+ self.groupBox = QtGui.QGroupBox(self.specTab)
+ self.groupBox.setObjectName("groupBox")
+ self.formLayout_3 = QtGui.QFormLayout(self.groupBox)
+ self.formLayout_3.setObjectName("formLayout_3")
+ self.specFFTLabel = QtGui.QLabel(self.groupBox)
+ self.specFFTLabel.setObjectName("specFFTLabel")
+ self.formLayout_3.setWidget(1, QtGui.QFormLayout.LabelRole, self.specFFTLabel)
+ self.specFFTComboBox = QtGui.QComboBox(self.groupBox)
+ self.specFFTComboBox.setMinimumSize(QtCore.QSize(96, 0))
+ self.specFFTComboBox.setMaximumSize(QtCore.QSize(96, 16777215))
+ self.specFFTComboBox.setObjectName("specFFTComboBox")
+ self.formLayout_3.setWidget(1, QtGui.QFormLayout.FieldRole, self.specFFTComboBox)
+ self.horizontalLayout_3.addWidget(self.groupBox)
+ self.specPlot = Qwt5.QwtPlot(self.specTab)
+ 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))
@@ -137,7 +158,7 @@ class Ui_MainWindow(object):
self.gridLayout.addWidget(self.filePosBox, 3, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
- self.menubar.setGeometry(QtCore.QRect(0, 0, 927, 25))
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 927, 24))
self.menubar.setObjectName("menubar")
self.menu_File = QtGui.QMenu(self.menubar)
self.menu_File.setObjectName("menu_File")
@@ -154,7 +175,7 @@ class Ui_MainWindow(object):
self.menubar.addAction(self.menu_File.menuAction())
self.retranslateUi(MainWindow)
- self.tabGroup.setCurrentIndex(0)
+ self.tabGroup.setCurrentIndex(2)
QtCore.QObject.connect(self.action_exit, QtCore.SIGNAL("activated()"), MainWindow.close)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
@@ -162,8 +183,11 @@ class Ui_MainWindow(object):
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.fftSizeLabel.setText(QtGui.QApplication.translate("MainWindow", "FFT Size", 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))
diff --git a/gr-utils/src/python/pyqt_plot.ui b/gr-utils/src/python/pyqt_plot.ui
index f298735c4..62125962b 100644
--- a/gr-utils/src/python/pyqt_plot.ui
+++ b/gr-utils/src/python/pyqt_plot.ui
@@ -1,8 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
+<ui version="4.0" >
<class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
- <property name="geometry">
+ <widget class="QMainWindow" name="MainWindow" >
+ <property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
@@ -10,93 +9,149 @@
<height>696</height>
</rect>
</property>
- <property name="windowTitle">
+ <property name="windowTitle" >
<string>MainWindow</string>
</property>
- <widget class="QWidget" name="centralwidget">
- <layout class="QGridLayout" name="gridLayout">
- <item row="2" column="0" colspan="2">
- <widget class="QScrollBar" name="plotHBar">
- <property name="orientation">
+ <widget class="QWidget" name="centralwidget" >
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="2" column="0" colspan="2" >
+ <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>
+ <item row="1" column="0" >
+ <widget class="QTabWidget" name="tabGroup" >
+ <property name="currentIndex" >
+ <number>2</number>
</property>
- <widget class="QWidget" name="timeTab">
- <attribute name="title">
+ <widget class="QWidget" name="timeTab" >
+ <attribute name="title" >
<string>Time Domain</string>
</attribute>
- <layout class="QHBoxLayout" name="horizontalLayout">
+ <layout class="QHBoxLayout" name="horizontalLayout" >
<item>
- <widget class="QwtPlot" name="timePlot"/>
+ <widget class="QwtPlot" name="timePlot" />
</item>
</layout>
</widget>
- <widget class="QWidget" name="freqTab">
- <attribute name="title">
+ <widget class="QWidget" name="freqTab" >
+ <attribute name="title" >
<string>Frequency Domain</string>
</attribute>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
<item>
- <widget class="QGroupBox" name="fftPropBox">
- <property name="minimumSize">
+ <widget class="QGroupBox" name="fftPropBox" >
+ <property name="minimumSize" >
<size>
<width>160</width>
<height>0</height>
</size>
</property>
- <property name="title">
+ <property name="title" >
<string>FFT Properties</string>
</property>
- <widget class="QWidget" name="formLayoutWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>20</y>
- <width>151</width>
- <height>191</height>
- </rect>
+ <layout class="QFormLayout" name="formLayout_4" >
+ <property name="fieldGrowthPolicy" >
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
- <layout class="QFormLayout" name="formLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="fftSizeLabel">
- <property name="text">
- <string>FFT Size</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="fftComboBox"/>
- </item>
- </layout>
- </widget>
+ <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>
+ <zorder>formLayoutWidget</zorder>
+ <zorder>psdFFTComboBox</zorder>
+ <zorder>psdFFTSizeLabel</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>
+ <zorder>specFFTLabel</zorder>
+ <zorder>specFFTComboBox</zorder>
+ <zorder>specFFTComboBox</zorder>
</widget>
</item>
<item>
- <widget class="QwtPlot" name="freqPlot"/>
+ <widget class="QwtPlot" name="specPlot" />
</item>
</layout>
+ <zorder>specPlot</zorder>
+ <zorder>groupBox</zorder>
</widget>
</widget>
</item>
- <item row="3" column="0">
- <widget class="QGroupBox" name="filePosBox">
- <property name="minimumSize">
+ <item row="3" column="0" >
+ <widget class="QGroupBox" name="filePosBox" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>120</height>
</size>
</property>
- <property name="title">
+ <property name="title" >
<string>File Position</string>
</property>
- <widget class="QWidget" name="formLayoutWidget_2">
- <property name="geometry">
+ <widget class="QWidget" name="formLayoutWidget_2" >
+ <property name="geometry" >
<rect>
<x>0</x>
<y>20</y>
@@ -104,41 +159,41 @@
<height>92</height>
</rect>
</property>
- <layout class="QFormLayout" name="filePosLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="filePosStartLabel">
- <property name="text">
+ <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 row="0" column="1" >
+ <widget class="QLineEdit" name="filePosStartLineEdit" />
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="filePosStopLabel">
- <property name="text">
+ <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 row="1" column="1" >
+ <widget class="QLineEdit" name="filePosStopLineEdit" />
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="filePosLengthLabel">
- <property name="text">
+ <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 row="2" column="1" >
+ <widget class="QLineEdit" name="filePosLengthLineEdit" />
</item>
</layout>
</widget>
- <widget class="QWidget" name="formLayoutWidget_4">
- <property name="geometry">
+ <widget class="QWidget" name="formLayoutWidget_4" >
+ <property name="geometry" >
<rect>
<x>180</x>
<y>20</y>
@@ -146,41 +201,41 @@
<height>92</height>
</rect>
</property>
- <layout class="QFormLayout" name="fileTimeLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="fileTimeStartLabel">
- <property name="text">
+ <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 row="0" column="1" >
+ <widget class="QLineEdit" name="fileTimeStartLineEdit" />
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="fileTimeStopLabel">
- <property name="text">
+ <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 row="1" column="1" >
+ <widget class="QLineEdit" name="fileTimeStopLineEdit" />
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="fileTimeLengthLabel">
- <property name="text">
+ <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 row="2" column="1" >
+ <widget class="QLineEdit" name="fileTimeLengthLineEdit" />
</item>
</layout>
</widget>
- <widget class="QGroupBox" name="sysGroupBox">
- <property name="geometry">
+ <widget class="QGroupBox" name="sysGroupBox" >
+ <property name="geometry" >
<rect>
<x>530</x>
<y>0</y>
@@ -188,17 +243,17 @@
<height>120</height>
</rect>
</property>
- <property name="minimumSize">
+ <property name="minimumSize" >
<size>
<width>200</width>
<height>0</height>
</size>
</property>
- <property name="title">
+ <property name="title" >
<string>System Properties</string>
</property>
- <widget class="QWidget" name="formLayoutWidget_3">
- <property name="geometry">
+ <widget class="QWidget" name="formLayoutWidget_3" >
+ <property name="geometry" >
<rect>
<x>0</x>
<y>20</y>
@@ -206,17 +261,17 @@
<height>91</height>
</rect>
</property>
- <layout class="QFormLayout" name="formLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="sampleRateLabel">
- <property name="text">
+ <layout class="QFormLayout" name="formLayout_2" >
+ <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">
+ <item row="0" column="1" >
+ <widget class="QLineEdit" name="sampleRateLineEdit" >
+ <property name="minimumSize" >
<size>
<width>0</width>
<height>0</height>
@@ -227,8 +282,8 @@
</layout>
</widget>
</widget>
- <widget class="QGroupBox" name="displayGroupBox">
- <property name="geometry">
+ <widget class="QGroupBox" name="displayGroupBox" >
+ <property name="geometry" >
<rect>
<x>730</x>
<y>0</y>
@@ -236,17 +291,17 @@
<height>120</height>
</rect>
</property>
- <property name="minimumSize">
+ <property name="minimumSize" >
<size>
<width>170</width>
<height>0</height>
</size>
</property>
- <property name="title">
+ <property name="title" >
<string>Display Properties</string>
</property>
- <widget class="QWidget" name="verticalLayoutWidget">
- <property name="geometry">
+ <widget class="QWidget" name="verticalLayoutWidget" >
+ <property name="geometry" >
<rect>
<x>0</x>
<y>20</y>
@@ -254,16 +309,16 @@
<height>91</height>
</rect>
</property>
- <layout class="QVBoxLayout" name="verticalLayout">
+ <layout class="QVBoxLayout" name="verticalLayout" >
<item>
- <widget class="QComboBox" name="colorComboBox"/>
+ <widget class="QComboBox" name="colorComboBox" />
</item>
<item>
- <spacer name="verticalSpacer">
- <property name="orientation">
+ <spacer name="verticalSpacer" >
+ <property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0">
+ <property name="sizeHint" stdset="0" >
<size>
<width>20</width>
<height>40</height>
@@ -278,35 +333,35 @@
</item>
</layout>
</widget>
- <widget class="QMenuBar" name="menubar">
- <property name="geometry">
+ <widget class="QMenuBar" name="menubar" >
+ <property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>927</width>
- <height>25</height>
+ <height>24</height>
</rect>
</property>
- <widget class="QMenu" name="menu_File">
- <property name="title">
+ <widget class="QMenu" name="menu_File" >
+ <property name="title" >
<string>&amp;File</string>
</property>
- <addaction name="action_open"/>
- <addaction name="action_exit"/>
+ <addaction name="action_open" />
+ <addaction name="action_exit" />
</widget>
- <addaction name="menu_File"/>
+ <addaction name="menu_File" />
</widget>
- <widget class="QStatusBar" name="statusbar"/>
- <action name="action_open">
- <property name="text">
+ <widget class="QStatusBar" name="statusbar" />
+ <action name="action_open" >
+ <property name="text" >
<string>&amp;Open</string>
</property>
- <property name="shortcut">
+ <property name="shortcut" >
<string>Ctrl+O</string>
</property>
</action>
- <action name="action_exit">
- <property name="text">
+ <action name="action_exit" >
+ <property name="text" >
<string>E&amp;xit</string>
</property>
</action>
@@ -326,11 +381,11 @@
<receiver>MainWindow</receiver>
<slot>close()</slot>
<hints>
- <hint type="sourcelabel">
+ <hint type="sourcelabel" >
<x>-1</x>
<y>-1</y>
</hint>
- <hint type="destinationlabel">
+ <hint type="destinationlabel" >
<x>399</x>
<y>347</y>
</hint>