mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // 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 * )
 | |
| {
 | |
|   QPainter p {this};
 | |
| 
 | |
|     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());
 | |
| }
 |