GNU Radio Manual and C++ API Reference 3.7.14.0
The Free & Open Software Radio Ecosystem
waterfalldisplayform.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2012 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * GNU Radio is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3, or (at your option)
10 * any later version.
11 *
12 * GNU Radio is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Radio; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street,
20 * Boston, MA 02110-1301, USA.
21 */
22
23#ifndef WATERFALL_DISPLAY_FORM_H
24#define WATERFALL_DISPLAY_FORM_H
25
29#include <QtGui/QtGui>
30#include <vector>
31
33
34/*!
35 * \brief DisplayForm child for managing waterfall (spectrogram) plots.
36 * \ingroup qtgui_blk
37 */
39{
40 Q_OBJECT
41
42public:
43 WaterfallDisplayForm(int nplots = 1, QWidget* parent = 0);
45
47
48 int getFFTSize() const;
49 double getTimePerFFT();
50 float getFFTAverage() const;
52
53 int getColorMap(int which);
54 int getAlpha(int which);
55 double getMinIntensity(int which);
56 double getMaxIntensity(int which);
57
58 void clearData();
59
60 // returns the frequency that was last double-clicked on by the user
61 float getClickedFreq() const;
62
63 // checks if there was a double-click event; reset if there was
65
66public slots:
67 void customEvent(QEvent* e);
68 void setTimeTitle(const std::string);
69 void setSampleRate(const QString& samprate);
70 void setFFTSize(const int);
71 void setFFTAverage(const float);
73
74 void setFrequencyRange(const double centerfreq, const double bandwidth);
75
76 void setIntensityRange(const double minIntensity, const double maxIntensity);
77 void setMaxIntensity(const QString& m);
78 void setMinIntensity(const QString& m);
79
80 void setAlpha(int which, int alpha);
81
82 void setColorMap(int which,
83 const int newType,
84 const QColor lowColor = QColor("white"),
85 const QColor highColor = QColor("white"));
86
87 void autoScale(bool en = false);
88 void setPlotPosHalf(bool half);
89 void setTimePerFFT(double t);
90 void setUpdateTime(double t);
91
92private slots:
93 void newData(const QEvent* updateEvent);
94 void onPlotPointSelected(const QPointF p);
95
96private:
97 QIntValidator* d_int_validator;
98
99 double d_samp_rate, d_center_freq;
100 int d_fftsize;
101 double d_time_per_fft;
102 float d_fftavg;
103 gr::filter::firdes::win_type d_fftwintype;
104 double d_units;
105
106 bool d_clicked;
107 double d_clicked_freq;
108
109 double d_min_val, d_cur_min_val;
110 double d_max_val, d_cur_max_val;
111
112 FFTSizeMenu* d_sizemenu;
113 FFTAverageMenu* d_avgmenu;
114 FFTWindowMenu* d_winmenu;
115};
116
117#endif /* WATERFALL_DISPLAY_FORM_H */
Base class for setting up and managing QTGUI plot forms.
Definition: displayform.h:42
Definition: form_menus.h:813
Definition: form_menus.h:589
Definition: form_menus.h:827
DisplayForm child for managing waterfall (spectrogram) plots.
Definition: waterfalldisplayform.h:39
void setAlpha(int which, int alpha)
void setTimePerFFT(double t)
void setFFTAverage(const float)
void setSampleRate(const QString &samprate)
gr::filter::firdes::win_type getFFTWindowType() const
double getMinIntensity(int which)
void setPlotPosHalf(bool half)
void setFFTSize(const int)
void autoScale(bool en=false)
WaterfallDisplayPlot * getPlot()
void setFrequencyRange(const double centerfreq, const double bandwidth)
int getAlpha(int which)
void setFFTWindowType(const gr::filter::firdes::win_type)
int getFFTSize() const
void setColorMap(int which, const int newType, const QColor lowColor=QColor("white"), const QColor highColor=QColor("white"))
void setIntensityRange(const double minIntensity, const double maxIntensity)
void setMinIntensity(const QString &m)
void setTimeTitle(const std::string)
void customEvent(QEvent *e)
float getFFTAverage() const
float getClickedFreq() const
int getColorMap(int which)
void setUpdateTime(double t)
double getMaxIntensity(int which)
WaterfallDisplayForm(int nplots=1, QWidget *parent=0)
void setMaxIntensity(const QString &m)
QWidget for displaying waterfall (spectrogram) plots.
Definition: WaterfallDisplayPlot.h:48
win_type
Definition: firdes.h:45