GNU Radio Manual and C++ API Reference  3.10.9.1
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  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef FREQ_CONTROL_PANEL_H
12 #define FREQ_CONTROL_PANEL_H
13 
14 #include <gnuradio/fft/window.h>
17 #include <QtGui/QtGui>
18 #include <QCheckBox>
19 #include <QComboBox>
20 #include <QHBoxLayout>
21 #include <QLabel>
22 #include <QPushButton>
23 #include <QSlider>
24 #include <vector>
25 
26 class FreqControlPanel : public QVBoxLayout
27 {
28  Q_OBJECT
29 
30 public:
32  ~FreqControlPanel() override;
33 
34 public slots:
35  void notifyAvgSlider(int val);
36  void setFFTAverage(float val);
37  void toggleGrid(bool en);
38  void toggleAxisLabels(bool en);
39  void toggleMaxHold(bool en);
40  void toggleMinHold(bool en);
41 
42  void toggleFFTSize(int val);
44 
46 
48  void updateStopLabel(bool on);
49 
50 signals:
51  void signalAvgSlider(float val);
52  void signalAvg(bool en);
54 
55 private:
56  FreqDisplayForm* d_parent;
57 
58  QGroupBox* d_trace_box;
59  QVBoxLayout* d_trace_layout;
60  QCheckBox* d_maxhold_check;
61  QCheckBox* d_minhold_check;
62 
63  QHBoxLayout* d_avg_layout;
64  QLabel* d_avg_label;
65  QSlider* d_avg_slider;
66 
67  QGroupBox* d_axes_box;
68  QVBoxLayout* d_axes_layout;
69 
70  QCheckBox* d_grid_check;
71  QCheckBox* d_axislabels_check;
72  QHBoxLayout* d_yrange_layout;
73  QLabel* d_yrange_label;
74  QPushButton* d_yrange_plus;
75  QPushButton* d_yrange_minus;
76 
77  QHBoxLayout* d_ymin_layout;
78  QLabel* d_ymin_label;
79  QPushButton* d_ymin_plus;
80  QPushButton* d_ymin_minus;
81 
82  QPushButton* d_autoscale_button;
83 
84  QGroupBox* d_fft_box;
85  QVBoxLayout* d_fft_layout;
86  QComboBox* d_fft_size_combo;
87  QComboBox* d_fft_win_combo;
88 
89  int d_slider_max, d_slider_min, d_slider_step;
90 
91  QGroupBox* d_trigger_box;
92  QVBoxLayout* d_trigger_layout;
93  QHBoxLayout* d_trigger_level_layout;
94  QLabel* d_trigger_level_label;
95  QComboBox* d_trigger_mode_combo;
96  QPushButton *d_trigger_level_plus, *d_trigger_level_minus;
97 
98  QGroupBox* d_extras_box;
99  QVBoxLayout* d_extras_layout;
100  QPushButton* d_stop_button;
101 };
102 
103 #endif /* FREQ_CONTROL_PANEL_H */
Definition: freqcontrolpanel.h:27
void toggleTriggerMode(gr::qtgui::trigger_mode mode)
void toggleStopButton()
void notifyAvgSlider(int val)
void toggleFFTSize(int val)
void toggleMinHold(bool en)
void setFFTAverage(float val)
void signalAvg(bool en)
void updateStopLabel(bool on)
void toggleFFTWindow(const gr::fft::window::win_type win)
void toggleAxisLabels(bool en)
void toggleGrid(bool en)
void signalAvgSlider(float val)
FreqControlPanel(FreqDisplayForm *form)
void toggleMaxHold(bool en)
~FreqControlPanel() override
void signalToggleStopButton()
DisplayForm child for managing frequency (PSD) plots.
Definition: freqdisplayform.h:29
win_type
Definition: window.h:28
trigger_mode
Definition: trigger_mode.h:17