9c46d4bf303daf31d1155e9d47ed0c2209e8519f
[debian/gnuradio] / gr-qtgui / src / lib / spectrumUpdateEvents.h
1 #ifndef SPECTRUM_UPDATE_EVENTS_H
2 #define SPECTRUM_UPDATE_EVENTS_H
3
4 #include <stdint.h>
5 #include <QEvent>
6 #include <QString>
7 #include <complex>
8 #include <highResTimeFunctions.h>
9
10 class SpectrumUpdateEvent:public QEvent{
11
12 public:
13   SpectrumUpdateEvent(const std::complex<float>* fftPoints, const uint64_t numFFTDataPoints, const double* realTimeDomainPoints, const double* imagTimeDomainPoints, const uint64_t numTimeDomainDataPoints, const timespec dataTimestamp, const bool repeatDataFlag, const bool lastOfMultipleUpdateFlag, const timespec generatedTimestamp, const int droppedFFTFrames);
14   ~SpectrumUpdateEvent();
15   const std::complex<float>* getFFTPoints()const;
16   const double* getRealTimeDomainPoints()const;
17   const double* getImagTimeDomainPoints()const;
18   uint64_t getNumFFTDataPoints()const;
19   uint64_t getNumTimeDomainDataPoints()const;
20   timespec getDataTimestamp()const;
21   bool getRepeatDataFlag()const;
22   bool getLastOfMultipleUpdateFlag()const;
23   timespec getEventGeneratedTimestamp()const;
24   int getDroppedFFTFrames()const;
25
26 protected:
27
28 private:
29   std::complex<float>* _fftPoints;
30   double* _realDataTimeDomainPoints;
31   double* _imagDataTimeDomainPoints;
32   uint64_t _numFFTDataPoints;
33   uint64_t _numTimeDomainDataPoints;
34   timespec _dataTimestamp;
35   bool _repeatDataFlag;
36   bool _lastOfMultipleUpdateFlag;
37   timespec _eventGeneratedTimestamp;
38   int _droppedFFTFrames;
39 };
40
41 class SpectrumWindowCaptionEvent:public QEvent{
42 public:
43   SpectrumWindowCaptionEvent(const QString&);
44   ~SpectrumWindowCaptionEvent();
45   QString getLabel();
46
47 protected:
48
49 private:
50   QString _labelString;
51 };
52
53 class SpectrumWindowResetEvent:public QEvent{
54 public:
55   SpectrumWindowResetEvent();
56   ~SpectrumWindowResetEvent();
57
58 protected:
59
60 private:
61
62 };
63
64 class SpectrumFrequencyRangeEvent:public QEvent{
65 public:
66   SpectrumFrequencyRangeEvent(const double, const double, const double);
67   ~SpectrumFrequencyRangeEvent();
68   double GetCenterFrequency()const;
69   double GetStartFrequency()const;
70   double GetStopFrequency()const;
71
72 protected:
73
74 private:
75   double _centerFrequency;
76   double _startFrequency;
77   double _stopFrequency;
78 };
79
80
81 #endif /* SPECTRUM_UPDATE_EVENTS_H */