Added QSY function to waterfall controls for centering a signal in the bandpass

This commit is contained in:
Jordan Sherer 2018-09-09 17:18:07 -04:00
parent 5a18b3f9fb
commit 4b28f9eca5
7 changed files with 313 additions and 277 deletions

View File

@ -868,6 +868,8 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
connect(m_wideGraph.data (), SIGNAL(setFreq3(int,int)),this, connect(m_wideGraph.data (), SIGNAL(setFreq3(int,int)),this,
SLOT(setFreq4(int,int))); SLOT(setFreq4(int,int)));
connect(m_wideGraph.data(), &WideGraph::qsy, this, &MainWindow::qsy);
decodeBusy(false); decodeBusy(false);
QString t1[28]={"1 uW","2 uW","5 uW","10 uW","20 uW","50 uW","100 uW","200 uW","500 uW", QString t1[28]={"1 uW","2 uW","5 uW","10 uW","20 uW","50 uW","100 uW","200 uW","500 uW",
"1 mW","2 mW","5 mW","10 mW","20 mW","50 mW","100 mW","200 mW","500 mW", "1 mW","2 mW","5 mW","10 mW","20 mW","50 mW","100 mW","200 mW","500 mW",
@ -8170,6 +8172,11 @@ void MainWindow::setXIT(int n, Frequency base)
Q_EMIT transmitFrequency (ui->TxFreqSpinBox->value () - m_XIT); Q_EMIT transmitFrequency (ui->TxFreqSpinBox->value () - m_XIT);
} }
void MainWindow::qsy(int hzDelta){
setRig(m_freqNominal + hzDelta);
setFreqOffsetForRestore(1500, false);
}
void MainWindow::setFreqOffsetForRestore(int freq, bool shouldRestore){ void MainWindow::setFreqOffsetForRestore(int freq, bool shouldRestore){
setFreq4(freq, freq); setFreq4(freq, freq);
if(shouldRestore){ if(shouldRestore){

View File

@ -125,6 +125,7 @@ public slots:
void readFromStdout(); void readFromStdout();
void p1ReadFromStdout(); void p1ReadFromStdout();
void setXIT(int n, Frequency base = 0u); void setXIT(int n, Frequency base = 0u);
void qsy(int hzDelta);
void setFreqOffsetForRestore(int freq, bool shouldRestore); void setFreqOffsetForRestore(int freq, bool shouldRestore);
bool tryRestoreFreqOffset(); bool tryRestoreFreqOffset();
void setFreq4(int rxFreq, int txFreq); void setFreq4(int rxFreq, int txFreq);

View File

@ -41,7 +41,8 @@ CPlotter::CPlotter(QWidget *parent) : //CPlotter Constructor
m_rxFreq {1020}, m_rxFreq {1020},
m_txFreq {0}, m_txFreq {0},
m_startFreq {0}, m_startFreq {0},
m_lastMouseX {-1} m_lastMouseX {-1},
m_menuOpen {false}
{ {
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
setFocusPolicy(Qt::StrongFocus); setFocusPolicy(Qt::StrongFocus);
@ -52,21 +53,6 @@ CPlotter::CPlotter(QWidget *parent) : //CPlotter Constructor
m_bReplot=false; m_bReplot=false;
setMouseTracking(true); setMouseTracking(true);
#if 0
// contextual pop up menu
setContextMenuPolicy (Qt::CustomContextMenu);
connect (this, &QWidget::customContextMenuRequested, [this] (QPoint const& pos) {
QMenu menu {this};
menu.addAction (m_set_freq_action);
auto const& connection = connect (m_set_freq_action, &QAction::triggered, [this, pos] () {
int newFreq = FreqfromX (pos.x ()) + .5;
emit setFreq1 (newFreq, newFreq);
});
menu.exec (mapToGlobal (pos));
disconnect (connection);
});
#endif
} }
CPlotter::~CPlotter() { } // Destructor CPlotter::~CPlotter() { } // Destructor

View File

@ -90,6 +90,7 @@ public:
signals: signals:
void freezeDecode1(int n); void freezeDecode1(int n);
void setFreq1(int rxFreq, int txFreq); void setFreq1(int rxFreq, int txFreq);
void qsy(int hzDelta);
protected: protected:
//re-implemented widget event handlers //re-implemented widget event handlers
@ -179,6 +180,7 @@ private:
qint32 m_tol; qint32 m_tol;
qint32 m_j; qint32 m_j;
qint32 m_lastMouseX; qint32 m_lastMouseX;
bool m_menuOpen;
char m_sutc[6]; char m_sutc[6];
}; };

View File

@ -42,7 +42,12 @@ WideGraph::WideGraph(QSettings * settings, QWidget *parent) :
connect(ui->widePlot, SIGNAL(setFreq1(int,int)),this, connect(ui->widePlot, SIGNAL(setFreq1(int,int)),this,
SLOT(setFreq2(int,int))); SLOT(setFreq2(int,int)));
connect(ui->widePlot, &CPlotter::qsy, this, [this](int hzDelta){
emit qsy(hzDelta);
});
{ {
//Restore user's settings //Restore user's settings
SettingsGroup g {m_settings, "WideGraph"}; SettingsGroup g {m_settings, "WideGraph"};
restoreGeometry (m_settings->value ("geometry", saveGeometry ()).toByteArray ()); restoreGeometry (m_settings->value ("geometry", saveGeometry ()).toByteArray ());
@ -81,6 +86,7 @@ WideGraph::WideGraph(QSettings * settings, QWidget *parent) :
ui->sbPercent2dPlot->setValue(m_Percent2DScreen); ui->sbPercent2dPlot->setValue(m_Percent2DScreen);
ui->widePlot->SetPercent2DScreen(m_Percent2DScreen); ui->widePlot->SetPercent2DScreen(m_Percent2DScreen);
ui->widePlot->setStartFreq(m_settings->value("StartFreq", 500).toInt()); ui->widePlot->setStartFreq(m_settings->value("StartFreq", 500).toInt());
ui->centerSpinBox->setValue(m_settings->value("CenterOffset", 1500).toInt());
ui->fStartSpinBox->setValue(ui->widePlot->startFreq()); ui->fStartSpinBox->setValue(ui->widePlot->startFreq());
m_waterfallPalette=m_settings->value("WaterfallPalette","Default").toString(); m_waterfallPalette=m_settings->value("WaterfallPalette","Default").toString();
m_userPalette = WFPalette {m_settings->value("UserPalette").value<WFPalette::Colours> ()}; m_userPalette = WFPalette {m_settings->value("UserPalette").value<WFPalette::Colours> ()};
@ -141,6 +147,7 @@ void WideGraph::saveSettings() //saveS
m_settings->setValue("UseRef",m_bRef); m_settings->setValue("UseRef",m_bRef);
m_settings->setValue ("HideControls", ui->controls_widget->isHidden ()); m_settings->setValue ("HideControls", ui->controls_widget->isHidden ());
m_settings->setValue ("FminPerBand", m_fMinPerBand); m_settings->setValue ("FminPerBand", m_fMinPerBand);
m_settings->setValue ("CenterOffset", ui->centerSpinBox->value());
} }
void WideGraph::drawRed(int ia, int ib) void WideGraph::drawRed(int ia, int ib)
@ -207,6 +214,11 @@ void WideGraph::on_bppSpinBox_valueChanged(int n) //b
ui->widePlot->setBinsPerPixel(n); ui->widePlot->setBinsPerPixel(n);
} }
void WideGraph::on_qsyPushButton_clicked(){
int hzDelta = rxFreq() - ui->centerSpinBox->value();
emit qsy(hzDelta);
}
void WideGraph::on_offsetSpinBox_valueChanged(int n){ void WideGraph::on_offsetSpinBox_valueChanged(int n){
if(n == rxFreq()){ if(n == rxFreq()){
return; return;

View File

@ -55,6 +55,7 @@ signals:
void f11f12(int n); void f11f12(int n);
void setXIT2(int n); void setXIT2(int n);
void setFreq3(int rxFreq, int txFreq); void setFreq3(int rxFreq, int txFreq);
void qsy(int hzDelta);
public slots: public slots:
void wideFreezeDecode(int n); void wideFreezeDecode(int n);
@ -68,6 +69,7 @@ protected:
void closeEvent (QCloseEvent *) override; void closeEvent (QCloseEvent *) override;
private slots: private slots:
void on_qsyPushButton_clicked();
void on_offsetSpinBox_valueChanged(int n); void on_offsetSpinBox_valueChanged(int n);
void on_waterfallAvgSpinBox_valueChanged(int arg1); void on_waterfallAvgSpinBox_valueChanged(int arg1);
void on_bppSpinBox_valueChanged(int arg1); void on_bppSpinBox_valueChanged(int arg1);

View File

@ -56,9 +56,6 @@
<number>1</number> <number>1</number>
</property> </property>
<widget class="QCheckBox" name="cbControls"> <widget class="QCheckBox" name="cbControls">
<property name="visible">
<bool>false</bool>
</property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>5</x> <x>5</x>
@ -67,6 +64,9 @@
<height>17</height> <height>17</height>
</rect> </rect>
</property> </property>
<property name="visible">
<bool>false</bool>
</property>
<property name="text"> <property name="text">
<string>Controls</string> <string>Controls</string>
</property> </property>
@ -103,127 +103,7 @@
<property name="verticalSpacing"> <property name="verticalSpacing">
<number>0</number> <number>0</number>
</property> </property>
<item row="1" column="7"> <item row="0" column="12">
<widget class="QComboBox" name="spec2dComboBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select data for spectral display&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<item>
<property name="text">
<string>Current</string>
</property>
</item>
<item>
<property name="text">
<string>Cumulative</string>
</property>
</item>
<item>
<property name="text">
<string>Linear Avg</string>
</property>
</item>
<item>
<property name="text">
<string>Reference</string>
</property>
</item>
</widget>
</item>
<item row="1" column="3">
<widget class="QSpinBox" name="waterfallAvgSpinBox">
<property name="toolTip">
<string>Number of FFTs averaged (controls waterfall scrolling rate)</string>
</property>
<property name="prefix">
<string>N Avg </string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>50</number>
</property>
</widget>
</item>
<item row="0" column="6" rowspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="0" column="4" rowspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QSpinBox" name="fStartSpinBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Frequency at left edge of waterfall&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="suffix">
<string> Hz</string>
</property>
<property name="prefix">
<string>Start </string>
</property>
<property name="maximum">
<number>5000</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
<property name="value">
<number>500</number>
</property>
</widget>
</item>
<item row="1" column="12">
<widget class="QSpinBox" name="smoSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Smoothing of Linear Average spectrum</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="suffix">
<string/>
</property>
<property name="prefix">
<string>Smooth </string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>7</number>
</property>
</widget>
</item>
<item row="0" column="13" rowspan="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="11">
<widget class="QSlider" name="zeroSlider"> <widget class="QSlider" name="zeroSlider">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@ -260,14 +140,62 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="5"> <item row="0" column="13">
<widget class="QComboBox" name="paletteComboBox"> <widget class="QSpinBox" name="sbPercent2dPlot">
<property name="toolTip"> <property name="toolTip">
<string>Select waterfall palette</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Set fractional size of spectrum in this window.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="suffix">
<string> %</string>
</property>
<property name="prefix">
<string>Spec </string>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="singleStep">
<number>5</number>
</property>
<property name="value">
<number>0</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="7"> <item row="1" column="8">
<widget class="QComboBox" name="spec2dComboBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Select data for spectral display&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<item>
<property name="text">
<string>Current</string>
</property>
</item>
<item>
<property name="text">
<string>Cumulative</string>
</property>
</item>
<item>
<property name="text">
<string>Linear Avg</string>
</property>
</item>
<item>
<property name="text">
<string>Reference</string>
</property>
</item>
</widget>
</item>
<item row="0" column="8">
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QCheckBox" name="cbFlatten"> <widget class="QCheckBox" name="cbFlatten">
@ -291,81 +219,32 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="1" column="9"> <item row="0" column="2">
<widget class="QSlider" name="gain2dSlider"> <widget class="QSpinBox" name="bppSpinBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Spectrum gain</string> <string>Compression factor for frequency scale</string>
</property>
<property name="suffix">
<string/>
</property>
<property name="prefix">
<string>Bins/Pixel </string>
</property> </property>
<property name="minimum"> <property name="minimum">
<number>-50</number> <number>1</number>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>50</number> <number>1000</number>
</property> </property>
<property name="orientation"> <property name="singleStep">
<enum>Qt::Horizontal</enum> <number>1</number>
</property> </property>
<property name="tickPosition"> <property name="value">
<enum>QSlider::TicksAbove</enum> <number>5</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="9"> <item row="1" column="12">
<widget class="QSlider" name="gainSlider">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Waterfall gain</string>
</property>
<property name="minimum">
<number>-50</number>
</property>
<property name="maximum">
<number>50</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksAbove</enum>
</property>
</widget>
</item>
<item row="1" column="11">
<widget class="QSlider" name="zero2dSlider"> <widget class="QSlider" name="zero2dSlider">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@ -402,8 +281,111 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0" rowspan="2"> <item row="0" column="4">
<spacer name="horizontalSpacer"> <widget class="QSpinBox" name="fStartSpinBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Frequency at left edge of waterfall&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="suffix">
<string> Hz</string>
</property>
<property name="prefix">
<string>Start </string>
</property>
<property name="maximum">
<number>5000</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
<property name="value">
<number>500</number>
</property>
</widget>
</item>
<item row="1" column="6">
<widget class="QComboBox" name="paletteComboBox">
<property name="toolTip">
<string>Select waterfall palette</string>
</property>
</widget>
</item>
<item row="0" column="10">
<widget class="QSlider" name="gainSlider">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Waterfall gain</string>
</property>
<property name="minimum">
<number>-50</number>
</property>
<property name="maximum">
<number>50</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksAbove</enum>
</property>
</widget>
</item>
<item row="1" column="10">
<widget class="QSlider" name="gain2dSlider">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Spectrum gain</string>
</property>
<property name="minimum">
<number>-50</number>
</property>
<property name="maximum">
<number>50</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="tickPosition">
<enum>QSlider::TicksAbove</enum>
</property>
</widget>
</item>
<item row="0" column="14" rowspan="2">
<spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@ -415,56 +397,81 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="12"> <item row="1" column="4">
<widget class="QSpinBox" name="sbPercent2dPlot"> <widget class="QSpinBox" name="waterfallAvgSpinBox">
<property name="toolTip"> <property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Set fractional size of spectrum in this window.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>Number of FFTs averaged (controls waterfall scrolling rate)</string>
</property>
<property name="prefix">
<string>N Avg </string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>50</number>
</property>
</widget>
</item>
<item row="1" column="13">
<widget class="QSpinBox" name="smoSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Smoothing of Linear Average spectrum</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
<property name="suffix"> <property name="suffix">
<string> %</string> <string/>
</property> </property>
<property name="prefix"> <property name="prefix">
<string>Spec </string> <string>Smooth </string>
</property>
<property name="minimum">
<number>1</number>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>100</number> <number>7</number>
</property>
<property name="singleStep">
<number>5</number>
</property>
<property name="value">
<number>0</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="5">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="labPalette">
<property name="text">
<string> Palette </string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="adjust_palette_push_button">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enter definition for a new color palette.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Adjust...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="2"> <item row="1" column="2">
<widget class="QSpinBox" name="offsetSpinBox">
<property name="suffix">
<string> Hz</string>
</property>
<property name="prefix">
<string>Offset </string>
</property>
<property name="maximum">
<number>5000</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>1500</number>
</property>
</widget>
</item>
<item row="0" column="7" rowspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="0" column="5" rowspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QSpinBox" name="fSplitSpinBox"> <widget class="QSpinBox" name="fSplitSpinBox">
<property name="visible"> <property name="visible">
<bool>false</bool> <bool>false</bool>
@ -492,50 +499,69 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0" rowspan="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="6">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="labPalette">
<property name="text">
<string> Palette </string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="adjust_palette_push_button">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enter definition for a new color palette.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Adjust...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="qsyPushButton">
<property name="text">
<string>QSY</string>
</property>
</widget>
</item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QSpinBox" name="offsetSpinBox"> <widget class="QSpinBox" name="centerSpinBox">
<property name="suffix"> <property name="suffix">
<string> Hz</string> <string> Hz</string>
</property> </property>
<property name="prefix"> <property name="prefix">
<string>Offset </string> <string>Center </string>
</property>
<property name="minimum">
<number>500</number>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>5000</number> <number>5000</number>
</property> </property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value"> <property name="value">
<number>1500</number> <number>1500</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1">
<widget class="QSpinBox" name="bppSpinBox">
<property name="toolTip">
<string>Compression factor for frequency scale</string>
</property>
<property name="suffix">
<string/>
</property>
<property name="prefix">
<string>Bins/Pixel </string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>1000</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>