142 lines
3.3 KiB
C++
142 lines
3.3 KiB
C++
#include "killtarget.h"
|
|
#include "ui_killtarget.h"
|
|
|
|
killTarget::killTarget(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::killTarget)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
|
|
ui->label_4->hide();
|
|
ui->label_5->hide();
|
|
|
|
ui->label_6->setText(QString::fromLocal8Bit("Òðàññà: îò 1 äî 255"));
|
|
|
|
ui->lineEdit->setText("0");
|
|
ui->lineEdit_2->setText("0");
|
|
|
|
|
|
|
|
QTimer *tmr = new QTimer(this);
|
|
connect(tmr, SIGNAL(timeout()), this, SLOT(msTick()));
|
|
tmr->start(500);
|
|
}
|
|
|
|
killTarget::~killTarget()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void killTarget::msTick()
|
|
{
|
|
|
|
|
|
airObj *target=0;
|
|
groundObj *grO=0;
|
|
int n_ab = ui->lineEdit->text().toInt();
|
|
int n_tr = ui->lineEdit_2->text().toInt();
|
|
if ((n_tr<1)||(n_tr>99))
|
|
{
|
|
ui->label_4->hide();
|
|
ui->label_5->hide();
|
|
ui->label_6->setText(QString::fromLocal8Bit("Òðàññà: îò 1 äî 99"));
|
|
}
|
|
else
|
|
{
|
|
target = ((Widget*)parent())->targets.at(n_tr-1);
|
|
if (target->exist == false)
|
|
{
|
|
ui->label_4->hide();
|
|
ui->label_5->hide();
|
|
ui->label_6->setText(QString::fromLocal8Bit("Òðàññà %1 íå ñóùåñòâóåò").arg(n_tr));
|
|
}
|
|
|
|
|
|
|
|
if ((n_ab<0)||(n_ab>6))
|
|
{
|
|
|
|
ui->label_4->hide();
|
|
ui->label_5->hide();
|
|
ui->label_6->setText(QString::fromLocal8Bit("Íîìåð àáîíåíòà îò 0 äî 6"));
|
|
}
|
|
else
|
|
{
|
|
grO = ((Widget*)parent())->grObj.at(n_ab);
|
|
if (grO->exist==false)
|
|
{
|
|
ui->label_4->hide();
|
|
ui->label_5->hide();
|
|
ui->label_6->setText(QString::fromLocal8Bit("Íåò òî÷êè ñòîÿíèÿ àáîíåíòà %1").arg(n_ab));
|
|
|
|
}
|
|
else
|
|
{
|
|
if (target->exist)
|
|
{
|
|
|
|
QPointF pt = target->getPos();
|
|
QPointF p0 = grO->getPos();
|
|
QLineF lf = QLineF(p0,pt);
|
|
qreal dist = lf.length()/10;
|
|
|
|
qreal azim = 90-lf.angle();
|
|
if (azim<0) azim+=360;
|
|
|
|
int du = azim/6;
|
|
QString s;
|
|
ui->label_4->setText(QString::fromLocal8Bit("%1 ÄÓ").arg(du));
|
|
ui->label_4->show();
|
|
s.setNum(azim, 'f', 0);
|
|
s.append("°");
|
|
ui->label_5->setText(s);
|
|
ui->label_5->show();
|
|
s.setNum(dist, 'f', 1);
|
|
s.prepend(QString::fromLocal8Bit("Àçèìóò: Äàëüíîñòü: "));
|
|
ui->label_6->setText(s);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
void killTarget::on_pushButton_2_clicked()
|
|
{
|
|
close();
|
|
|
|
((Widget*)parent())->clearOpenWidget();
|
|
}
|
|
|
|
void killTarget::on_pushButton_clicked()
|
|
{
|
|
int grNum = ui->lineEdit->text().toInt(); // àáîíåíò
|
|
|
|
int tarNum = ui->lineEdit_2->text().toInt(); // íîìåð òðàññû
|
|
airObj *ao, *ao_temp;
|
|
|
|
|
|
|
|
ao = ((Widget*)parent())->targets[tarNum-1];
|
|
|
|
ao->setCU(grNum);
|
|
|
|
((Widget*)parent())->sendCU(grNum, 11, ao->uid);
|
|
|
|
int ret = ((Widget*)parent())->grObj[grNum]->addCU(ao->uid);
|
|
if (ret>=0)
|
|
{
|
|
foreach (ao_temp, ((Widget*)parent())->targets)
|
|
if (ao_temp->uid == ret) ao_temp->clearCU(grNum);
|
|
|
|
}
|
|
|
|
close();
|
|
((Widget*)parent())->clearOpenWidget();
|
|
|
|
}
|