GNU Radio Manual and C++ API Reference  3.7.7
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 toggleGrid(bool en);
48  void toggleMaxHold(bool en);
49  void toggleMinHold(bool en);
50 
51  void toggleFFTSize(int val);
53 
55 
56 signals:
57  void signalAvgSlider(float val);
58  void signalAvg(bool en);
59 
60 private:
61  FreqDisplayForm *d_parent;
62 
63  QGroupBox *d_trace_box;
64  QVBoxLayout *d_trace_layout;
65  QCheckBox *d_maxhold_check;
66  QCheckBox *d_minhold_check;
67 
68  QHBoxLayout *d_avg_layout;
69  QLabel *d_avg_label;
70  QSlider *d_avg_slider;
71 
72  QGroupBox *d_axes_box;
73  QVBoxLayout *d_axes_layout;
74 
75  QCheckBox *d_grid_check;
76  QHBoxLayout *d_yrange_layout;
77  QLabel *d_yrange_label;
78  QPushButton *d_yrange_plus;
79  QPushButton *d_yrange_minus;
80 
81  QHBoxLayout *d_ymin_layout;
82  QLabel *d_ymin_label;
83  QPushButton *d_ymin_plus;
84  QPushButton *d_ymin_minus;
85 
86  QPushButton *d_autoscale_button;
87 
88  QGroupBox *d_fft_box;
89  QVBoxLayout *d_fft_layout;
90  QComboBox *d_fft_size_combo;
91  QComboBox *d_fft_win_combo;
92 
93  int d_slider_max, d_slider_min, d_slider_step;
94 
95  QGroupBox *d_trigger_box;
96  QVBoxLayout *d_trigger_layout;
97  QHBoxLayout *d_trigger_level_layout;
98  QLabel *d_trigger_level_label;
99  QComboBox *d_trigger_mode_combo;
100  QPushButton *d_trigger_level_plus, *d_trigger_level_minus;
101 
102  QGroupBox *d_extras_box;
103  QVBoxLayout *d_extras_layout;
104  QPushButton *d_stop_button;
105 };
106 
107 #endif /* FREQ_CONTROL_PANEL_H */
void toggleFFTSize(int val)
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)
win_type
Definition: firdes.h:45
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 toggleGrid(bool en)