2012-05-22 13:09:48 -04:00
|
|
|
#include "bandmap.h"
|
|
|
|
#include "ui_bandmap.h"
|
2021-04-30 17:51:09 -04:00
|
|
|
#include "qt_helpers.hpp"
|
2012-05-22 13:09:48 -04:00
|
|
|
#include <QDebug>
|
|
|
|
|
|
|
|
BandMap::BandMap(QWidget *parent) :
|
|
|
|
QWidget(parent),
|
|
|
|
ui(new Ui::BandMap)
|
|
|
|
{
|
|
|
|
ui->setupUi(this);
|
|
|
|
ui->bmTextBrowser->setStyleSheet(
|
|
|
|
"QTextBrowser { background-color : #000066; color : red; }");
|
|
|
|
m_bandMapText="";
|
|
|
|
ui->bmTextBrowser->clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
BandMap::~BandMap()
|
|
|
|
{
|
|
|
|
delete ui;
|
|
|
|
}
|
|
|
|
|
|
|
|
void BandMap::setText(QString t)
|
|
|
|
{
|
|
|
|
m_bandMapText=t;
|
|
|
|
int w=ui->bmTextBrowser->size().width();
|
|
|
|
int ncols=1;
|
|
|
|
if(w>220) ncols=2;
|
|
|
|
QString s="QTextBrowser{background-color: "+m_colorBackground+"}";
|
|
|
|
ui->bmTextBrowser->setStyleSheet(s);
|
|
|
|
QString t0="<html style=\" font-family:'Courier New';"
|
|
|
|
"font-size:9pt; background-color:#000066\">"
|
|
|
|
"<table border=0 cellspacing=7><tr><td>\n";
|
|
|
|
QString tfreq,tspace,tcall;
|
|
|
|
QString s0,s1,s2,s3,bg;
|
|
|
|
bg="<span style=color:"+m_colorBackground+";>.</span>";
|
|
|
|
s0="<span style=color:"+m_color0+";>";
|
|
|
|
s1="<span style=color:"+m_color1+";>";
|
|
|
|
s2="<span style=color:"+m_color2+";>";
|
|
|
|
s3="<span style=color:"+m_color3+";>";
|
|
|
|
|
|
|
|
ui->bmTextBrowser->clear();
|
2021-04-11 10:29:15 -04:00
|
|
|
QStringList lines = t.split( "\n", SkipEmptyParts );
|
2012-05-22 13:09:48 -04:00
|
|
|
int nrows=(lines.length()+ncols-1)/ncols;
|
|
|
|
|
|
|
|
for(int i=0; i<nrows; i++) {
|
|
|
|
tfreq=lines[i].mid(0,3);
|
|
|
|
tspace=lines[i].mid(4,1);
|
|
|
|
if(tspace==" ") tspace=bg;
|
|
|
|
tcall=lines[i].mid(5,7);
|
|
|
|
int n=lines[i].mid(13,1).toInt();
|
|
|
|
if(n==0) t0 += s0;
|
|
|
|
if(n==1) t0 += s1;
|
|
|
|
if(n==2) t0 += s2;
|
|
|
|
if(n>=3) t0 += s3;
|
|
|
|
t0 += (tfreq + tspace + tcall + "</span><br>\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
if(ncols==2) { //2-column display
|
|
|
|
t0 += "<td><br><td>\n";
|
|
|
|
for(int i=nrows; i<lines.length(); i++) {
|
|
|
|
tfreq=lines[i].mid(0,3);
|
|
|
|
tspace=lines[i].mid(4,1);
|
|
|
|
if(tspace==" ") tspace=bg;
|
|
|
|
tcall=lines[i].mid(5,7);
|
|
|
|
int n=lines[i].mid(13,1).toInt();
|
|
|
|
if(n==0) t0 += s0;
|
|
|
|
if(n==1) t0 += s1;
|
|
|
|
if(n==2) t0 += s2;
|
|
|
|
if(n>=3) t0 += s3;
|
|
|
|
t0 += (tfreq + tspace + tcall + "</span><br>\n");
|
|
|
|
}
|
|
|
|
if(2*nrows>lines.length()) t0 += (s0 + "</span><br>\n");
|
|
|
|
}
|
|
|
|
ui->bmTextBrowser->setHtml(t0);
|
|
|
|
}
|
|
|
|
|
|
|
|
void BandMap::resizeEvent(QResizeEvent* )
|
|
|
|
{
|
|
|
|
setText(m_bandMapText);
|
|
|
|
}
|
|
|
|
|
|
|
|
void BandMap::setColors(QString t)
|
|
|
|
{
|
|
|
|
m_colorBackground = "#"+t.mid(0,6);
|
|
|
|
m_color0 = "#"+t.mid(6,6);
|
|
|
|
m_color1 = "#"+t.mid(12,6);
|
|
|
|
m_color2 = "#"+t.mid(18,6);
|
|
|
|
m_color3 = "#"+t.mid(24,6);
|
|
|
|
setText(m_bandMapText);
|
|
|
|
}
|