34 lines
		
	
	
		
			655 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			655 B
		
	
	
	
		
			C
		
	
	
	
	
	
|   | // -*- Mode: C++ -*-
 | ||
|  | #ifndef METERWIDGET_H
 | ||
|  | #define METERWIDGET_H
 | ||
|  | 
 | ||
|  | #include <QWidget>
 | ||
|  | #include <QQueue>
 | ||
|  | 
 | ||
|  | class MeterWidget : public QWidget | ||
|  | { | ||
|  |   Q_OBJECT | ||
|  |   Q_PROPERTY (int value READ value WRITE setValue) | ||
|  | 
 | ||
|  | public: | ||
|  |   explicit MeterWidget (QWidget *parent = 0); | ||
|  | 
 | ||
|  |   // value property
 | ||
|  |   int value () const {return m_signal;} | ||
|  |   Q_SLOT void setValue (int value); | ||
|  | 
 | ||
|  |   // QWidget implementation
 | ||
|  |   QSize sizeHint () const override; | ||
|  |   void set_sigPeak(int value); | ||
|  | protected: | ||
|  |   void paintEvent( QPaintEvent * ) override; | ||
|  | 
 | ||
|  | private: | ||
|  |   QQueue<int> signalQueue; | ||
|  |   int m_signal; | ||
|  |   int m_noisePeak; | ||
|  |   int m_sigPeak; // peak value for color coding
 | ||
|  | }; | ||
|  | 
 | ||
|  | #endif // METERWIDGET_H
 |