TxFreq tracks fQSO unless CTRL is held down.

Red marker for TxFreq.
Max Tol = 500.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2763 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor
2012-11-23 16:05:50 +00:00
parent 35fe0a92c2
commit 7a43d28e68
7 changed files with 67 additions and 23 deletions
+19 -4
View File
@@ -33,6 +33,7 @@ CPlotter::CPlotter(QWidget *parent) : //CPlotter Constructor
m_nsps=6912;
m_dBStepSize=10;
m_Percent2DScreen = 30; //percent of screen used for 2D display
m_txFreq=0;
}
CPlotter::~CPlotter() { } // Destructor
@@ -136,8 +137,6 @@ void CPlotter::draw(float swide[], float red[], int i0) //draw()
if(!strong0) painter2D.setPen(Qt::green);
}
LineBuf[j].setX(i);
// y2 = m_h*float(i)/m_w;
// if(m_line==10) qDebug() << i << FreqfromX(i) << m_h << y2 << m_h-y2;
LineBuf[j].setY(m_h-(y2+0.8*m_h));
j++;
}
@@ -285,13 +284,20 @@ void CPlotter::DrawOverlay() //DrawOverlay()
QPen pen0(Qt::green, 3); //Mark QSO Freq with green tick
painter0.setPen(pen0);
x = m_xClick;
painter0.drawLine(x,15,x,30);
x=XfromFreq(m_fQSO);
painter0.drawLine(x,17,x,30);
int x1=x - m_tol/df;
int x2=x + m_tol/df;
pen0.setWidth(6);
painter0.drawLine(x1,28,x2,28);
QPen pen1(Qt::red, 3); //Mark TxFreq with red tick
painter0.setPen(pen1);
x = XfromFreq(m_txFreq);
painter0.drawLine(x,0,x,13);
painter0.drawLine(x,13,x-2,11);
painter0.drawLine(x,13,x+2,11);
/*
df = 12000.0/m_nsps;
int nlabs=df*w/m_freqPerDiv + 1.0;
@@ -421,6 +427,8 @@ void CPlotter::mousePressEvent(QMouseEvent *event) //mousePressEvent
{
int x=event->x();
setFQSO(x,false); // Wideband waterfall
bool ctrl = (event->modifiers() & 0x4000000);
if(!ctrl) setTxFreq(m_fQSO);
}
void CPlotter::mouseDoubleClickEvent(QMouseEvent *event) //mouse2click
@@ -560,3 +568,10 @@ void CPlotter::setNsps(int ntrperiod, int nsps)
DrawOverlay(); //Redraw scales and ticks
update(); //trigger a new paintEvent}
}
void CPlotter::setTxFreq(int n) //setTol()
{
m_txFreq=n;
DrawOverlay();
update();
}