GNU Radio Manual and C++ API Reference  3.9.0.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  * 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 
49 signals:
50  void signalAvgSlider(float val);
51  void signalAvg(bool en);
53 
54 private:
55  FreqDisplayForm* d_parent;
56 
57  QGroupBox* d_trace_box;
58  QVBoxLayout* d_trace_layout;
59  QCheckBox* d_maxhold_check;
60  QCheckBox* d_minhold_check;
61 
62  QHBoxLayout* d_avg_layout;
63  QLabel* d_avg_label;
64  QSlider* d_avg_slider;
65 
66  QGroupBox* d_axes_box;
67  QVBoxLayout* d_axes_layout;
68 
69  QCheckBox* d_grid_check;
70  QCheckBox* d_axislabels_check;
71  QHBoxLayout* d_yrange_layout;
72  QLabel* d_yrange_label;
73  QPushButton* d_yrange_plus;
74  QPushButton* d_yrange_minus;
75 
76  QHBoxLayout* d_ymin_layout;
77  QLabel* d_ymin_label;
78  QPushButton* d_ymin_plus;
79  QPushButton* d_ymin_minus;
80 
81  QPushButton* d_autoscale_button;
82 
83  QGroupBox* d_fft_box;
84  QVBoxLayout* d_fft_layout;
85  QComboBox* d_fft_size_combo;
86  QComboBox* d_fft_win_combo;
87 
88  int d_slider_max, d_slider_min, d_slider_step;
89 
90  QGroupBox* d_trigger_box;
91  QVBoxLayout* d_trigger_layout;
92  QHBoxLayout* d_trigger_level_layout;
93  QLabel* d_trigger_level_label;
94  QComboBox* d_trigger_mode_combo;
95  QPushButton *d_trigger_level_plus, *d_trigger_level_minus;
96 
97  QGroupBox* d_extras_box;
98  QVBoxLayout* d_extras_layout;
99  QPushButton* d_stop_button;
100 };
101 
102 #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 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:25
trigger_mode
Definition: trigger_mode.h:17