mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@2464 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "bandmap.h"
 | |
| #include "ui_bandmap.h"
 | |
| #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();
 | |
|   QStringList lines = t.split( "\n", QString::SkipEmptyParts );
 | |
|   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);
 | |
| }
 |