75fa273243a62fcde60f674011dbeda64d46cda7
[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 double timePerFFT, 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   double getTimePerFFT()const;
21   timespec getDataTimestamp()const;
22   bool getRepeatDataFlag()const;
23   bool getLastOfMultipleUpdateFlag()const;
24   timespec getEventGeneratedTimestamp()const;
25   int getDroppedFFTFrames()const;
26
27 protected:
28
29 private:
30   std::complex<float>* _fftPoints;
31   double* _realDataTimeDomainPoints;
32   double* _imagDataTimeDomainPoints;
33   uint64_t _numFFTDataPoints;
34   uint64_t _numTimeDomainDataPoints;
35   double _timePerFFT;
36   timespec _dataTimestamp;
37   bool _repeatDataFlag;
38   bool _lastOfMultipleUpdateFlag;
39   timespec _eventGeneratedTimestamp;
40   int _droppedFFTFrames;
41 };
42
43 class SpectrumWindowCaptionEvent:public QEvent{
44 public:
45   SpectrumWindowCaptionEvent(const QString&);
46   ~SpectrumWindowCaptionEvent();
47   QString getLabel();
48
49 protected:
50
51 private:
52   QString _labelString;
53 };
54
55 class SpectrumWindowResetEvent:public QEvent{
56 public:
57   SpectrumWindowResetEvent();
58   ~SpectrumWindowResetEvent();
59
60 protected:
61
62 private:
63
64 };
65
66 class SpectrumFrequencyRangeEvent:public QEvent{
67 public:
68   SpectrumFrequencyRangeEvent(const double, const double, const double);
69   ~SpectrumFrequencyRangeEvent();
70   double GetCenterFrequency()const;
71   double GetStartFrequency()const;
72   double GetStopFrequency()const;
73
74 protected:
75
76 private:
77   double _centerFrequency;
78   double _startFrequency;
79   double _stopFrequency;
80 };
81
82
83 #endif /* SPECTRUM_UPDATE_EVENTS_H */