Removing Waterfall3DPlot. The qwt_plot3d is too much of a hassle to deal with and...
[debian/gnuradio] / gr-qtgui / src / lib / spectrumdisplayform.h
index a623776c6d1b8e35db06ebb3ff3ef16d9686ae61..8031020072114126944778e89302214814731142 100644 (file)
@@ -9,10 +9,10 @@ class SpectrumGUIClass;
 #include <SpectrumGUIClass.h>
 #include <FrequencyDisplayPlot.h>
 #include <WaterfallDisplayPlot.h>
-#include <Waterfall3DDisplayPlot.h>
 #include <TimeDomainDisplayPlot.h>
 #include <ConstellationDisplayPlot.h>
 #include <QValidator>
+#include <QTimer>
 #include <vector>
 
 class SpectrumDisplayForm : public QWidget, public Ui::SpectrumDisplayForm
@@ -20,7 +20,7 @@ class SpectrumDisplayForm : public QWidget, public Ui::SpectrumDisplayForm
   Q_OBJECT
 
   public:
-  SpectrumDisplayForm(QWidget* parent = 0);
+  SpectrumDisplayForm(bool useOpenGL = true, QWidget* parent = 0);
   ~SpectrumDisplayForm();
   
   void setSystem( SpectrumGUIClass * newSystem, const uint64_t numFFTDataPoints,
@@ -36,15 +36,16 @@ class SpectrumDisplayForm : public QWidget, public Ui::SpectrumDisplayForm
 public slots:
   void resizeEvent( QResizeEvent * e );
   void customEvent( QEvent * e );
-  void AvgLineEdit_textChanged( const QString & valueString );
+  void AvgLineEdit_valueChanged( int valueString );
   void MaxHoldCheckBox_toggled( bool newState );
   void MinHoldCheckBox_toggled( bool newState );
   void MinHoldResetBtn_clicked();
   void MaxHoldResetBtn_clicked();
-  void PowerLineEdit_textChanged( const QString& valueString );
-  void SetFrequencyRange( const double newStartFrequency,
-                         const double newStopFrequency,
-                         const double newCenterFrequency );
+  void TabChanged(int index);
+
+  void SetFrequencyRange( const double newCenterFrequency,
+                         const double newStartFrequency,
+                         const double newStopFrequency );
   void closeEvent( QCloseEvent * e );
   void WindowTypeChanged( int newItem );
   void UseRFFrequenciesCB( bool useRFFlag );
@@ -52,30 +53,30 @@ public slots:
   void waterfallMinimumIntensityChangedCB(double);
   void WaterfallIntensityColorTypeChanged(int);
   void WaterfallAutoScaleBtnCB();
-  void waterfall3DMaximumIntensityChangedCB(double);
-  void waterfall3DMinimumIntensityChangedCB(double);
-  void Waterfall3DIntensityColorTypeChanged(int);
-  void Waterfall3DAutoScaleBtnCB();
   void FFTComboBoxSelectedCB(const QString&);
 
   void ToggleTabFrequency(const bool state);
   void ToggleTabWaterfall(const bool state);
-  void ToggleTabWaterfall3D(const bool state);
   void ToggleTabTime(const bool state);
   void ToggleTabConstellation(const bool state);
 
   void SetTimeDomainAxis(double min, double max);
   void SetConstellationAxis(double xmin, double xmax,
                            double ymin, double ymax);
+  void SetConstellationPenSize(int size);
+  void SetFrequencyAxis(double min, double max);
+  void SetUpdateTime(double t);
 
 private slots:
   void newFrequencyData( const SpectrumUpdateEvent* );
+  void UpdateGuiTimer();
 
 protected:
 
 private:
-    void _AverageHistory( const double * newBuffer );
+  void _AverageHistory( const double * newBuffer );
 
+  bool _useOpenGL;
   int _historyEntryCount;
   int _historyEntry;
   std::vector<double*>* _historyVector;
@@ -85,7 +86,6 @@ private:
   QIntValidator* _intValidator;
   FrequencyDisplayPlot* _frequencyDisplayPlot;
   WaterfallDisplayPlot* _waterfallDisplayPlot;
-  Waterfall3DDisplayPlot* _waterfall3DDisplayPlot;
   TimeDomainDisplayPlot* _timeDomainDisplayPlot;
   ConstellationDisplayPlot* _constellationDisplayPlot;
   SpectrumGUIClass* _system;
@@ -97,13 +97,18 @@ private:
   double _peakAmplitude;
   static int _openGLWaterfall3DFlag;
   double _stopFrequency;
-
+  
+  //SpectrumUpdateEvent _lastSpectrumEvent;
+  
   // whether or not to use a particular display
   int d_plot_fft;
   int d_plot_waterfall;
   int d_plot_waterfall3d;
   int d_plot_time;
   int d_plot_constellation;
+
+  QTimer *displayTimer;
+  double d_update_time;
 };
 
 #endif /* SPECTRUM_DISPLAY_FORM_H */