GNU Radio Manual and C++ API Reference  3.8.1.0
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 
28 #include <QtGui/QtGui>
29 #include <QCheckBox>
30 #include <QComboBox>
31 #include <QHBoxLayout>
32 #include <QLabel>
33 #include <QPushButton>
34 #include <QSlider>
35 #include <vector>
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: 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)