GNU Radio Manual and C++ API Reference  3.7.13.4
The Free & Open Software Radio Ecosystem
freqcontrolpanel.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2015 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 FREQ_CONTROL_PANEL_H
24 #define FREQ_CONTROL_PANEL_H
25 
26 #include <QtGui/QtGui>
27 #include <vector>
28 #include <QSlider>
29 #include <QComboBox>
30 #include <QCheckBox>
31 #include <QPushButton>
32 #include <QLabel>
33 #include <QHBoxLayout>
36 
37 class FreqControlPanel : public QVBoxLayout
38 {
39  Q_OBJECT
40 
41 public:
44 
45 public slots:
46  void notifyAvgSlider(int val);
47  void setFFTAverage(float val);
48  void toggleGrid(bool en);
49  void toggleAxisLabels(bool en);
50  void toggleMaxHold(bool en);
51  void toggleMinHold(bool en);
52 
53  void toggleFFTSize(int val);
55 
57 
58  void toggleStopButton();
59 
60 signals:
61  void signalAvgSlider(float val);
62  void signalAvg(bool en);
64 
65 private:
66  FreqDisplayForm *d_parent;
67 
68  QGroupBox *d_trace_box;
69  QVBoxLayout *d_trace_layout;
70  QCheckBox *d_maxhold_check;
71  QCheckBox *d_minhold_check;
72 
73  QHBoxLayout *d_avg_layout;
74  QLabel *d_avg_label;
75  QSlider *d_avg_slider;
76 
77  QGroupBox *d_axes_box;
78  QVBoxLayout *d_axes_layout;
79 
80  QCheckBox *d_grid_check;
81  QCheckBox *d_axislabels_check;
82  QHBoxLayout *d_yrange_layout;
83  QLabel *d_yrange_label;
84  QPushButton *d_yrange_plus;
85  QPushButton *d_yrange_minus;
86 
87  QHBoxLayout *d_ymin_layout;
88  QLabel *d_ymin_label;
89  QPushButton *d_ymin_plus;
90  QPushButton *d_ymin_minus;
91 
92  QPushButton *d_autoscale_button;
93 
94  QGroupBox *d_fft_box;
95  QVBoxLayout *d_fft_layout;
96  QComboBox *d_fft_size_combo;
97  QComboBox *d_fft_win_combo;
98 
99  int d_slider_max, d_slider_min, d_slider_step;
100 
101  QGroupBox *d_trigger_box;
102  QVBoxLayout *d_trigger_layout;
103  QHBoxLayout *d_trigger_level_layout;
104  QLabel *d_trigger_level_label;
105  QComboBox *d_trigger_mode_combo;
106  QPushButton *d_trigger_level_plus, *d_trigger_level_minus;
107 
108  QGroupBox *d_extras_box;
109  QVBoxLayout *d_extras_layout;
110  QPushButton *d_stop_button;
111 };
112 
113 #endif /* FREQ_CONTROL_PANEL_H */
void toggleFFTSize(int val)
void toggleStopButton()
void setFFTAverage(float val)
void toggleAxisLabels(bool en)
FreqControlPanel(FreqDisplayForm *form)
Definition: freqcontrolpanel.h:37
void signalAvgSlider(float val)
void toggleTriggerMode(gr::qtgui::trigger_mode mode)
trigger_mode
Definition: gr-qtgui/include/gnuradio/qtgui/trigger_mode.h:29
void signalAvg(bool en)
void toggleMaxHold(bool en)
void notifyAvgSlider(int val)
void toggleMinHold(bool en)
DisplayForm child for managing frequency (PSD) plots.
Definition: freqdisplayform.h:40
void toggleFFTWindow(const gr::filter::firdes::win_type win)
void signalToggleStopButton()
win_type
Definition: firdes.h:45
void toggleGrid(bool en)