mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-15 21:01:45 -05:00
Spectrum markers: add dialog for waterfall markers
This commit is contained in:
parent
133f6caa60
commit
111c8d4a99
@ -443,6 +443,11 @@ float GLSpectrum::getPowerMax() const
|
|||||||
return m_linear ? m_powerScale.getRangeMax() : CalcDb::powerFromdB(m_powerScale.getRangeMax());
|
return m_linear ? m_powerScale.getRangeMax() : CalcDb::powerFromdB(m_powerScale.getRangeMax());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float GLSpectrum::getTimeMax() const
|
||||||
|
{
|
||||||
|
return m_timeScale.getRangeMax();
|
||||||
|
}
|
||||||
|
|
||||||
void GLSpectrum::newSpectrum(const Real *spectrum, int nbBins, int fftSize)
|
void GLSpectrum::newSpectrum(const Real *spectrum, int nbBins, int fftSize)
|
||||||
{
|
{
|
||||||
QMutexLocker mutexLocker(&m_mutex);
|
QMutexLocker mutexLocker(&m_mutex);
|
||||||
|
@ -115,6 +115,7 @@ public:
|
|||||||
void setCenterFrequency(qint64 frequency);
|
void setCenterFrequency(qint64 frequency);
|
||||||
qint64 getCenterFrequency() const { return m_centerFrequency; }
|
qint64 getCenterFrequency() const { return m_centerFrequency; }
|
||||||
float getPowerMax() const;
|
float getPowerMax() const;
|
||||||
|
float getTimeMax() const;
|
||||||
void setSampleRate(qint32 sampleRate);
|
void setSampleRate(qint32 sampleRate);
|
||||||
void setTimingRate(qint32 timingRate);
|
void setTimingRate(qint32 timingRate);
|
||||||
void setFFTOverlap(int overlap);
|
void setFFTOverlap(int overlap);
|
||||||
|
@ -348,6 +348,7 @@ void GLSpectrumGUI::on_markers_clicked(bool checked)
|
|||||||
|
|
||||||
markersDialog.setCenterFrequency(m_glSpectrum->getCenterFrequency());
|
markersDialog.setCenterFrequency(m_glSpectrum->getCenterFrequency());
|
||||||
markersDialog.setPower(m_glSpectrum->getPowerMax() / 2.0f);
|
markersDialog.setPower(m_glSpectrum->getPowerMax() / 2.0f);
|
||||||
|
markersDialog.setTime(m_glSpectrum->getTimeMax() / 2.0f);
|
||||||
|
|
||||||
connect(&markersDialog, SIGNAL(updateHistogram()), this, SLOT(updateHistogramMarkers()));
|
connect(&markersDialog, SIGNAL(updateHistogram()), this, SLOT(updateHistogramMarkers()));
|
||||||
connect(&markersDialog, SIGNAL(updateWaterfall()), this, SLOT(updateWaterfallMarkers()));
|
connect(&markersDialog, SIGNAL(updateWaterfall()), this, SLOT(updateWaterfallMarkers()));
|
||||||
|
@ -33,6 +33,7 @@ SpectrumMarkersDialog::SpectrumMarkersDialog(
|
|||||||
m_histogramMarkers(histogramMarkers),
|
m_histogramMarkers(histogramMarkers),
|
||||||
m_waterfallMarkers(waterfallMarkers),
|
m_waterfallMarkers(waterfallMarkers),
|
||||||
m_histogramMarkerIndex(0),
|
m_histogramMarkerIndex(0),
|
||||||
|
m_waterfallMarkerIndex(0),
|
||||||
m_centerFrequency(0),
|
m_centerFrequency(0),
|
||||||
m_power(0.5f)
|
m_power(0.5f)
|
||||||
{
|
{
|
||||||
@ -40,7 +41,11 @@ SpectrumMarkersDialog::SpectrumMarkersDialog(
|
|||||||
ui->markerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
ui->markerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||||
ui->markerFrequency->setValueRange(false, 10, -9999999999L, 9999999999L);
|
ui->markerFrequency->setValueRange(false, 10, -9999999999L, 9999999999L);
|
||||||
ui->marker->setMaximum(m_histogramMarkers.size() - 1);
|
ui->marker->setMaximum(m_histogramMarkers.size() - 1);
|
||||||
|
ui->wMarkerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||||
|
ui->wMarkerFrequency->setValueRange(false, 10, -9999999999L, 9999999999L);
|
||||||
|
ui->wMarker->setMaximum(m_waterfallMarkers.size() - 1);
|
||||||
displayHistogramMarker();
|
displayHistogramMarker();
|
||||||
|
displayWaterfallMarker();
|
||||||
}
|
}
|
||||||
|
|
||||||
SpectrumMarkersDialog::~SpectrumMarkersDialog()
|
SpectrumMarkersDialog::~SpectrumMarkersDialog()
|
||||||
@ -76,6 +81,59 @@ void SpectrumMarkersDialog::displayHistogramMarker()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::displayWaterfallMarker()
|
||||||
|
{
|
||||||
|
if (m_waterfallMarkers.size() == 0)
|
||||||
|
{
|
||||||
|
ui->wMarker->setEnabled(false);
|
||||||
|
ui->wMarkerFrequency->setEnabled(false);
|
||||||
|
ui->timeCoarse->setEnabled(false);
|
||||||
|
ui->timeFine->setEnabled(false);
|
||||||
|
ui->timeExp->setEnabled(false);
|
||||||
|
ui->wMarkerText->setText("-");
|
||||||
|
ui->timeCoarse->setValue(0);
|
||||||
|
ui->timeFine->setValue(0);
|
||||||
|
ui->timeText->setText("0.000");
|
||||||
|
ui->timeExp->setValue(0);
|
||||||
|
ui->timeExpText->setText("e+0");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->wMarker->setEnabled(true);
|
||||||
|
ui->wMarkerFrequency->setEnabled(true);
|
||||||
|
ui->timeCoarse->setEnabled(true);
|
||||||
|
ui->timeFine->setEnabled(true);
|
||||||
|
ui->timeExp->setEnabled(true);
|
||||||
|
ui->wMarkerText->setText(tr("%1").arg(m_waterfallMarkerIndex));
|
||||||
|
ui->wMarkerFrequency->setValue(m_waterfallMarkers[m_waterfallMarkerIndex].m_frequency);
|
||||||
|
int r,g,b,a;
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_markerColor.getRgb(&r, &g, &b, &a);
|
||||||
|
ui->wMarkerColor->setStyleSheet(tr("QLabel { background-color : rgb(%1,%2,%3); }").arg(r).arg(g).arg(b));
|
||||||
|
displayTime(m_waterfallMarkers[m_waterfallMarkerIndex].m_time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::displayTime(float time)
|
||||||
|
{
|
||||||
|
int timeExp;
|
||||||
|
double timeMant = CalcDb::frexp10(time, &timeExp) * 10.0;
|
||||||
|
int timeCoarse = (int) timeMant;
|
||||||
|
int timeFine = round((timeMant - timeCoarse) * 1000.0);
|
||||||
|
timeExp -= timeMant == 0 ? 0 : 1;
|
||||||
|
qDebug("SpectrumMarkersDialog::displayTime: time: %e fine: %d coarse: %d exp: %d",
|
||||||
|
time, timeFine, timeCoarse, timeExp);
|
||||||
|
ui->timeFine->setValue(timeFine);
|
||||||
|
ui->timeCoarse->setValue(timeCoarse);
|
||||||
|
ui->timeExp->setValue(timeExp);
|
||||||
|
ui->timeText->setText(tr("%1").arg(timeMant, 0, 'f', 3));
|
||||||
|
ui->timeExpText->setText(tr("e%1%2").arg(timeExp < 0 ? "" : "+").arg(timeExp));
|
||||||
|
}
|
||||||
|
|
||||||
|
float SpectrumMarkersDialog::getTime() const
|
||||||
|
{
|
||||||
|
return ((ui->timeFine->value() / 1000.0) + ui->timeCoarse->value()) * pow(10.0, ui->timeExp->value());
|
||||||
|
}
|
||||||
|
|
||||||
void SpectrumMarkersDialog::on_markerFrequency_changed(qint64 value)
|
void SpectrumMarkersDialog::on_markerFrequency_changed(qint64 value)
|
||||||
{
|
{
|
||||||
if (m_histogramMarkers.size() == 0) {
|
if (m_histogramMarkers.size() == 0) {
|
||||||
@ -191,3 +249,136 @@ void SpectrumMarkersDialog::on_powerMode_currentIndexChanged(int index)
|
|||||||
|
|
||||||
m_histogramMarkers[m_histogramMarkerIndex].m_markerType = (SpectrumHistogramMarkerType) index;
|
m_histogramMarkers[m_histogramMarkerIndex].m_markerType = (SpectrumHistogramMarkerType) index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_wMarkerFrequency_changed(qint64 value)
|
||||||
|
{
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_frequency = value;
|
||||||
|
emit updateWaterfall();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_timeCoarse_valueChanged(int value)
|
||||||
|
{
|
||||||
|
double timeMant = value + (ui->timeFine->value() / 1000.0);
|
||||||
|
ui->timeText->setText(tr("%1").arg(timeMant, 0, 'f', 3));
|
||||||
|
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_time = getTime();
|
||||||
|
emit updateWaterfall();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_timeFine_valueChanged(int value)
|
||||||
|
{
|
||||||
|
double timeMant = ui->timeCoarse->value() + (value / 1000.0);
|
||||||
|
ui->timeText->setText(tr("%1").arg(timeMant, 0, 'f', 3));
|
||||||
|
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_time = getTime();
|
||||||
|
emit updateWaterfall();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_timeExp_valueChanged(int value)
|
||||||
|
{
|
||||||
|
ui->timeExpText->setText(tr("e%1%2").arg(value < 0 ? "" : "+").arg(value));
|
||||||
|
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_time = getTime();
|
||||||
|
emit updateWaterfall();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_wCenterFrequency_clicked()
|
||||||
|
{
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_frequency = m_centerFrequency;
|
||||||
|
displayWaterfallMarker();
|
||||||
|
emit updateWaterfall();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_wMarkerColor_clicked()
|
||||||
|
{
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor newColor = QColorDialog::getColor(
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_markerColor,
|
||||||
|
this,
|
||||||
|
tr("Select Color for marker"),
|
||||||
|
QColorDialog::DontUseNativeDialog
|
||||||
|
);
|
||||||
|
|
||||||
|
if (newColor.isValid()) // user clicked OK and selected a color
|
||||||
|
{
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_markerColor = newColor;
|
||||||
|
displayWaterfallMarker();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_wMarker_valueChanged(int value)
|
||||||
|
{
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkerIndex = value;
|
||||||
|
displayWaterfallMarker();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_wSetReference_clicked()
|
||||||
|
{
|
||||||
|
if ((m_waterfallMarkerIndex == 0) || (m_waterfallMarkers.size() < 2)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SpectrumWaterfallMarker marker0 = m_waterfallMarkers.at(0);
|
||||||
|
QColor color0 = marker0.m_markerColor; // do not exchange colors
|
||||||
|
QColor colorI = m_waterfallMarkers[m_waterfallMarkerIndex].m_markerColor;
|
||||||
|
m_waterfallMarkers[0] = m_waterfallMarkers[m_waterfallMarkerIndex];
|
||||||
|
m_waterfallMarkers[0].m_markerColor = color0;
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex] = marker0;
|
||||||
|
m_waterfallMarkers[m_waterfallMarkerIndex].m_markerColor = colorI;
|
||||||
|
displayWaterfallMarker();
|
||||||
|
emit updateWaterfall();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_wMarkerAdd_clicked()
|
||||||
|
{
|
||||||
|
if (m_waterfallMarkers.size() == SpectrumWaterfallMarker::m_maxNbOfMarkers) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkers.append(SpectrumWaterfallMarker());
|
||||||
|
m_waterfallMarkers.back().m_frequency = m_centerFrequency;
|
||||||
|
m_waterfallMarkers.back().m_time = m_time;
|
||||||
|
m_waterfallMarkerIndex = m_waterfallMarkers.size() - 1;
|
||||||
|
ui->wMarker->setMaximum(m_waterfallMarkers.size() - 1);
|
||||||
|
displayWaterfallMarker();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpectrumMarkersDialog::on_wMarkerDel_clicked()
|
||||||
|
{
|
||||||
|
if (m_waterfallMarkers.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_waterfallMarkers.removeAt(m_waterfallMarkerIndex);
|
||||||
|
m_waterfallMarkerIndex = m_waterfallMarkerIndex < m_waterfallMarkers.size() ?
|
||||||
|
m_waterfallMarkerIndex : m_waterfallMarkerIndex - 1;
|
||||||
|
ui->wMarker->setMaximum(m_waterfallMarkers.size() - 1);
|
||||||
|
displayWaterfallMarker();
|
||||||
|
}
|
||||||
|
@ -41,16 +41,22 @@ public:
|
|||||||
~SpectrumMarkersDialog();
|
~SpectrumMarkersDialog();
|
||||||
void setCenterFrequency(qint64 centerFrequency) { m_centerFrequency = centerFrequency; }
|
void setCenterFrequency(qint64 centerFrequency) { m_centerFrequency = centerFrequency; }
|
||||||
void setPower(float power) { m_power = power; }
|
void setPower(float power) { m_power = power; }
|
||||||
|
void setTime(float time) { m_time = time; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::SpectrumMarkersDialog* ui;
|
Ui::SpectrumMarkersDialog* ui;
|
||||||
QList<SpectrumHistogramMarker>& m_histogramMarkers;
|
QList<SpectrumHistogramMarker>& m_histogramMarkers;
|
||||||
QList<SpectrumWaterfallMarker>& m_waterfallMarkers;
|
QList<SpectrumWaterfallMarker>& m_waterfallMarkers;
|
||||||
int m_histogramMarkerIndex;
|
int m_histogramMarkerIndex;
|
||||||
|
int m_waterfallMarkerIndex;
|
||||||
qint64 m_centerFrequency;
|
qint64 m_centerFrequency;
|
||||||
float m_power;
|
float m_power;
|
||||||
|
float m_time;
|
||||||
|
|
||||||
void displayHistogramMarker();
|
void displayHistogramMarker();
|
||||||
|
void displayWaterfallMarker();
|
||||||
|
void displayTime(float time);
|
||||||
|
float getTime() const;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_markerFrequency_changed(qint64 value);
|
void on_markerFrequency_changed(qint64 value);
|
||||||
@ -62,6 +68,16 @@ private slots:
|
|||||||
void on_markerAdd_clicked();
|
void on_markerAdd_clicked();
|
||||||
void on_markerDel_clicked();
|
void on_markerDel_clicked();
|
||||||
void on_powerMode_currentIndexChanged(int index);
|
void on_powerMode_currentIndexChanged(int index);
|
||||||
|
void on_wMarkerFrequency_changed(qint64 value);
|
||||||
|
void on_timeCoarse_valueChanged(int value);
|
||||||
|
void on_timeFine_valueChanged(int value);
|
||||||
|
void on_timeExp_valueChanged(int value);
|
||||||
|
void on_wCenterFrequency_clicked();
|
||||||
|
void on_wMarkerColor_clicked();
|
||||||
|
void on_wMarker_valueChanged(int value);
|
||||||
|
void on_wSetReference_clicked();
|
||||||
|
void on_wMarkerAdd_clicked();
|
||||||
|
void on_wMarkerDel_clicked();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void updateHistogram();
|
void updateHistogram();
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>364</width>
|
<width>390</width>
|
||||||
<height>125</height>
|
<height>201</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
@ -21,7 +21,24 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="MarkerLayout">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="hisTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Hist</string>
|
||||||
|
</attribute>
|
||||||
|
<widget class="QWidget" name="">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>361</width>
|
||||||
|
<height>74</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="HMarkerLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="HMarkerPosLayout">
|
<layout class="QHBoxLayout" name="HMarkerPosLayout">
|
||||||
<item>
|
<item>
|
||||||
@ -58,7 +75,7 @@
|
|||||||
<enum>Qt::StrongFocus</enum>
|
<enum>Qt::StrongFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Transverter delta frequency (Hz)</string>
|
<string>Marker frequency (Hz)</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -266,7 +283,7 @@
|
|||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Add a new Y trace</string>
|
<string>Add a new marker</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>+</string>
|
<string>+</string>
|
||||||
@ -325,7 +342,7 @@
|
|||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Remove current Y trace</string>
|
<string>Remove current marker</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>-</string>
|
<string>-</string>
|
||||||
@ -371,13 +388,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QDial" name="fixedPower">
|
<widget class="QSlider" name="fixedPower">
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>24</width>
|
|
||||||
<height>24</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Fixed power (dB)</string>
|
<string>Fixed power (dB)</string>
|
||||||
</property>
|
</property>
|
||||||
@ -390,6 +401,9 @@
|
|||||||
<property name="pageStep">
|
<property name="pageStep">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -424,6 +438,509 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="watTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Wat</string>
|
||||||
|
</attribute>
|
||||||
|
<widget class="QWidget" name="layoutWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>10</y>
|
||||||
|
<width>361</width>
|
||||||
|
<height>93</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="WMarkerLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="WMarkerPosLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="wMarkerFrequencyLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>F</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="ValueDialZ" name="wMarkerFrequency" native="true">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>DejaVu Sans Mono</family>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>PointingHandCursor</cursorShape>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::StrongFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Marker frequency (Hz)</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="wMarkerFrequencyUnits">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>PointingHandCursor</cursorShape>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::StrongFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Marker frequency (Hz)</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Hz</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_3">
|
||||||
|
<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>
|
||||||
|
<widget class="QPushButton" name="wCenterFrequency">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Set marker as reference (index 0)</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>C</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="ClickableLabel" name="wMarkerColor">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Current marker color (click to change)</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="WMarkerOptionsLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="wMarkerLabel">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Mk</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="wMarkerText">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>15</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDial" name="wMarker">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Marker index (0 is reference)</string>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="wSetReference">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Set marker as reference (index 0)</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="wMarkerAddRemoveLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="wMarkerAdd">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>18</width>
|
||||||
|
<height>18</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="palette">
|
||||||
|
<palette>
|
||||||
|
<active>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>255</red>
|
||||||
|
<green>255</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</active>
|
||||||
|
<inactive>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>255</red>
|
||||||
|
<green>255</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</inactive>
|
||||||
|
<disabled>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>190</red>
|
||||||
|
<green>190</green>
|
||||||
|
<blue>190</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</disabled>
|
||||||
|
</palette>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Liberation Sans</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Add a new marker</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>+</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="wMarkerDel">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>18</width>
|
||||||
|
<height>18</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="palette">
|
||||||
|
<palette>
|
||||||
|
<active>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>255</red>
|
||||||
|
<green>255</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</active>
|
||||||
|
<inactive>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>255</red>
|
||||||
|
<green>255</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</inactive>
|
||||||
|
<disabled>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>190</red>
|
||||||
|
<green>190</green>
|
||||||
|
<blue>190</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</disabled>
|
||||||
|
</palette>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Liberation Sans</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Remove current marker</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>-</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="timeLabel">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>t(s)</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QVBoxLayout" name="timeLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="timeMantissaLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="timeText">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>36</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Time mantissa</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>0.000</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="timeFine">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>14</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Time mantissa (fine)</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>1000</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDial" name="timeCoarse">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Time mantissa (coarse)</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>9</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="timeExponentLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="timeExpText">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>36</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Time exponent</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>e+0</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="timeExp">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>14</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Time exponent</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>-10</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="pageStep">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
Loading…
Reference in New Issue
Block a user