SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
nfmdemodgui.h
Go to the documentation of this file.
1 #ifndef INCLUDE_NFMDEMODGUI_H
2 #define INCLUDE_NFMDEMODGUI_H
3 
5 #include "gui/rollupwidget.h"
6 #include "dsp/dsptypes.h"
7 #include "dsp/channelmarker.h"
8 #include "dsp/movingaverage.h"
9 #include "util/messagequeue.h"
10 
11 #include "nfmdemodsettings.h"
12 
13 class PluginAPI;
14 class DeviceUISet;
15 class BasebandSampleSink;
16 class NFMDemod;
17 
18 namespace Ui {
19  class NFMDemodGUI;
20 }
21 
22 class NFMDemodGUI : public RollupWidget, public PluginInstanceGUI {
23  Q_OBJECT
24 
25 public:
26  static NFMDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
27  virtual void destroy();
28 
29  void setName(const QString& name);
30  QString getName() const;
31  virtual qint64 getCenterFrequency() const;
32  virtual void setCenterFrequency(qint64 centerFrequency);
33 
34  void resetToDefaults();
35  QByteArray serialize() const;
36  bool deserialize(const QByteArray& data);
37  virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
38  virtual bool handleMessage(const Message& message);
39  void setCtcssFreq(Real ctcssFreq);
40 
41 public slots:
42  void channelMarkerChangedByCursor();
43  void channelMarkerHighlightedByCursor();
44 
45 private:
46  Ui::NFMDemodGUI* ui;
53 
58 
59  explicit NFMDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel, QWidget* parent = 0);
60  virtual ~NFMDemodGUI();
61 
62  void blockApplySettings(bool block);
63  void applySettings(bool force = false);
64  void displaySettings();
65 
66  void leaveEvent(QEvent*);
67  void enterEvent(QEvent*);
68 
69 private slots:
70  void on_deltaFrequency_changed(qint64 value);
71  void on_rfBW_currentIndexChanged(int index);
72  void on_afBW_valueChanged(int value);
73  void on_volume_valueChanged(int value);
74  void on_squelchGate_valueChanged(int value);
75  void on_deltaSquelch_toggled(bool checked);
76  void on_squelch_valueChanged(int value);
77  void on_ctcss_currentIndexChanged(int index);
78  void on_ctcssOn_toggled(bool checked);
79  void on_highPassFilter_toggled(bool checked);
80  void on_audioMute_toggled(bool checked);
81  void onWidgetRolled(QWidget* widget, bool rollDown);
82  void onMenuDialogCalled(const QPoint& p);
83  void handleInputMessages();
84  void audioSelect();
85  void tick();
86 };
87 
88 #endif // INCLUDE_NFMDEMODGUI_H
DeviceUISet * m_deviceUISet
Definition: nfmdemodgui.h:48
virtual MessageQueue * getInputMessageQueue()
Definition: nfmdemodgui.h:37
unsigned int uint32_t
Definition: rtptypes_win.h:46
Ui::NFMDemodGUI * ui
Definition: nfmdemodgui.h:46
void * create(QString type)
uint32_t m_tickCount
Definition: nfmdemodgui.h:56
PluginAPI * m_pluginAPI
Definition: nfmdemodgui.h:47
ChannelMarker m_channelMarker
Definition: nfmdemodgui.h:49
bool m_doApplySettings
Definition: nfmdemodgui.h:52
bool m_squelchOpen
Definition: nfmdemodgui.h:55
NFMDemodSettings m_settings
Definition: nfmdemodgui.h:50
bool m_basicSettingsShown
Definition: nfmdemodgui.h:51
NFMDemod * m_nfmDemod
Definition: nfmdemodgui.h:54
MessageQueue m_inputMessageQueue
Definition: nfmdemodgui.h:57
float Real
Definition: dsptypes.h:42