This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
YASMIN/ui/debug/PlotWiFiScan.cpp
2016-09-28 12:16:45 +02:00

62 lines
1.3 KiB
C++

#include "../misc/fixc11.h"
#include "PlotWiFiScan.h"
#include <QPainter>
#include <QStaticText>
#include "../UIHelper.h"
PlotWiFiScan::PlotWiFiScan(QWidget *parent) : QWidget(parent) {
setMinimumWidth(96);
setMinimumHeight(96);
//setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
// setMaximumHeight(300);
// sets
//setAutoFillBackground(false);
}
void PlotWiFiScan::add(const Timestamp ts, const WiFiMeasurements& data) {
(void) ts;
this->data = data;
QMetaObject::invokeMethod(this, "update", Qt::QueuedConnection);
}
void PlotWiFiScan::paintEvent(QPaintEvent* evt) {
(void) evt;
QPainter p(this);
const int x0 = 4; const int xw = UIHelper::getWifiLabelDistX(this->parent());
const int y0 = 3;
const int lh = UIHelper::getWifiLabelDistY(this->parent());
int x = x0;
int y = y0;
int w = width();
int h = height();
p.fillRect(0,0,width(),height(),QColor(255,255,255,192));
p.setPen(Qt::black);
p.drawRect(0,0,width()-1,height()-1);
const QFont font("Arial", 9);
p.setFont(font);
p.setPen(Qt::black);
for (const WiFiMeasurement& m : data.entries) {
const std::string& mac = m.getAP().getMAC().asString();
std::string str = mac + ": " + std::to_string((int)m.getRSSI());
p.drawStaticText(x, y, QStaticText(str.c_str()));
y += lh;
if (y > this->height()-10) {y = y0; x += xw;}
}
p.end();
}