168 lines
4.0 KiB
C++
168 lines
4.0 KiB
C++
#include "kzstarget.h"
|
|
#include "ui_kzstarget.h"
|
|
|
|
kzsTarget::kzsTarget(QWidget *parent) :
|
|
QDialog(parent),
|
|
ui(new Ui::kzsTarget)
|
|
{
|
|
ui->setupUi(this);
|
|
|
|
|
|
ui->label_4->hide();
|
|
ui->label_5->hide();
|
|
|
|
ui->label_6->setText(QString::fromLocal8Bit("Òðàññà: îò 1 äî 99"));
|
|
|
|
ui->lineEdit->setText("0");
|
|
ui->lineEdit_2->setText("0");
|
|
|
|
|
|
|
|
QTimer *tmr = new QTimer(this);
|
|
connect(tmr, SIGNAL(timeout()), this, SLOT(msTick()));
|
|
tmr->start(500);
|
|
}
|
|
|
|
kzsTarget::~kzsTarget()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void kzsTarget::msTick()
|
|
{
|
|
|
|
|
|
airObj *target = 0;
|
|
groundObj *grO;
|
|
|
|
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));
|
|
}
|
|
}
|
|
|
|
int n_ab = ui->lineEdit->text().toInt();
|
|
|
|
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) 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 kzsTarget::on_pushButton_2_clicked()
|
|
{
|
|
close();
|
|
|
|
((Widget*)parent())->clearOpenWidget();
|
|
}
|
|
|
|
void kzsTarget::on_pushButton_clicked()
|
|
{
|
|
QMessageBox msg(this);
|
|
msg.setWindowTitle(QString::fromLocal8Bit("Îøèáêà"));
|
|
msg.setIcon(QMessageBox::Information);
|
|
msg.addButton(QString::fromLocal8Bit("Äà"),QMessageBox::AcceptRole);
|
|
|
|
int i = ui->lineEdit->text().toInt();
|
|
|
|
int t = ui->lineEdit_2->text().toInt();
|
|
airObj *ao;
|
|
groundObj *go;
|
|
|
|
if ((i>0)&&(i<7))
|
|
{
|
|
go = ((Widget*)parent())->grObj.at(i);
|
|
if (!go->exist)
|
|
{
|
|
msg.setText(QString::fromLocal8Bit("Íå îáíàðóæåíà òî÷êà ñòîÿíèÿ àáîíåíòà %1").arg(i));
|
|
msg.exec();
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
if ((t<1)||(t>99))
|
|
{
|
|
msg.setText(QString::fromLocal8Bit("Íîìåð òðàññû äîëæåí áûòü îò 1 äî 99"));
|
|
msg.exec();
|
|
}
|
|
else
|
|
{
|
|
ao = ((Widget*)parent())->targets[t-1];
|
|
if (!ao->exist)
|
|
{
|
|
msg.setText(QString::fromLocal8Bit("Òðàññà %1 íå ñóùåñòâóåò").arg(t));
|
|
msg.exec();
|
|
}
|
|
else
|
|
{
|
|
go->removeCU(ao->uid);
|
|
ao->setKZS(i);
|
|
((Widget*)parent())->sendCU(i, 33, ao->uid);
|
|
((Widget*)parent())->clearOpenWidget();
|
|
close();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
msg.setText(QString::fromLocal8Bit("Íîìåð àáîíåíòà äîëæåí áûòü îò 1 äî 6"));
|
|
msg.exec();
|
|
|
|
}
|
|
}
|