1 #ifndef SPECTRUM_GUI_CLASS_HPP
2 #define SPECTRUM_GUI_CLASS_HPP
4 //#include <mutexClass.hpp>
6 #include <qapplication.h>
9 #include <spectrumUpdateEvents.h>
11 //#include <Windowing.hpp>
13 class SpectrumDisplayForm;
14 #include <spectrumdisplayform.h>
22 class SpectrumGUIClass{
24 SpectrumGUIClass(const uint64_t, const uint64_t, const double, const double);
28 void OpenSpectrumWindow(QWidget*);
29 void SetDisplayTitle(const std::string);
31 bool GetWindowOpenFlag();
32 void SetWindowOpenFlag(const bool);
34 void SetFrequencyRange(const double, const double, const double);
35 double GetStartFrequency()const;
36 double GetStopFrequency()const;
37 double GetCenterFrequency()const;
39 void UpdateWindow(const bool, const std::complex<float>*, const uint64_t, const float*, const uint64_t, const float*, const uint64_t, const double, const timespec, const bool);
41 float GetPowerValue()const;
42 void SetPowerValue(const float);
44 int GetWindowType()const;
45 void SetWindowType(const int);
47 int GetFFTSize()const;
48 int GetFFTSizeIndex()const;
49 void SetFFTSize(const int);
51 timespec GetLastGUIUpdateTime()const;
52 void SetLastGUIUpdateTime(const timespec);
54 unsigned int GetPendingGUIUpdateEvents()const;
55 void IncrementPendingGUIUpdateEvents();
56 void DecrementPendingGUIUpdateEvents();
57 void ResetPendingGUIUpdateEvents();
59 static const long MAX_FFT_SIZE = /*1048576*/32768;
60 static const long MIN_FFT_SIZE = 1024;
66 //MutexClass* _windowStateLock;
69 double _centerFrequency;
70 double _startFrequency;
71 double _stopFrequency;
73 bool _windowOpennedFlag;
75 int64_t _lastDataPointCount;
77 timespec _lastGUIUpdateTime;
78 unsigned int _pendingGUIUpdateEventsCount;
79 int _droppedEntriesCount;
80 bool _fftBuffersCreatedFlag;
82 SpectrumDisplayForm* _spectrumDisplayForm;
84 std::complex<float>* _fftPoints;
85 double* _realTimeDomainPoints;
86 double* _imagTimeDomainPoints;
89 #endif /* SPECTRUM_GUI_CLASS_HPP */