GNU Radio Manual and C++ API Reference  3.7.9.2
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  void toggleStopButton();
57 
58 signals:
59  void signalAvgSlider(float val);
60  void signalAvg(bool en);
62 
63 private:
64  FreqDisplayForm *d_parent;
65 
66  QGroupBox *d_trace_box;
67  QVBoxLayout *d_trace_layout;
68  QCheckBox *d_maxhold_check;
69  QCheckBox *d_minhold_check;
70 
71  QHBoxLayout *d_avg_layout;
72  QLabel *d_avg_label;
73  QSlider *d_avg_slider;
74 
75  QGroupBox *d_axes_box;
76  QVBoxLayout *d_axes_layout;
77 
78  QCheckBox *d_grid_check;
79  QHBoxLayout *d_yrange_layout;
80  QLabel *d_yrange_label;
81  QPushButton *d_yrange_plus;
82  QPushButton *d_yrange_minus;
83 
84  QHBoxLayout *d_ymin_layout;
85  QLabel *d_ymin_label;
86  QPushButton *d_ymin_plus;
87  QPushButton *d_ymin_minus;
88 
89  QPushButton *d_autoscale_button;
90 
91  QGroupBox *d_fft_box;
92  QVBoxLayout *d_fft_layout;
93  QComboBox *d_fft_size_combo;
94  QComboBox *d_fft_win_combo;
95 
96  int d_slider_max, d_slider_min, d_slider_step;
97 
98  QGroupBox *d_trigger_box;
99  QVBoxLayout *d_trigger_layout;
100  QHBoxLayout *d_trigger_level_layout;
101  QLabel *d_trigger_level_label;
102  QComboBox *d_trigger_mode_combo;
103  QPushButton *d_trigger_level_plus, *d_trigger_level_minus;
104 
105  QGroupBox *d_extras_box;
106  QVBoxLayout *d_extras_layout;
107  QPushButton *d_stop_button;
108 };
109 
110 #endif /* FREQ_CONTROL_PANEL_H */
void toggleFFTSize(int val)
void toggleStopButton()
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 signalToggleStopButton()
void toggleGrid(bool en)