MRU1/kzstarget.cpp
2025-07-02 08:18:27 +03:00

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();
}
}