157 lines
2.4 KiB
C++
157 lines
2.4 KiB
C++
#include "upravline.h"
|
|
|
|
upravLine::upravLine()
|
|
{
|
|
|
|
pic = QImage();
|
|
targetNum = -1;
|
|
tar = 0;
|
|
|
|
}
|
|
|
|
|
|
QRectF upravLine::boundingRect() const
|
|
{
|
|
return QRectF(0, 0, 360, 45);
|
|
}
|
|
|
|
void upravLine::setTarget(airObj *t)
|
|
{
|
|
tar = t;
|
|
setPic(tar->pic, tar->picAlt);
|
|
setNum(tar->numer);
|
|
|
|
}
|
|
|
|
void upravLine::clear()
|
|
{
|
|
|
|
pic = QImage();
|
|
picAlt = QImage();
|
|
targetNum = -1;
|
|
|
|
}
|
|
|
|
void upravLine::setPic(QImage im, QImage im1)
|
|
{
|
|
prepareGeometryChange();
|
|
pic = im;
|
|
picAlt = im1;
|
|
}
|
|
|
|
|
|
void upravLine::setNum(int i)
|
|
{
|
|
if (i!=targetNum)
|
|
{
|
|
prepareGeometryChange();
|
|
targetNum=i;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void upravLine::paint(QPainter *p, const QStyleOptionGraphicsItem *option, QWidget *widget)
|
|
|
|
{
|
|
QBrush br;
|
|
QRectF r(6,10,20,20);
|
|
p->drawImage(r, pic);
|
|
|
|
p->save();
|
|
p->setPen(Qt::darkGray);
|
|
if (tar->priznakAction)
|
|
{
|
|
p->setPen(tar->priznakColor);
|
|
}
|
|
p->drawRect(r);
|
|
p->restore();
|
|
|
|
|
|
QPointF pf = r.topRight();
|
|
pf+=QPointF(4, 7);
|
|
p->setPen(tar->col);
|
|
QFont f = p->font();
|
|
f.setPixelSize(12);
|
|
p->setFont(f);
|
|
p->drawText(pf, QString::number(tar->numer+1));
|
|
|
|
r = QRectF(30, 20, 10,10);
|
|
p->drawImage(r, picAlt);
|
|
|
|
|
|
|
|
|
|
|
|
for (int i=0; i<6;i++)
|
|
{
|
|
pf = QPointF(69+45*i+5,25);
|
|
if (tar->CU[i+1]==1)//drawY
|
|
{
|
|
|
|
|
|
p->setPen(Qt::green);
|
|
f.setPixelSize(20);
|
|
p->setFont(f);
|
|
p->drawText(pf, "Y");
|
|
|
|
}
|
|
if (tar->CU[i+1]==2)//drawZ
|
|
{
|
|
|
|
p->setPen(Qt::red);
|
|
f.setPixelSize(20);
|
|
p->setFont(f);
|
|
|
|
|
|
p->drawText(pf, "Z");
|
|
|
|
|
|
}
|
|
|
|
|
|
if (tar->CU[i+1]==21)//drawY_invert
|
|
{
|
|
|
|
br = p->brush();
|
|
br.setStyle(Qt::SolidPattern);
|
|
br.setColor(Qt::green);
|
|
p->setBrush(br);
|
|
p->setPen(Qt::green);
|
|
p->drawRect(pf.x(),pf.y()-18, 16,18);
|
|
p->setPen(Qt::black);
|
|
f.setPixelSize(20);
|
|
p->setFont(f);
|
|
|
|
|
|
p->drawText(pf, "Y");
|
|
|
|
}
|
|
|
|
|
|
if (tar->CU[i+1]==22) //drawZ_invert
|
|
{
|
|
|
|
br = p->brush();
|
|
br.setStyle(Qt::SolidPattern);
|
|
br.setColor(Qt::red);
|
|
p->setBrush(br);
|
|
p->setPen(Qt::red);
|
|
p->drawRect(pf.x(),pf.y()-18, 16,18);
|
|
p->setPen(Qt::black);
|
|
f.setPixelSize(20);
|
|
p->setFont(f);
|
|
|
|
|
|
p->drawText(pf, "Z");
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|