| 
									
										
										
										
											2014-03-03 19:32:53 +00:00
										 |  |  | // Simple bargraph dB meter
 | 
					
						
							|  |  |  | // Implemented by Edson Pereira PY2SDR
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // Limits and geometry are hardcded for now.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "signalmeter.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SignalMeter::SignalMeter(QWidget *parent) : | 
					
						
							|  |  |  |     QWidget(parent) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     resize(parent->size()); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     m_meter = new MeterWidget(this); | 
					
						
							|  |  |  |     m_meter->setGeometry(10, 10, 10, 120); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     m_label = new QLabel(this); | 
					
						
							|  |  |  |     m_label->setGeometry(10, 135, 20, 20); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     QLabel *dbLabel = new QLabel(this); | 
					
						
							|  |  |  |     dbLabel->setText("dB"); | 
					
						
							|  |  |  |     dbLabel->setGeometry(30, 135, 20, 20); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SignalMeter::~SignalMeter() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void SignalMeter::paintEvent( QPaintEvent * ) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2021-05-30 14:21:45 +01:00
										 |  |  |   QPainter p {this}; | 
					
						
							| 
									
										
										
										
											2021-04-10 12:25:28 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-03 19:32:53 +00:00
										 |  |  |     p.drawLine(22, 10, 22, 130); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     for ( int i = 0; i <= 60; i += 10 ) { | 
					
						
							|  |  |  |         p.drawLine(22, i*2 + 10, 25, i*2 + 10); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     for ( int i = 10; i < 60; i += 10 ) { | 
					
						
							|  |  |  |         p.drawText(30, i*2 + 15, QString::number(60 - i)); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void SignalMeter::setValue(int value) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     m_meter->setValue(value); | 
					
						
							|  |  |  |     m_label->setText(QString::number(value)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void SignalMeter::resizeEvent(QResizeEvent *s) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     resize(s->size()); | 
					
						
							|  |  |  | } |