summaryrefslogtreecommitdiff
path: root/gr-qtgui/lib/spectrumdisplayform.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-qtgui/lib/spectrumdisplayform.cc')
-rw-r--r--gr-qtgui/lib/spectrumdisplayform.cc49
1 files changed, 41 insertions, 8 deletions
diff --git a/gr-qtgui/lib/spectrumdisplayform.cc b/gr-qtgui/lib/spectrumdisplayform.cc
index 0b5f6300d3..ca9d981786 100644
--- a/gr-qtgui/lib/spectrumdisplayform.cc
+++ b/gr-qtgui/lib/spectrumdisplayform.cc
@@ -31,6 +31,9 @@ SpectrumDisplayForm::SpectrumDisplayForm(QWidget* parent)
{
setupUi(this);
+ d_clicked = false;
+ d_clicked_freq = 0;
+
_systemSpecifiedFlag = false;
_intValidator = new QIntValidator(this);
_intValidator->setBottom(0);
@@ -426,7 +429,7 @@ SpectrumDisplayForm::setFrequencyRange(const double newCenterFrequency,
std::string strtime[4] = {"sec", "ms", "us", "ns"};
double units10 = floor(log10(fdiff));
double units3 = std::max(floor(units10 / 3.0), 0.0);
- double units = pow(10, (units10-fmod(units10, 3.0)));
+ d_units = pow(10, (units10-fmod(units10, 3.0)));
int iunit = static_cast<int>(units3);
_startFrequency = newStartFrequency;
@@ -434,11 +437,11 @@ SpectrumDisplayForm::setFrequencyRange(const double newCenterFrequency,
_centerFrequency = newCenterFrequency;
_frequencyDisplayPlot->setFrequencyRange(fcenter, fdiff,
- units, strunits[iunit]);
+ d_units, strunits[iunit]);
_waterfallDisplayPlot->setFrequencyRange(fcenter, fdiff,
- units, strunits[iunit]);
+ d_units, strunits[iunit]);
_timeDomainDisplayPlot->setSampleRate((_stopFrequency - _startFrequency)/2.0,
- units, strtime[iunit]);
+ d_units, strtime[iunit]);
}
}
@@ -572,6 +575,12 @@ SpectrumDisplayForm::useRFFrequenciesCB(bool useRFFlag)
setFrequencyRange(_centerFrequency, _startFrequency, _stopFrequency);
}
+void
+SpectrumDisplayForm::toggleRFFrequencies(bool en)
+{
+ UseRFFrequenciesCheckBox->setChecked(en);
+}
+
void
SpectrumDisplayForm::waterfallMaximumIntensityChangedCB(double newValue)
@@ -762,23 +771,47 @@ SpectrumDisplayForm::setUpdateTime(double t)
void
SpectrumDisplayForm::onFFTPlotPointSelected(const QPointF p)
{
- emit plotPointSelected(p, 1);
+ d_clicked = true;
+ d_clicked_freq = d_units*p.x();
+
+ setFrequencyRange(d_clicked_freq, _startFrequency, _stopFrequency);
}
void
SpectrumDisplayForm::onWFallPlotPointSelected(const QPointF p)
{
- emit plotPointSelected(p, 2);
+ d_clicked = true;
+ d_clicked_freq = d_units*p.x();
+
+ setFrequencyRange(d_clicked_freq, _startFrequency, _stopFrequency);
}
void
SpectrumDisplayForm::onTimePlotPointSelected(const QPointF p)
{
- emit plotPointSelected(p, 3);
+ //emit plotPointSelected(p, 3);
}
void
SpectrumDisplayForm::onConstPlotPointSelected(const QPointF p)
{
- emit plotPointSelected(p, 4);
+ //emit plotPointSelected(p, 4);
+}
+
+bool
+SpectrumDisplayForm::checkClicked()
+{
+ if(d_clicked) {
+ d_clicked = false;
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+float
+SpectrumDisplayForm::getClickedFreq() const
+{
+ return d_clicked_freq;
}