From 1fee25a38ce84a910b369151a4a2324393360a26 Mon Sep 17 00:00:00 2001 From: Vorpal Date: Wed, 2 Jul 2025 07:45:34 +0300 Subject: [PATCH] Init --- Sh3.pro | 120 ++ checkboxmod.cpp | 31 + checkboxmod.h | 25 + comboboxmod.cpp | 32 + comboboxmod.h | 23 + errorsza.cpp | 104 ++ errorsza.h | 32 + errorsza.ui | 395 +++++ gag.cpp | 67 + gag.h | 28 + gag.ui | 262 ++++ geo.h | 42 + geotogk.cpp | 94 ++ geotogk.h | 31 + geotogk.ui | 395 +++++ gktogeo.cpp | 119 ++ gktogeo.h | 30 + gktogeo.ui | 395 +++++ gktogk.cpp | 129 ++ gktogk.h | 30 + gktogk.ui | 317 ++++ grairobject.cpp | 253 ++++ grairobject.h | 69 + graphicsarcitem.cpp | 93 ++ graphicsarcitem.h | 48 + graphicscrossitem.cpp | 73 + graphicscrossitem.h | 39 + graphicslineitem.cpp | 239 +++ graphicslineitem.h | 68 + graphicsviewmod.cpp | 129 ++ graphicsviewmod.h | 28 + main.cpp | 68 + menubarmod.cpp | 38 + menubarmod.h | 24 + meteosred.cpp | 73 + meteosred.h | 31 + meteosred.ui | 146 ++ nastrel.cpp | 42 + nastrel.h | 29 + nastrel.ui | 88 ++ ownadr.cpp | 33 + ownadr.h | 28 + ownadr.ui | 91 ++ pics.qrc | 21 + pics/loading.png | Bin 0 -> 512740 bytes pics/type_0e.xpm | 21 + pics/type_0o.xpm | 21 + pics/type_10e.xpm | 21 + pics/type_10o.xpm | 21 + pics/type_11e.xpm | 21 + pics/type_11o.xpm | 21 + pics/type_1e.xpm | 21 + pics/type_1o.xpm | 21 + pics/type_6e.xpm | 21 + pics/type_6o.xpm | 21 + pics/type_7e.xpm | 21 + pics/type_7o.xpm | 21 + pics/type_8e.xpm | 21 + pics/type_8o.xpm | 21 + pushbuttonmod.cpp | 51 + pushbuttonmod.h | 31 + settings.txt | 22 + showcrc.cpp | 28 + showcrc.h | 26 + showcrc.ui | 52 + table2z.cpp | 51 + table2z.h | 26 + table2z.qrc | 5 + table2z.ui | 73 + table2z/text.txt | 100 ++ tempzar.cpp | 38 + tempzar.h | 29 + tempzar.ui | 104 ++ texit.cpp | 37 + texit.h | 27 + texit.ui | 65 + vvod2z.cpp | 52 + vvod2z.h | 38 + vvod2z.ui | 221 +++ vvodautozadef.cpp | 37 + vvodautozadef.h | 28 + vvodautozadef.ui | 122 ++ vvodbk.cpp | 59 + vvodbk.h | 33 + vvodbk.ui | 147 ++ vvoddko.cpp | 37 + vvoddko.h | 28 + vvoddko.ui | 208 +++ vvodkcu.cpp | 39 + vvodkcu.h | 28 + vvodkcu.ui | 91 ++ vvodma.cpp | 54 + vvodma.h | 30 + vvodma.ui | 251 ++++ vvodms.cpp | 244 +++ vvodms.h | 32 + vvodms.ui | 1069 +++++++++++++ vvodready.cpp | 36 + vvodready.h | 28 + vvodready.ui | 96 ++ vvodreper.cpp | 50 + vvodreper.h | 30 + vvodreper.ui | 239 +++ vvodsectazim.cpp | 72 + vvodsectazim.h | 32 + vvodsectazim.ui | 244 +++ vvodsectotvet.cpp | 62 + vvodsectotvet.h | 28 + vvodsectotvet.ui | 220 +++ vvodsectugol.cpp | 77 + vvodsectugol.h | 31 + vvodsectugol.ui | 244 +++ vvodts.cpp | 48 + vvodts.h | 31 + vvodts.ui | 239 +++ widget.cpp | 3309 +++++++++++++++++++++++++++++++++++++++++ widget.h | 431 ++++++ widget.ui | 2301 ++++++++++++++++++++++++++++ zerkus.cpp | 55 + zerkus.h | 29 + zerkus.ui | 134 ++ 121 files changed, 16425 insertions(+) create mode 100644 Sh3.pro create mode 100644 checkboxmod.cpp create mode 100644 checkboxmod.h create mode 100644 comboboxmod.cpp create mode 100644 comboboxmod.h create mode 100644 errorsza.cpp create mode 100644 errorsza.h create mode 100644 errorsza.ui create mode 100644 gag.cpp create mode 100644 gag.h create mode 100644 gag.ui create mode 100644 geo.h create mode 100644 geotogk.cpp create mode 100644 geotogk.h create mode 100644 geotogk.ui create mode 100644 gktogeo.cpp create mode 100644 gktogeo.h create mode 100644 gktogeo.ui create mode 100644 gktogk.cpp create mode 100644 gktogk.h create mode 100644 gktogk.ui create mode 100644 grairobject.cpp create mode 100644 grairobject.h create mode 100644 graphicsarcitem.cpp create mode 100644 graphicsarcitem.h create mode 100644 graphicscrossitem.cpp create mode 100644 graphicscrossitem.h create mode 100644 graphicslineitem.cpp create mode 100644 graphicslineitem.h create mode 100644 graphicsviewmod.cpp create mode 100644 graphicsviewmod.h create mode 100644 main.cpp create mode 100644 menubarmod.cpp create mode 100644 menubarmod.h create mode 100644 meteosred.cpp create mode 100644 meteosred.h create mode 100644 meteosred.ui create mode 100644 nastrel.cpp create mode 100644 nastrel.h create mode 100644 nastrel.ui create mode 100644 ownadr.cpp create mode 100644 ownadr.h create mode 100644 ownadr.ui create mode 100644 pics.qrc create mode 100644 pics/loading.png create mode 100644 pics/type_0e.xpm create mode 100644 pics/type_0o.xpm create mode 100644 pics/type_10e.xpm create mode 100644 pics/type_10o.xpm create mode 100644 pics/type_11e.xpm create mode 100644 pics/type_11o.xpm create mode 100644 pics/type_1e.xpm create mode 100644 pics/type_1o.xpm create mode 100644 pics/type_6e.xpm create mode 100644 pics/type_6o.xpm create mode 100644 pics/type_7e.xpm create mode 100644 pics/type_7o.xpm create mode 100644 pics/type_8e.xpm create mode 100644 pics/type_8o.xpm create mode 100644 pushbuttonmod.cpp create mode 100644 pushbuttonmod.h create mode 100644 settings.txt create mode 100644 showcrc.cpp create mode 100644 showcrc.h create mode 100644 showcrc.ui create mode 100644 table2z.cpp create mode 100644 table2z.h create mode 100644 table2z.qrc create mode 100644 table2z.ui create mode 100644 table2z/text.txt create mode 100644 tempzar.cpp create mode 100644 tempzar.h create mode 100644 tempzar.ui create mode 100644 texit.cpp create mode 100644 texit.h create mode 100644 texit.ui create mode 100644 vvod2z.cpp create mode 100644 vvod2z.h create mode 100644 vvod2z.ui create mode 100644 vvodautozadef.cpp create mode 100644 vvodautozadef.h create mode 100644 vvodautozadef.ui create mode 100644 vvodbk.cpp create mode 100644 vvodbk.h create mode 100644 vvodbk.ui create mode 100644 vvoddko.cpp create mode 100644 vvoddko.h create mode 100644 vvoddko.ui create mode 100644 vvodkcu.cpp create mode 100644 vvodkcu.h create mode 100644 vvodkcu.ui create mode 100644 vvodma.cpp create mode 100644 vvodma.h create mode 100644 vvodma.ui create mode 100644 vvodms.cpp create mode 100644 vvodms.h create mode 100644 vvodms.ui create mode 100644 vvodready.cpp create mode 100644 vvodready.h create mode 100644 vvodready.ui create mode 100644 vvodreper.cpp create mode 100644 vvodreper.h create mode 100644 vvodreper.ui create mode 100644 vvodsectazim.cpp create mode 100644 vvodsectazim.h create mode 100644 vvodsectazim.ui create mode 100644 vvodsectotvet.cpp create mode 100644 vvodsectotvet.h create mode 100644 vvodsectotvet.ui create mode 100644 vvodsectugol.cpp create mode 100644 vvodsectugol.h create mode 100644 vvodsectugol.ui create mode 100644 vvodts.cpp create mode 100644 vvodts.h create mode 100644 vvodts.ui create mode 100644 widget.cpp create mode 100644 widget.h create mode 100644 widget.ui create mode 100644 zerkus.cpp create mode 100644 zerkus.h create mode 100644 zerkus.ui diff --git a/Sh3.pro b/Sh3.pro new file mode 100644 index 0000000..762cf49 --- /dev/null +++ b/Sh3.pro @@ -0,0 +1,120 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2016-08-31T18:05:21 +# +#------------------------------------------------- + +QT += core gui network + +TARGET = Sh3 +TEMPLATE = app + + +SOURCES += main.cpp\ + widget.cpp \ + zerkus.cpp \ + vvodts.cpp \ + vvodsectugol.cpp \ + vvodsectotvet.cpp \ + vvodsectazim.cpp \ + vvodreper.cpp \ + vvodready.cpp \ + vvodms.cpp \ + vvodma.cpp \ + vvodkcu.cpp \ + vvoddko.cpp \ + vvodbk.cpp \ + vvodautozadef.cpp \ + texit.cpp \ + tempzar.cpp \ + showcrc.cpp \ + pushbuttonmod.cpp \ + ownadr.cpp \ + nastrel.cpp \ + meteosred.cpp \ + menubarmod.cpp \ + graphicsviewmod.cpp \ + graphicslineitem.cpp \ + graphicsarcitem.cpp \ + gktogk.cpp \ + gktogeo.cpp \ + geotogk.cpp \ + gag.cpp \ + errorsza.cpp \ + comboboxmod.cpp \ + checkboxmod.cpp \ + grairobject.cpp \ + vvod2z.cpp \ + table2z.cpp + +HEADERS += widget.h \ + zerkus.h \ + vvodts.h \ + vvodsectugol.h \ + vvodsectotvet.h \ + vvodsectazim.h \ + vvodreper.h \ + vvodready.h \ + vvodms.h \ + vvodma.h \ + vvodkcu.h \ + vvoddko.h \ + vvodbk.h \ + vvodautozadef.h \ + texit.h \ + tempzar.h \ + showcrc.h \ + pushbuttonmod.h \ + ownadr.h \ + nastrel.h \ + meteosred.h \ + menubarmod.h \ + graphicsviewmod.h \ + graphicslineitem.h \ + graphicsarcitem.h \ + gktogk.h \ + gktogeo.h \ + geotogk.h \ + geo.h \ + gag.h \ + errorsza.h \ + comboboxmod.h \ + checkboxmod.h \ + grairobject.h \ + vvod2z.h \ + table2z.h + +FORMS += widget.ui \ + zerkus.ui \ + vvodts.ui \ + vvodsectugol.ui \ + vvodsectotvet.ui \ + vvodsectazim.ui \ + vvodreper.ui \ + vvodready.ui \ + vvodms.ui \ + vvodma.ui \ + vvodkcu.ui \ + vvoddko.ui \ + vvodbk.ui \ + vvodautozadef.ui \ + texit.ui \ + tempzar.ui \ + showcrc.ui \ + ownadr.ui \ + nastrel.ui \ + meteosred.ui \ + gktogk.ui \ + gktogeo.ui \ + geotogk.ui \ + gag.ui \ + errorsza.ui \ + vvod2z.ui \ + table2z.ui + +OTHER_FILES += \ + Sh3.pro + +RESOURCES += \ + pics.qrc \ + table2z.qrc diff --git a/checkboxmod.cpp b/checkboxmod.cpp new file mode 100644 index 0000000..e97f2c4 --- /dev/null +++ b/checkboxmod.cpp @@ -0,0 +1,31 @@ +#include "checkboxmod.h" +#include + +checkboxmod::checkboxmod(QWidget *parent) : + QCheckBox(parent) +{ + F11disabled = false; +} + +void checkboxmod::keyPressEvent(QKeyEvent *e) +{ + + int c = e->key(); + + if ((c==Qt::Key_F11)&& !F11disabled) + { + this->animateClick(); + } + + QCheckBox::keyPressEvent(e); +} + +bool checkboxmod::isF11disabled() +{ + return F11disabled; +} + +void checkboxmod::setF11disabled(bool fl) +{ + F11disabled = fl; +} diff --git a/checkboxmod.h b/checkboxmod.h new file mode 100644 index 0000000..348aade --- /dev/null +++ b/checkboxmod.h @@ -0,0 +1,25 @@ +#ifndef CHECKBOXMOD_H +#define CHECKBOXMOD_H + +#include + +class checkboxmod : public QCheckBox +{ + Q_OBJECT +public: + explicit checkboxmod(QWidget *parent = 0); + bool isF11disabled(); + void setF11disabled(bool fl); + int uid; + +signals: + void activate1(int); +public slots: + +private: + virtual void keyPressEvent(QKeyEvent *e); + bool F11disabled; + +}; + +#endif // CHECKBOXMOD_H diff --git a/comboboxmod.cpp b/comboboxmod.cpp new file mode 100644 index 0000000..3f10f21 --- /dev/null +++ b/comboboxmod.cpp @@ -0,0 +1,32 @@ +#include "comboboxmod.h" + +comboboxmod::comboboxmod(QWidget *parent) : + QComboBox(parent) +{ + uid =0; +} + +void comboboxmod::keyPressEvent(QKeyEvent *e) +{ + int c=e->key(); + bool fl = true; + + if (e->modifiers() & Qt::AltModifier) + { + switch (c) { + case 0x31: + case 0x32: + emit activate1(c); + fl = false; + break; + default: + break; + } + + } + + if ((uid==0x32)&&(c==Qt::Key_Right)) fl = false; + if ((uid==0x32)&&(c==Qt::Key_Tab)) fl = false; + + if (fl) QComboBox::keyPressEvent(e); +} diff --git a/comboboxmod.h b/comboboxmod.h new file mode 100644 index 0000000..5db875e --- /dev/null +++ b/comboboxmod.h @@ -0,0 +1,23 @@ +#ifndef COMBOBOXMOD_H +#define COMBOBOXMOD_H + +#include +#include + +class comboboxmod : public QComboBox +{ + Q_OBJECT +public: + explicit comboboxmod(QWidget *parent = 0); + int uid; +signals: + void activate1(int); +public slots: + + +private: + virtual void keyPressEvent(QKeyEvent *e); + +}; + +#endif // COMBOBOXMOD_H diff --git a/errorsza.cpp b/errorsza.cpp new file mode 100644 index 0000000..eb1a643 --- /dev/null +++ b/errorsza.cpp @@ -0,0 +1,104 @@ +#include "errorsza.h" +#include "ui_errorsza.h" + +errorsZA::errorsZA(QWidget *parent) : + QDialog(parent), + ui(new Ui::errorsZA) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + int i=0; + for (i=0;i<9;i++) + { + errZAhor[i] = (((Widget*)parent)->errZAgor[i]); + } + for (i=0; i<7; i++) + { + errZAver[i] = (((Widget*)parent)->errZAver[i]); + } + errZAdB = ((Widget*)parent)->errZAdB; + + ui->lineEdit->setText(QString::number(errZAhor[0])); + ui->lineEdit_2->setText(QString::number(errZAhor[1])); + ui->lineEdit_3->setText(QString::number(errZAhor[2])); + ui->lineEdit_4->setText(QString::number(errZAhor[3])); + ui->lineEdit_5->setText(QString::number(errZAhor[4])); + ui->lineEdit_6->setText(QString::number(errZAhor[5])); + ui->lineEdit_7->setText(QString::number(errZAhor[6])); + ui->lineEdit_8->setText(QString::number(errZAhor[7])); + ui->lineEdit_9->setText(QString::number(errZAhor[8])); + + ui->lineEdit_10->setText(QString::number(errZAver[0])); + ui->lineEdit_11->setText(QString::number(errZAver[1])); + ui->lineEdit_12->setText(QString::number(errZAver[2])); + ui->lineEdit_13->setText(QString::number(errZAver[3])); + ui->lineEdit_14->setText(QString::number(errZAver[4])); + ui->lineEdit_15->setText(QString::number(errZAver[5])); + ui->lineEdit_16->setText(QString::number(errZAver[6])); + + int du = errZAdB / 100; + ui->lineEdit_17->setText(QString::number(du)); + du = errZAdB % 100; + ui->lineEdit_18->setText(QString::number(du)); + +} + +errorsZA::~errorsZA() +{ + delete ui; +} + +void errorsZA::on_pushButton_2_clicked() +{ + + close(); +} + +void errorsZA::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void errorsZA::on_pushButton_clicked() +{ + int i; + + errZAhor[0] = ui->lineEdit->text().toInt(); + errZAhor[1] = ui->lineEdit_2->text().toInt(); + errZAhor[2] = ui->lineEdit_3->text().toInt(); + errZAhor[3] = ui->lineEdit_4->text().toInt(); + errZAhor[4] = ui->lineEdit_5->text().toInt(); + errZAhor[5] = ui->lineEdit_6->text().toInt(); + errZAhor[6] = ui->lineEdit_7->text().toInt(); + errZAhor[7] = ui->lineEdit_8->text().toInt(); + errZAhor[8] = ui->lineEdit_9->text().toInt(); + + errZAver[0] = ui->lineEdit_10->text().toInt(); + errZAver[1] = ui->lineEdit_11->text().toInt(); + errZAver[2] = ui->lineEdit_12->text().toInt(); + errZAver[3] = ui->lineEdit_13->text().toInt(); + errZAver[4] = ui->lineEdit_14->text().toInt(); + errZAver[5] = ui->lineEdit_15->text().toInt(); + errZAver[6] = ui->lineEdit_16->text().toInt(); + + errZAdB = ui->lineEdit_17->text().toInt()*100 + ui->lineEdit_18->text().toInt(); + + + ((Widget*)parent())->errZAdB = errZAdB; + + for (i=0; i<9; i++) + { + ((Widget*)parent())->errZAgor[i] = errZAhor[i]; + } + for (i=0;i<7;i++) + { + ((Widget*)parent())->errZAver[i] = errZAver[i]; + } + + ((Widget*)parent())->writeFile(); + close(); +} diff --git a/errorsza.h b/errorsza.h new file mode 100644 index 0000000..505f112 --- /dev/null +++ b/errorsza.h @@ -0,0 +1,32 @@ +#ifndef ERRORSZA_H +#define ERRORSZA_H + +#include +#include "widget.h" + +namespace Ui { +class errorsZA; +} + +class errorsZA : public QDialog +{ + Q_OBJECT + +public: + explicit errorsZA(QWidget *parent = 0); + ~errorsZA(); + +private slots: + void on_pushButton_2_clicked(); + + void on_pushButton_clicked(); + +private: + void closeEvent(QCloseEvent *event); + Ui::errorsZA *ui; + int errZAhor[9]; + int errZAver[7]; + int errZAdB; +}; + +#endif // ERRORSZA_H diff --git a/errorsza.ui b/errorsza.ui new file mode 100644 index 0000000..ef681e5 --- /dev/null +++ b/errorsza.ui @@ -0,0 +1,395 @@ + + + errorsZA + + + + 0 + 0 + 322 + 363 + + + + Ввод ошибки ЗА + + + + + 20 + 20 + 141 + 291 + + + + Ошибка Δ Q (мин.) + + + + + 0 + 40 + 111 + 231 + + + + + QFormLayout::AllNonFixedFieldsGrow + + + 23 + + + + + + + + Qt::AlignCenter + + + + + + + 0 + + + + + + + 45° + + + + + + + 0 + + + + + + + 90° + + + + + + + 135° + + + + + + + 180° + + + + + + + 225° + + + + + + + 270° + + + + + + + 315° + + + + + + + 360° + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + + + + 170 + 20 + 131 + 221 + + + + Ошибка Δ Ф (мин.) + + + + + 0 + 40 + 101 + 181 + + + + + QFormLayout::AllNonFixedFieldsGrow + + + 23 + + + + + -5° + + + Qt::AlignCenter + + + + + + + 0 + + + + + + + 10° + + + + + + + 0 + + + + + + + 25° + + + + + + + 0 + + + + + + + 40° + + + + + + + 0 + + + + + + + 55° + + + + + + + 0 + + + + + + + 70° + + + + + + + 0 + + + + + + + 85° + + + + + + + 0 + + + + + + + + + + 170 + 250 + 131 + 61 + + + + Поправка Δ β + + + + + 10 + 20 + 31 + 20 + + + + + + + 70 + 20 + 31 + 20 + + + + + + + 50 + 20 + 16 + 16 + + + + + 12 + + + + - + + + + + + + 70 + 320 + 75 + 23 + + + + Ввод + + + + + + 200 + 320 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+
+ + +
diff --git a/gag.cpp b/gag.cpp new file mode 100644 index 0000000..b57fcec --- /dev/null +++ b/gag.cpp @@ -0,0 +1,67 @@ +#include "gag.h" +#include "ui_gag.h" + +GAG::GAG(QWidget *parent) : + QDialog(parent), + ui(new Ui::GAG) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + Widget *w = (Widget*)parent; + w->changeOpenWidget(this); + + + ui->comboBox->setCurrentIndex(w->rezhimGAG); + ui->lineEdit->setText(QString::number(w->GAGdu)); + ui->lineEdit_2->setText(QString::number(w->GAGmdu)); + ui->lineEdit_3->setText(QString::number(w->GAGdu0)); + ui->lineEdit_4->setText(QString::number(w->GAGmdu0)); + + + +} + +GAG::~GAG() +{ + delete ui; +} + +void GAG::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void GAG::on_pushButton_2_clicked() +{ + close(); +} + +void GAG::on_pushButton_clicked() +{ + Widget *w = (Widget*)parent(); + int i = ui->comboBox->currentIndex(); + w->setRezhimGAG(i); + + + if (i!=2) + { + + + w->GAGdu = ui->lineEdit->text().toInt(); + w->GAGmdu = ui->lineEdit_2->text().toInt(); + w->GAGdu0 = ui->lineEdit_3->text().toInt(); + w->GAGmdu0 = ui->lineEdit_4->text().toInt(); + + + } + else + { + w->GAGdu = 0; + w->GAGmdu = 0; + w->GAGdu0 = 0; + w->GAGmdu0 = 0; + } + ((Widget*)parent())->writeFile(); + close(); +} diff --git a/gag.h b/gag.h new file mode 100644 index 0000000..3fbc433 --- /dev/null +++ b/gag.h @@ -0,0 +1,28 @@ +#ifndef GAG_H +#define GAG_H + +#include +#include "widget.h" + +namespace Ui { +class GAG; +} + +class GAG : public QDialog +{ + Q_OBJECT + +public: + explicit GAG(QWidget *parent = 0); + ~GAG(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::GAG *ui; +}; + +#endif // GAG_H diff --git a/gag.ui b/gag.ui new file mode 100644 index 0000000..1862a0d --- /dev/null +++ b/gag.ui @@ -0,0 +1,262 @@ + + + GAG + + + + 0 + 0 + 227 + 207 + + + + Режимы стабилизирования + + + + + 10 + 10 + 211 + 151 + + + + + + + + + 20 + 15 + 81 + 16 + + + + Режим ГАГ + + + + + + 100 + 10 + 91 + 22 + + + + + ГАГдв + + + + + Квв + + + + + 0гаг + + + + + ГАГст + + + + + + + 23 + 59 + 81 + 16 + + + + К исх + + + + + + 20 + 100 + 81 + 16 + + + + гаг + + + + + + 20 + 90 + 46 + 13 + + + + исх + + + + + + 137 + 63 + 46 + 13 + + + + + 12 + + + + - + + + + + + 100 + 60 + 31 + 20 + + + + 0 + + + + + + 150 + 60 + 31 + 20 + + + + 0 + + + + + + 150 + 97 + 31 + 20 + + + + 0 + + + + + + 100 + 97 + 31 + 20 + + + + 0 + + + + + + 137 + 100 + 16 + 16 + + + + + 12 + + + + - + + + + + + 22 + 97 + 46 + 13 + + + + K + + + + + + + 20 + 170 + 75 + 23 + + + + Ввод + + + + + + 130 + 170 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+ + comboboxmod + QComboBox +
comboboxmod.h
+
+
+ + pushButton + pushButton_2 + comboBox + lineEdit + lineEdit_2 + lineEdit_3 + lineEdit_4 + + + +
diff --git a/geo.h b/geo.h new file mode 100644 index 0000000..848a11a --- /dev/null +++ b/geo.h @@ -0,0 +1,42 @@ +#ifndef GEO_H +#define GEO_H + +#include + +struct T_geoPoint +{ + int nZone; + bool south; + int x; + int y; + int h; +}; + +struct T_metAv +{ + int temp; + int wind; + int azim; + int pressure; +}; + +struct T_sectOtv +{ + qreal left; + qreal right; + qreal height; + qreal bottom; +}; + +//struct T_ugolDU +//{ +// int DU; +// int mDU; +//}; + +//T_ugolDU deg_v_DU(qreal deg) +//{ + +//} + +#endif // GEO_H diff --git a/geotogk.cpp b/geotogk.cpp new file mode 100644 index 0000000..46f8df8 --- /dev/null +++ b/geotogk.cpp @@ -0,0 +1,94 @@ +#include "geotogk.h" +#include "ui_geotogk.h" + +GEOtoGK::GEOtoGK(QWidget *parent) : + QDialog(parent), + ui(new Ui::GEOtoGK) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + ((Widget*)parent)->changeOpenWidget(this); +} + +GEOtoGK::~GEOtoGK() +{ + delete ui; +} +void GEOtoGK::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void GEOtoGK::on_pushButton_2_clicked() +{ + close(); +} + +void GEOtoGK::on_pushButton_clicked() +{ + int nZone, b1, b2, b3, l1, l2, l3; + bool south; + + int XL, YL; + + double CA2=5333.5419; + double CA4=4.84339; + double CA6=0.007622; + double A1,A2,A3,B1,B2,B3,C1,C2,C3,D1,D2,D3, + E,EL,FI,L0,TGE,THP,P; + + + + nZone = ui->lineEdit->text().toInt(); + south = ui->checkBox->isChecked(); + b1 = ui->lineEdit_2->text().toInt(); + b2 = ui->lineEdit_3->text().toInt(); + b3 = ui->lineEdit_4->text().toInt(); + l1 = ui->lineEdit_5->text().toInt(); + l2 = ui->lineEdit_6->text().toInt(); + l3 = ui->lineEdit_7->text().toInt(); + + + + // + + + B = (((b3/60)+b2) /60 + b1)/180*M_PI; + if (south) B=-B; + L = (((l3/60)+l2)/60+l1)/180*M_PI; + + L0=double(nZone)*6.0-3.0; + L0=L0*M_PI/180.0; + EL=L-L0; + FI=(2624.0*sin(B)*sin(B)+372834.0)*sin(B)*sin(B); + FI=B-((FI+66934216.0)*sin(B)*cos(B)*0.0000000001); + TGE=tan(FI)/cos(EL); + E=atan(TGE); + THP=cos(FI)*sin(EL); + P=0.5*log((1.0+THP)/(1.0-THP)); + A1=sin(2.0*E); + B1=cos(2.0*E); + C1=sinh(2.0*P); + D1=cosh(2.0*P); + A2=2.0*A1*B1; + B2=1.0-2.0*A1*A1; + C2=2.0*C1*D1; + D2=1.0+2.0*C1*C1; + A3=A1*B2+A2*B1; + B3=B1*B2-A1*A2; + C3=C1*D2+C2*D1; + D3=D1*D2+C1*C2; + + XL = 6367558.497*E+CA2*A1*D1+CA4*A2*D2+CA6*A3*D3; + if (XL<0) XL=-XL; + + YL = 6367558.497*P+CA2*B1*C1+CA4*B2*C2+CA6*B3*C3 + 500000.0; + + ui->lineEdit_8->setText(QString::number(XL)); + ui->lineEdit_9->setText(QString::number(YL)); + + + +} + diff --git a/geotogk.h b/geotogk.h new file mode 100644 index 0000000..a8707a7 --- /dev/null +++ b/geotogk.h @@ -0,0 +1,31 @@ +#ifndef GEOTOGK_H +#define GEOTOGK_H + +#include +#include "widget.h" +#include "geo.h" + +namespace Ui { +class GEOtoGK; +} + +class GEOtoGK : public QDialog +{ + Q_OBJECT + +public: + explicit GEOtoGK(QWidget *parent = 0); + ~GEOtoGK(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + + +private: + Ui::GEOtoGK *ui; + double B, L, l; +}; + +#endif // GEOTOGK_H diff --git a/geotogk.ui b/geotogk.ui new file mode 100644 index 0000000..215029d --- /dev/null +++ b/geotogk.ui @@ -0,0 +1,395 @@ + + + GEOtoGK + + + + 0 + 0 + 269 + 367 + + + + Геодезические в Гаусса-Крюгера + + + + + 10 + 10 + 251 + 241 + + + + + + + + + 20 + 10 + 111 + 16 + + + + Номер зоны + + + + + + 140 + 10 + 51 + 20 + + + + 0 + + + + + + 20 + 37 + 111 + 16 + + + + Южное полушарие + + + + + + 140 + 37 + 70 + 17 + + + + + + + + + + 140 + 60 + 51 + 20 + + + + 0 + + + + + + 20 + 60 + 111 + 16 + + + + В (широта) + + + + + + 210 + 60 + 41 + 20 + + + + град + + + + + + 210 + 90 + 41 + 20 + + + + мин + + + + + + 140 + 90 + 51 + 20 + + + + 0 + + + + + + 210 + 120 + 41 + 20 + + + + сек + + + + + + 140 + 120 + 51 + 20 + + + + 0 + + + + + + 210 + 150 + 41 + 20 + + + + град + + + + + + 140 + 150 + 51 + 20 + + + + 0 + + + + + + 210 + 180 + 41 + 20 + + + + мин + + + + + + 140 + 180 + 51 + 20 + + + + 0 + + + + + + 210 + 210 + 41 + 20 + + + + сек + + + + + + 140 + 210 + 51 + 20 + + + + 0 + + + + + + 20 + 150 + 111 + 16 + + + + L (долгота) + + + + + + + 10 + 250 + 251 + 71 + + + + + + + + + 210 + 10 + 41 + 20 + + + + м + + + + + + 140 + 10 + 51 + 21 + + + + 0 + + + + + + 20 + 10 + 111 + 16 + + + + XL + + + + + + 210 + 40 + 41 + 20 + + + + м + + + + + + 140 + 40 + 51 + 20 + + + + 0 + + + + + + 20 + 40 + 111 + 16 + + + + YL + + + + + + + 20 + 330 + 75 + 23 + + + + Запрос + + + + + + 170 + 330 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+ + checkboxmod + QCheckBox +
checkboxmod.h
+
+
+ + +
diff --git a/gktogeo.cpp b/gktogeo.cpp new file mode 100644 index 0000000..b08d0d1 --- /dev/null +++ b/gktogeo.cpp @@ -0,0 +1,119 @@ +#include "gktogeo.h" +#include "ui_gktogeo.h" + +GKtoGEO::GKtoGEO(QWidget *parent) : + QDialog(parent), + ui(new Ui::GKtoGEO) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); +} + +GKtoGEO::~GKtoGEO() +{ + delete ui; +} + +void GKtoGEO::on_pushButton_2_clicked() +{ + close(); +} + +void GKtoGEO::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void GKtoGEO::on_pushButton_clicked() +{ + int nZone, b1, b2, b3, l1, l2, l3; + bool south; + + int XL, YL; + + + double CB2=8376121.0; + double CB4=590.42; + double CB6=1.68; + double A1,A2,A3,B1,B2,B3,C1,C2,C3,D1,D2,D3, + P,PU,G,E,EU,FI,L0,TGA,TGL,U,V,TG,SFI; + + + + nZone = ui->lineEdit->text().toInt(); + south = ui->checkBox->isChecked(); + + XL = ui->lineEdit_8->text().toInt(); + YL = ui->lineEdit_9->text().toInt(); + + // + + V=YL-500000.0; + U=XL/6367558.497; + V=V/6367558.497; + A1=sin(2.0*U); + B1=cos(2.0*U); + A2=2.0*A1*B1; + B2=1.0-2.0*A1*A1; + A3=A1*B2+A2*B1; + B3=B1*B2-A1*A2; + C1=sinh(2.0*V); + D1=sqrt(1.0+C1*C1); + C2=2.0*C1*D1; + D2=1.0+2.0*C1*C1; + C3=C1*D2+C2*D1; + D3=C1*C2+D1*D2; + E=U-(CB2*A1*D1+CB4*A2*D2+CB6*A3*D3)*0.0000000001; + P=V-(CB2*B1*C1+CB4*B2*C2+CB6*B3*C3)*0.0000000001; + EU=10000000000.0-(2.0*CB2*B1*D1+4.0*CB4*B2*D2+ + 6.0*CB6*B3*D3); + PU=(2.0*CB2*A1*C1+4.0*CB4*A2*C2+6.0*CB6*A3*C3); + SFI=sin(E)/cosh(P); + TGL=sinh(P)/cos(E); + TGA=SFI*TGL; + FI=asin(SFI); + B=(5645.0*SFI*SFI-531245.0)*SFI*SFI; + B=(B+67385254.0)*SFI*cos(FI)*0.0000000001; + B=B+FI; + TG=PU/EU; + G=atan(TGA)+atan(TG); + L=atan(TGL); + L0=double(nZone)*6.0-3.0; + L0=L0*M_PI/180.0; + L=L+L0; + if (L<0.0) L=L+(2.0*M_PI); + else if (L>(2.0*M_PI)) L=L-(2.0*M_PI); + + + double X=180.0/M_PI*B; + south = (X<0); + if (south) X= -X; + + b1 = (int)floor(X); + X = (X-b1)*60; + b2 = (int)floor(X); + X = (X-b2)*60; + b3 = (int)floor(X); + + + X = 180.0/M_PI*L; + l1 = (int)floor(X); + X = (X-l1)*60; + l2 = (int)floor(X); + X = (X-l2)*60; + l3 = (int)floor(X); + + + ui->lineEdit_2->setText(QString::number(b1)); + ui->lineEdit_3->setText(QString::number(b2)); + ui->lineEdit_4->setText(QString::number(b3)); + ui->lineEdit_5->setText(QString::number(l1)); + ui->lineEdit_6->setText(QString::number(l2)); + ui->lineEdit_7->setText(QString::number(l3)); + + + +} diff --git a/gktogeo.h b/gktogeo.h new file mode 100644 index 0000000..22ce65f --- /dev/null +++ b/gktogeo.h @@ -0,0 +1,30 @@ +#ifndef GKTOGEO_H +#define GKTOGEO_H + +#include +#include "widget.h" +#include "geo.h" + +namespace Ui { +class GKtoGEO; +} + +class GKtoGEO : public QDialog +{ + Q_OBJECT + +public: + explicit GKtoGEO(QWidget *parent = 0); + ~GKtoGEO(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::GKtoGEO *ui; + double B, L, l; +}; + +#endif // GKTOGEO_H diff --git a/gktogeo.ui b/gktogeo.ui new file mode 100644 index 0000000..e6acef0 --- /dev/null +++ b/gktogeo.ui @@ -0,0 +1,395 @@ + + + GKtoGEO + + + + 0 + 0 + 273 + 372 + + + + Гаусса-Крюгера в геодезические + + + + + 20 + 330 + 75 + 23 + + + + Запрос + + + + + + 10 + 10 + 251 + 121 + + + + + + + + + 20 + 10 + 111 + 16 + + + + Номер зоны + + + + + + 140 + 10 + 51 + 20 + + + + 0 + + + + + + 20 + 37 + 111 + 16 + + + + Южное полушарие + + + + + + 140 + 37 + 70 + 17 + + + + + + + + + + 210 + 90 + 41 + 20 + + + + м + + + + + + 20 + 60 + 111 + 16 + + + + XL + + + + + + 140 + 90 + 51 + 20 + + + + 0 + + + + + + 140 + 60 + 51 + 21 + + + + 0 + + + + + + 210 + 60 + 41 + 20 + + + + м + + + + + + 20 + 90 + 111 + 16 + + + + YL + + + + + + + 170 + 330 + 75 + 23 + + + + Отказ + + + + + + 10 + 130 + 251 + 191 + + + + + + + + + 140 + 130 + 51 + 20 + + + + 0 + + + + + + 140 + 70 + 51 + 20 + + + + 0 + + + + + + 210 + 70 + 41 + 20 + + + + сек + + + + + + 140 + 40 + 51 + 20 + + + + 0 + + + + + + 210 + 160 + 41 + 20 + + + + сек + + + + + + 20 + 100 + 111 + 16 + + + + L (долгота) + + + + + + 210 + 40 + 41 + 20 + + + + мин + + + + + + 140 + 100 + 51 + 20 + + + + 0 + + + + + + 210 + 130 + 41 + 20 + + + + мин + + + + + + 20 + 10 + 111 + 16 + + + + В (широта) + + + + + + 140 + 160 + 51 + 20 + + + + 0 + + + + + + 210 + 100 + 41 + 20 + + + + град + + + + + + 140 + 10 + 51 + 20 + + + + 0 + + + + + + 210 + 10 + 41 + 20 + + + + град + + + + + + + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+ + checkboxmod + QCheckBox +
checkboxmod.h
+
+
+ + +
diff --git a/gktogk.cpp b/gktogk.cpp new file mode 100644 index 0000000..c8855d8 --- /dev/null +++ b/gktogk.cpp @@ -0,0 +1,129 @@ +#include "gktogk.h" +#include "ui_gktogk.h" + +GKtoGK::GKtoGK(QWidget *parent) : + QDialog(parent), + ui(new Ui::GKtoGK) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); +} + +GKtoGK::~GKtoGK() +{ + delete ui; +} + +void GKtoGK::on_pushButton_2_clicked() +{ + close(); +} + +void GKtoGK::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void GKtoGK::on_pushButton_clicked() +{ + int nZone1, nZone2; + bool south; + + int XL, YL; + int XL1, YL1; + + + double CB2=8376121.0; + double CB4=590.42; + double CB6=1.68; + + double CA2=5333.5419; + double CA4=4.84339; + double CA6=0.007622; + + double A1,A2,A3,B1,B2,B3,C1,C2,C3,D1,D2,D3, + P,PU,G,E,EU,FI,L0,TGA,TGL,U,V,TG,SFI, + EL,TGE,THP; + + + nZone1 = ui->lineEdit->text().toInt(); + south = ui->checkBox->isChecked(); + + XL = ui->lineEdit_2->text().toInt(); + YL = ui->lineEdit_3->text().toInt(); + + nZone2 = ui->lineEdit_4->text().toInt(); + // + + V=YL-500000.0; + U=XL/6367558.497; + V=V/6367558.497; + A1=sin(2.0*U); + B1=cos(2.0*U); + A2=2.0*A1*B1; + B2=1.0-2.0*A1*A1; + A3=A1*B2+A2*B1; + B3=B1*B2-A1*A2; + C1=sinh(2.0*V); + D1=sqrt(1.0+C1*C1); + C2=2.0*C1*D1; + D2=1.0+2.0*C1*C1; + C3=C1*D2+C2*D1; + D3=C1*C2+D1*D2; + E=U-(CB2*A1*D1+CB4*A2*D2+CB6*A3*D3)*0.0000000001; + P=V-(CB2*B1*C1+CB4*B2*C2+CB6*B3*C3)*0.0000000001; + EU=10000000000.0-(2.0*CB2*B1*D1+4.0*CB4*B2*D2+ + 6.0*CB6*B3*D3); + PU=(2.0*CB2*A1*C1+4.0*CB4*A2*C2+6.0*CB6*A3*C3); + SFI=sin(E)/cosh(P); + TGL=sinh(P)/cos(E); + TGA=SFI*TGL; + FI=asin(SFI); + B=(5645.0*SFI*SFI-531245.0)*SFI*SFI; + B=(B+67385254.0)*SFI*cos(FI)*0.0000000001; + B=B+FI; + TG=PU/EU; + G=atan(TGA)+atan(TG); + L=atan(TGL); + L0=double(nZone1)*6.0-3.0; + L0=L0*M_PI/180.0; + L=L+L0; + if (L<0.0) L=L+(2.0*M_PI); + else if (L>(2.0*M_PI)) L=L-(2.0*M_PI); + + + + L0=double(nZone2)*6.0-3.0; + L0=L0*M_PI/180.0; + EL=L-L0; + FI=(2624.0*sin(B)*sin(B)+372834.0)*sin(B)*sin(B); + FI=B-((FI+66934216.0)*sin(B)*cos(B)*0.0000000001); + TGE=tan(FI)/cos(EL); + E=atan(TGE); + THP=cos(FI)*sin(EL); + P=0.5*log((1.0+THP)/(1.0-THP)); + A1=sin(2.0*E); + B1=cos(2.0*E); + C1=sinh(2.0*P); + D1=cosh(2.0*P); + A2=2.0*A1*B1; + B2=1.0-2.0*A1*A1; + C2=2.0*C1*D1; + D2=1.0+2.0*C1*C1; + A3=A1*B2+A2*B1; + B3=B1*B2-A1*A2; + C3=C1*D2+C2*D1; + D3=D1*D2+C1*C2; + + XL1 = (int)(6367558.497*E+CA2*A1*D1+CA4*A2*D2+CA6*A3*D3); + if (XL1<0) XL1=-XL1; + + YL1 = (int)(6367558.497*P+CA2*B1*C1+CA4*B2*C2+CA6*B3*C3 + 500000.0); + + + ui->lineEdit_5->setText(QString::number(XL1)); + ui->lineEdit_6->setText(QString::number(YL1)); +} diff --git a/gktogk.h b/gktogk.h new file mode 100644 index 0000000..29a9b0a --- /dev/null +++ b/gktogk.h @@ -0,0 +1,30 @@ +#ifndef GKTOGK_H +#define GKTOGK_H + +#include +#include "widget.h" +#include "geo.h" + +namespace Ui { +class GKtoGK; +} + +class GKtoGK : public QDialog +{ + Q_OBJECT + +public: + explicit GKtoGK(QWidget *parent = 0); + ~GKtoGK(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::GKtoGK *ui; + double B, L, l; +}; + +#endif // GKTOGK_H diff --git a/gktogk.ui b/gktogk.ui new file mode 100644 index 0000000..3d804e9 --- /dev/null +++ b/gktogk.ui @@ -0,0 +1,317 @@ + + + GKtoGK + + + + 0 + 0 + 250 + 307 + + + + Гаусса-Крюгера (зона1-зона2) + + + + + 10 + 10 + 231 + 171 + + + + + + + + + 20 + 20 + 201 + 16 + + + + Номер зоны 1 + + + + + + 140 + 20 + 51 + 20 + + + + 0 + + + + + + 140 + 50 + 70 + 17 + + + + + + + + + + 20 + 50 + 111 + 16 + + + + Южное полушарие + + + + + + 140 + 80 + 51 + 20 + + + + 0 + + + + + + 20 + 80 + 41 + 16 + + + + XL1 + + + + + + 20 + 110 + 41 + 16 + + + + YL1 + + + + + + 140 + 110 + 51 + 20 + + + + 0 + + + + + + 20 + 140 + 81 + 16 + + + + Номер зоны 2 + + + + + + 140 + 140 + 51 + 20 + + + + 0 + + + + + + 195 + 82 + 41 + 16 + + + + м + + + + + + 195 + 112 + 41 + 16 + + + + м + + + + + + + 10 + 180 + 231 + 80 + + + + + + + + + 195 + 50 + 41 + 16 + + + + м + + + + + + 140 + 18 + 51 + 20 + + + + 0 + + + + + + 20 + 48 + 41 + 16 + + + + YL1 + + + + + + 20 + 18 + 41 + 16 + + + + XL1 + + + + + + 140 + 48 + 51 + 20 + + + + 0 + + + + + + 195 + 20 + 41 + 16 + + + + м + + + + + + + 10 + 270 + 75 + 23 + + + + Запрос + + + + + + 160 + 270 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+ + checkboxmod + QCheckBox +
checkboxmod.h
+
+
+ + +
diff --git a/grairobject.cpp b/grairobject.cpp new file mode 100644 index 0000000..82d719d --- /dev/null +++ b/grairobject.cpp @@ -0,0 +1,253 @@ +#include "grairobject.h" +#include "widget.h" + +grAirObject::grAirObject(QWidget *parent) +{ + aType = gType = 0; + lX = lY = oldLX = oldLY = 0; + pic.load(":new/pics/type_0e.xpm"); + wid = hei = 15; + scIndex = 1; + coler = new QGraphicsColorizeEffect(); + coler->setColor(Qt::yellow); + + for (int i=0; i<4; i++) altPoly[i].clear(); + altPoly[0].setPoints(3, 31,15, 40,15, 35,20); + altPoly[1].setPoints(4, 31,20, 40,20, 40,23, 31,23); + altPoly[2].setPoints(4, 31,22, 40,22, 40,15, 31,15); + altPoly[3].setPoints(3, 31,20, 40,20, 35,15); +} + +QRectF grAirObject::boundingRect() const +{ + qreal d = 250/scIndex; + if (d<250) d=250; + + return QRectF(-50+lX/scIndex,-50+lY/scIndex,d,d); +} + +void grAirObject::setInfoForRocket(qreal cX, qreal cY, qreal cH, qreal vx, qreal vy) +{ + rX = cX; + rY = cY; + rH = cH; + rVx = vx; + rVy = vy; + rV0 = sqrt(vx*vx+vy*vy); +} + +void grAirObject::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + + if (exist) + { + QPen locPen; + qreal an = 0; + locPen.setWidthF(1.3); + painter->setPen(locPen); +// + if (v0) { + QLineF lf(0, 0, vY, -vX); +// QLineF lf(oldLX, oldLY, lX, lY); + an = lf.angle(); + lf = QLineF(lX/scIndex, lY/scIndex, 0, 0); + lf.setAngle(an); + lf.setLength(v0*10); + painter->drawLine(lf); + painter->drawEllipse(lX/scIndex, lY/scIndex, 1, 1); + + + + } + + + QImage im(50,50,QImage::Format_ARGB32); + im.fill(Qt::transparent); + + QPainter *p = new QPainter(&im); + p->setBrush(Qt::SolidPattern); + +// + if ((viewSettings==0)||(viewSettings==2)) + p->drawPixmap(15, 15, pic); +// + if ((viewSettings!=1)&&(viewSettings!=3)) + p->drawPolygon(altPoly[alt]); +// + if ((viewSettings!=1)&&(viewSettings!=2)) + { + QFont f = p->font(); + f.setPointSizeF(7); + p->setFont(f); + p->drawText(32, 33, QString::number(numb)); + } + p->end(); + + if ((an>45)&&(an<210)) + painter->drawImage(lX/scIndex-10, lY/scIndex-15, im); + else + painter->drawImage(lX/scIndex-35, lY/scIndex-45, im); + + } + else + { + painter->setBrush(Qt::NoBrush); + painter->setPen(Qt::NoPen); + painter->drawPoint(0,0); + + } + + + +} + +void grAirObject::setScaleIndex(qreal s) +{ + if (scIndex!=s){ + prepareGeometryChange(); + scIndex=s; + } + +} + +void grAirObject::setCoord(qreal cx, qreal cy, qreal ch) +{ + + cX = cx; cY= cy; cH = ch; + + prepareGeometryChange(); + oldLX = lX; + oldLY = lY; + + + + lX=cy; + lY=-cx; + + if (ch>=60) alt = 3; + else if ((ch>=30)&&(ch<60)) alt=2; + else if ((ch>=10)&&(ch<30)) alt=1; + else alt = 0; + +} + +void grAirObject::setCoord(qreal cx, qreal cy) +{ + setCoord(cx, cy, cH); +} + +void grAirObject::setSpeed(qreal vx, qreal vy) +{ + vX = vx; + vY = vy; + v0=sqrt(vX*vX+vY*vY); +} + +void grAirObject::moveByTime(qreal time) +{ + cX += vX*time; + cY += vY*time; + setCoord(cX, cY); +} + +void grAirObject::setAType(int d) +{ + switch (d) { + case 0: + case 1: + case 6: + case 7: + case 8: + case 10: + case 11: + + if (aType!=d) + { + prepareGeometryChange(); + aType = d; + }; + break; + default: + prepareGeometryChange(); + aType = 0; + break; + } + + setPic(); + +} + +void grAirObject::setGType(int d) +{ + if ((d>=0)&&(d<4)){ + if (gType!=d) + { + prepareGeometryChange(); + gType = d; + } + else + { +// prepareGeometryChange(); +// gType = 0; + } + } + setPic(); + + switch (gType) + { + case 3: + coler->setColor(Qt::magenta); + break; + case 2: + coler->setColor(Qt::red); + break; + case 1: + coler->setColor(Qt::green); + break; + default: + coler->setColor(Qt::yellow); + + } +} + +void grAirObject::setPic() +{ + QString s; + s=":/new/pics/type_"+QString::number(aType); + switch (gType) { + case 2: + case 3: + s+="o.xpm"; + break; + case 0: + case 1: + default: + s+="e.xpm"; + break; + } + + pic.load(s); + +} + +void grAirObject::setViewSettings(int d) +{ + if (viewSettings!=d) + { + prepareGeometryChange(); + viewSettings = d; + } +} + +void grAirObject::setNull() +{ + prepareGeometryChange(); + exist = false; + count = 0; + setCoord(10000, 10000, 0); + setAType(0); + setGType(0); + setSpeed(0, 0); + setInfoForRocket(10000,10000,0,0,0); + +} diff --git a/grairobject.h b/grairobject.h new file mode 100644 index 0000000..dd27148 --- /dev/null +++ b/grairobject.h @@ -0,0 +1,69 @@ +#ifndef GRAIROBJECT_H +#define GRAIROBJECT_H + +#include +#include +#include +#include +#include +#include + +enum grAirObjType { + targetUnknown=0, + targetEnemy, + targetOwn, + targetSpecial +}; + +class grAirObject : public QGraphicsItem +{ +public: + grAirObject(QWidget *parent = 0); + QRectF boundingRect() const; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + + qreal cX, cY, cH; + qreal lX, lY; + qreal v0, vX, vY; + + + qreal rX,rY,rH,rVx,rVy, rV0; + + qreal oldLX, oldLY; + int alt, aType, gType; + QPixmap pic; + qreal scIndex; + qreal wid, hei; + bool exist; + int numb; + QGraphicsColorizeEffect *coler; + QPolygon altPoly[4]; + int viewSettings; + int count; + + void setCoord(qreal cx, qreal cy, qreal ch); + void setCoord(qreal cx, qreal cy); + void setSpeed(qreal vx, qreal vy); + void moveByTime(qreal time); + QPointF speeds(int d=0) { if (d) return QPointF(rVx, rVy); else return QPointF(vX, vY);} + QPointF coords(int d=0) { if (d) return QPointF(rX, rY); else return QPointF(cX, cY);} + QPointF coordsL() {return QPointF(lX, lY);} // + + void setInfoForRocket(qreal cX, qreal cY, qreal cH, qreal vx, qreal vy); + + void setAType(int d); + void setGType(int d); +// void setWidth(qreal w) { if (wid!=w) {prepareGeometryChange();wid=w;}} +// void setHeight(qreal h) { if (hei!=h) {prepareGeometryChange();hei=h;}} + void setScaleIndex(qreal s); + + void setNull(); +public slots: + void setViewSettings(int d); + +protected: + void setPic(); + +}; + +#endif // GRAIROBJECT_H diff --git a/graphicsarcitem.cpp b/graphicsarcitem.cpp new file mode 100644 index 0000000..b32b29b --- /dev/null +++ b/graphicsarcitem.cpp @@ -0,0 +1,93 @@ +#include "graphicsarcitem.h" + +graphicsArcItem::graphicsArcItem(qreal x, qreal y, qreal r, qreal a1, qreal a2) +{ + this->x = x; + this->y = y; + this->r = r; + this->a1 = a1; + this->a2 = a2; + this->col = QColor(Qt::black); + this->textLeft=""; + this->textRight=""; + this->textVisible=false; +} + +QRectF graphicsArcItem::boundingRect() const +{ + return QRectF(x-r, y-r, 2*r, 2*r); +} + +//QPainterPath graphicsArcItem::shape() const +//{ +// QPainterPath path; +// path.moveTo(x+r, y+r); +// path.arcTo(boundingRect(), a2, a1); +// return path; +//} + +void graphicsArcItem::setColor(QColor c) +{ + if (col!=c) { + prepareGeometryChange(); + col = c; + } +} +void graphicsArcItem::setRadius(qreal rr) +{ + if (r!=rr) { + prepareGeometryChange(); + r = rr; + } +} + +void graphicsArcItem::setAngle1(qreal a) +{ + if (a1 != a) { + prepareGeometryChange(); + a1=a; + } +} +void graphicsArcItem::setAngle2(qreal a) +{ + if (a2 != a) { + prepareGeometryChange(); + a2=a; + } +} +void graphicsArcItem::setAngles(qreal aa, qreal ab) +{ + setAngle1(aa); + setAngle2(ab); +} + +void graphicsArcItem::setText(QString str1, QString str2) +{ + if ((textLeft!=str1)||(textRight!=str2)) + { + prepareGeometryChange(); + textLeft = str1; + textRight = str2; + } +} + +void graphicsArcItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + painter->setPen(QPen(col)); + painter->drawPie(boundingRect(), a1*16, (a2-a1)*16); + + if (textVisible) + { + + qreal fs = r/223; + + + painter->setPen(QPen(Qt::white)); + QFont f = painter->font(); + f.setPointSizeF(fs*7); + painter->setFont(f); + + painter->drawText(x+0.95*r*cos(a1/180*M_PI), y-0.95*r*sin(a1/180*M_PI), textLeft); + painter->drawText(x+0.95*r*cos(a2/180*M_PI), y-0.95*r*sin(a2/180*M_PI), textRight); + } +} diff --git a/graphicsarcitem.h b/graphicsarcitem.h new file mode 100644 index 0000000..cdf41e8 --- /dev/null +++ b/graphicsarcitem.h @@ -0,0 +1,48 @@ +#ifndef GRAPHICSARCITEM_H +#define GRAPHICSARCITEM_H + +#include +#include +#include +#include "math.h" + +class graphicsArcItem : public QGraphicsItem +{ +public: + graphicsArcItem(qreal x=0, qreal y=0, qreal r=0, qreal a1=0, qreal a2=0); + QRectF boundingRect() const; +// QPainterPath shape() const; + + + + + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + + qreal radius() {return r;} + QColor color() {return col;} + qreal angle1() {return a1;} + qreal angle2() {return a2;} + void setColor(QColor c); + void setRadius(qreal rr); + void setAngle1(qreal a); + void setAngle2(qreal a); + void setAngles(qreal aa, qreal ab); + bool isTextVisible() {return textVisible;} + void setTextVisible(bool fl) {textVisible=fl;} + + void setText(QString str1="", QString str2=""); + void setText1(QString str) {prepareGeometryChange();textLeft=str;} + void setText2(QString str) {prepareGeometryChange();textRight=str;} + + + +private: + qreal x, y, r, a1, a2; + QColor col; + bool textVisible; + QString textLeft, textRight; +}; + +#endif // GRAPHICSARCITEM_H + + diff --git a/graphicscrossitem.cpp b/graphicscrossitem.cpp new file mode 100644 index 0000000..f367f39 --- /dev/null +++ b/graphicscrossitem.cpp @@ -0,0 +1,73 @@ +#include "graphicscrossitem.h" + +graphicsCrossItem::graphicsCrossItem(qreal px, qreal py) +{ + x = px; + y = py; + dim=3; + col = QColor(Qt::lightGray); + scIndex=1; + +} + +QRectF graphicsCrossItem::boundingRect() const +{ + qreal d = dim*scIndex; + + return QRectF(x-d, y-d, 2*d, 2*d); +} + + +void graphicsCrossItem::setColor(QColor c) +{ + if (col!=c) { + prepareGeometryChange(); + col = c; + } +} + +void graphicsCrossItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + qreal d = dim*scIndex; + painter->setPen(QPen(col)); + QPointF p1(x-d, y-d); + QPointF p2(x+d, y+d); + QPointF p3(x-d, y+d); + QPointF p4(x+d, y-d); + + painter->drawLine(p1, p2); + painter->drawLine(p3, p4); + +} + +void graphicsCrossItem::setPos(QPointF p) +{ + qreal px, py; + px= p.x(); py= p.y(); + + if ((x!=px)||(y!=py) ) { + prepareGeometryChange(); + x=px; y=py; + } +} + +void graphicsCrossItem::setPosPolar(qreal d, qreal a) +{ + if (d>0) + { + setPos(cos((90-a)/180*M_PI)*d, -sin((90-a)/180*M_PI)*d); + } + else + { + setPos(0,0); + } +} + +void graphicsCrossItem::setScaleIndex(qreal s) +{ + if (scIndex!=s){ + prepareGeometryChange(); + scIndex=s; + } + +} diff --git a/graphicscrossitem.h b/graphicscrossitem.h new file mode 100644 index 0000000..68d3c40 --- /dev/null +++ b/graphicscrossitem.h @@ -0,0 +1,39 @@ +#ifndef GRAPHICSCROSSITEM_H +#define GRAPHICSCROSSITEM_H + +#include +#include +#include +#include "math.h" + +class graphicsCrossItem : public QGraphicsItem +{ +public: + graphicsCrossItem(qreal x=0, qreal y=0); + QRectF boundingRect() const; +// QPainterPath shape() const; + + + + + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + + QColor color() {return col;} + void setColor(QColor c); + void setPos(QPointF p); + void setPos(qreal x, qreal y) {setPos(QPointF(x, y));} + + void setPosPolar(qreal d, qreal a); + + void setScaleIndex(qreal s); + +private: + qreal x, y, dim, scIndex; + QColor col; + +}; + + +#endif // GRAPHICSARCITEM_H + + diff --git a/graphicslineitem.cpp b/graphicslineitem.cpp new file mode 100644 index 0000000..ef4aa26 --- /dev/null +++ b/graphicslineitem.cpp @@ -0,0 +1,239 @@ +#include "graphicslineitem.h" + +graphicsLineItem::graphicsLineItem(QObject *parent) + +{ + x0 = x1 = y0 = y1 = wid = 0; + drawCircles = 0; + col = QColor(Qt::black); +} + +QRectF graphicsLineItem::boundingRect() const +{ + QPointF p1; + if (x0>x1) { + if (y0>y1) p1 = QPointF(x1, y1); + else p1 = QPointF(x1, y0); + } + else + { + if (y0>y1) p1 = QPointF(x0, y1); + else p1 = QPointF(x0, y0); + } + + QSizeF s = QSizeF(fabs(x0-x1), fabs(y0-y1)); + + return QRectF(p1, s); +} + +void graphicsLineItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + + QPen p; + QFont f = painter->font(); + + + + p.setColor(col); + p.setWidthF(wid); + p.setCapStyle(Qt::FlatCap); + + painter->setPen(p); + painter->setBrush(QBrush(Qt::SolidPattern)); + painter->drawLine(QPointF(x0,y0), QPointF(x1, y1)); + if (drawCircles&0x1) painter->drawEllipse(QPointF(x0,y0), wid*1.5, wid*1.5); + if (drawCircles&0x2) painter->drawEllipse(QPointF(x1,y1), wid*1.5, wid*1.5); + + + painter->save(); + for (int i=0; i<2; i++) + { + if (! str[i].txt.isEmpty()) + { + p.setColor(str[i].col); + f.setPointSizeF(str[i].size); + + painter->setFont(f); + painter->setPen(p); + painter->drawText(str[i].pos, str[i].txt); + } + } + painter->restore(); + +} + +void graphicsLineItem::setCircles(bool f1, bool f2) +{ + int ret = 0x0; + if (f1) ret+=0x1; + if (f2) ret+=0x2; + drawCircles=ret; +} + +void graphicsLineItem::setColor(QColor c) +{ + if (col!=c) + { + prepareGeometryChange(); + col = c; + } +} + +QPointF graphicsLineItem::pos0() {return QPointF(x0,y0);} +QPointF graphicsLineItem::pos1() {return QPointF(x1,y1);} + +void graphicsLineItem::setPos0(QPointF p) +{ + qreal x, y; + x= p.x(); y= p.y(); + + if ((x0!=x)||(y0!=y) ) { + prepareGeometryChange(); + x0=x; y0=y; + } +} + + + + + + + +void graphicsLineItem::setPos1(QPointF p) +{ + qreal x, y; + x= p.x(); y= p.y(); + + if ((x1!=x)||(y1!=y) ) { + prepareGeometryChange(); + x1=x; y1=y; + } +} + +qreal graphicsLineItem::length() +{ + QLineF lf = QLineF(x0,y0,x1,y1); + return lf.length(); +} + +void graphicsLineItem::setLength(qreal l) +{ + QLineF lf = QLineF(x0,y0,x1,y1); + lf.setLength(l); + + QPointF p = lf.p2(); + + if ((x1!=p.x())||(y1!=p.y())) { + prepareGeometryChange(); + x1=p.x(); y1=p.y(); + } +} + +void graphicsLineItem::setAngle(qreal a) +{ + QLineF lf = QLineF(x0,y0,x1,y1); + lf.setAngle(a); + + QPointF p = lf.p2(); + + if ((x1!=p.x())||(y1!=p.y())) { + prepareGeometryChange(); + x1=p.x(); y1=p.y(); + } + +} + +void graphicsLineItem::setGlobalAngle(qreal a) // 0,0 +{ + QLineF lf, lf1; + + lf = QLineF(0,0,x0,y0); + lf.setAngle(a); + QPointF p = lf.p2(); + lf1 = QLineF(0,0,x1,y1); + lf1.setAngle(a); + QPointF p1 = lf1.p2(); + + if ((x0!=p.x())||(y0!=p.y())||(x1!=p1.x())||(y1!=p1.y())) { + prepareGeometryChange(); + x0=p.x(); y0=p.y(); + x1=p1.x(); y1=p1.y(); + } + +} + +void graphicsLineItem::setWidth(qreal w) +{ + if (wid!=w) { + prepareGeometryChange(); + wid = w; + } +} + + + +void graphicsLineItem::setText(QString s, int d) +{ + if ((d==0)||(d==1)) + if (str[d].txt!=s) + { + prepareGeometryChange(); + str[d].txt = s; + } +} + +void graphicsLineItem::setTextPos(QPointF p, int d) +{ + if ((d==0)||(d==1)) + if (str[d].pos!=p) { + prepareGeometryChange(); + str[d].pos = p; + } +} + +void graphicsLineItem::setTextColor(QColor c, int d) +{ + if ((d==0)||(d==1)) + if (str[d].col!=c) { + prepareGeometryChange(); + str[d].col = c; + } +} + +QString graphicsLineItem::getText(int d) +{ + if ((d==0)||(d==1)) return str[d].txt; + else return 0; + +} + +QColor graphicsLineItem::getTextColor(int d) +{ + if ((d==0)||(d==1)) return str[d].col; + else return QColor(Qt::black); + +} + +QPointF graphicsLineItem::getTextPos(int d) +{ + if ((d==0)||(d==1)) return str[d].pos; + else return QPointF(0,0); +} + +qreal graphicsLineItem::getTextSize(int d) +{ + if ((d==0)||(d==1)) + return str[d].size; + else return 0; +} + +void graphicsLineItem::setTextSize(qreal s, int d) +{ + if ((d==0)||(d==1)) + if (str[d].size!=s) { + prepareGeometryChange(); + str[d].size = s; + } +} + + diff --git a/graphicslineitem.h b/graphicslineitem.h new file mode 100644 index 0000000..a6c630f --- /dev/null +++ b/graphicslineitem.h @@ -0,0 +1,68 @@ +#ifndef GRAPHICSLINEITEM_H +#define GRAPHICSLINEITEM_H + +#include +#include +#include + +struct T_txtAttr +{ + QString txt; + QColor col; + QPointF pos; + qreal size; +}; + +class graphicsLineItem : public QGraphicsLineItem +{ + +public: + graphicsLineItem(QObject *parent = 0); + + QRectF boundingRect() const; + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + + void setColor(QColor c); + QColor color() {return col;} + QPointF pos0(); + QPointF pos1(); + void setPos0(QPointF p); + void setPos0(qreal a, qreal b) {setPos0(QPointF(a, b));} + void setPos0(int a, int b) {setPos0(qreal(a), qreal(b));} + + void setPos1(QPointF p); + void setPos1(qreal a, qreal b) {setPos1(QPointF(a, b));} + void setPos1(int a, int b) {setPos1(qreal(a), qreal(b));} + + qreal length(); + void setLength(qreal l); + void setAngle(qreal a); + void setGlobalAngle(qreal a); + void setWidth(qreal w); + + QString getText(int d=0) ; + QPointF getTextPos(int d=0); + QColor getTextColor(int d=0); + qreal getTextSize(int d=0); + + void setText(QString s, int d=0); + void setTextPos(QPointF p, int d=0); + void setTextColor(QColor c, int d =0); + void setTextSize(qreal s, int d = 0); + + void setCircles(bool f1, bool f2); + + +private: + qreal x0,x1,y0,y1; + QColor col; + qreal wid; + + T_txtAttr str[2]; + + int drawCircles; + + +}; + +#endif // GRAPHICSLINEITEM_H diff --git a/graphicsviewmod.cpp b/graphicsviewmod.cpp new file mode 100644 index 0000000..c0290fc --- /dev/null +++ b/graphicsviewmod.cpp @@ -0,0 +1,129 @@ +#include "graphicsviewmod.h" + + +GraphicsViewMod::GraphicsViewMod(QWidget *parent):QGraphicsView(parent) +{ + setViewportUpdateMode(QGraphicsView::FullViewportUpdate); + setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + scMeter = 1; + ugR = ugL = numT = 0; + +} + + +void GraphicsViewMod::drawBackground(QPainter *painter, const QRectF &rect) +{ + + painter->save(); + painter->setBrush(QBrush(Qt::black)); + painter->drawRect(rect); + painter->restore(); + + painter->setBackground(QBrush(Qt::black)); + painter->setBackground(QBrush(Qt::SolidPattern)); + + QPen p = painter->pen(); + painter->setPen(QColor(Qt::lightGray)); + + + qreal d = 30; + qreal rad = height()/2 - d; + QPointF cent=QPointF(width()/2, height()/2); + QRect cr = QRect(cent.x()-rad, cent.y()-rad, rad*2, rad*2); + + + + painter->drawEllipse(mapToScene(QPolygon(cr)).boundingRect()); + + qreal lx1, lx2, ly1, ly2; + qreal phi; + qreal lin = 2; + QPolygonF poly; + QString str; + QFont f = painter->font(); + + cr.setSize(QSize(1,1)); + qreal fs = mapToScene(cr).boundingRect().height(); + + f.setPointSizeF(fs*10); + painter->setFont(f); + + + for (int i=0; i<60; i++) + { + phi = 2*M_PI/60*i; + + lx1=(rad-lin)*sin(phi)+cent.x(); + ly1=-(rad-lin)*cos(phi)+cent.y(); + + lx2 = lx1+2*lin*sin(phi); + ly2 = ly1-2*lin*cos(phi); + + poly.clear(); + poly << mapToScene(QPoint(lx1, ly1)) << mapToScene(QPoint(lx2, ly2)); + painter->drawPolygon(poly); + + lx2 = lx1+6*lin*sin(phi)-4; + ly2 = ly1-6*lin*cos(phi)+4; + + + str = QString::number(i); + + + painter->drawText(mapToScene(QPoint(lx2, ly2)), str); + + } + + + int du, mdu; + str.clear(); + if (ugL<0){ str.append("-");} + + du = abs(ugL)/100; mdu = abs(ugL)%100; + if (du<10) str.append("0"); + str.append(QString::number(du)); + str.append("-"); + if (mdu<10) str.append("0"); + str.append(QString::number(mdu)); + + painter->drawText(mapToScene(QPoint(width()-45, 22)), str); + + str.clear(); + if (ugR<0) { str.append("-");} + + du = abs(ugR)/100; mdu = abs(ugR)%100; + if (du<10) str.append("0"); + str.append(QString::number(du)); + str.append("-"); + if (mdu<10) str.append("0"); + str.append(QString::number(mdu)); + + painter->drawText(mapToScene(QPoint(width()-45, 33)), str); + + if (numT<0) numT = 0; + str.setNum(numT); + painter->drawText(mapToScene(QPoint(width()-45, 44)), str); + +// str.setNum(scMeter); +// painter->drawText(mapToScene(QPoint(cent.x()+40,cent.y()+40)), str); + + +} + + + + +void GraphicsViewMod::wheelEvent(QWheelEvent *e) +{ + int num = e->delta()/120; + if (num!=0) + { + + + } + + e->accept(); + centerOn(0,0); + +} diff --git a/graphicsviewmod.h b/graphicsviewmod.h new file mode 100644 index 0000000..a9666aa --- /dev/null +++ b/graphicsviewmod.h @@ -0,0 +1,28 @@ +#ifndef GRAPHICSVIEWMOD_H +#define GRAPHICSVIEWMOD_H + +#include +#include +#include +#include +#include "math.h" + +class GraphicsViewMod : public QGraphicsView +{ +public: + GraphicsViewMod(QWidget *parent); + qreal scMeter; + int ugL, ugR, numT; + + void setMissUgL(int ug) {ugL = ug;} + void setMissUgR(int ug) {ugR = ug;} + void setMissUg(int ugL, int ugR) {setMissUgL(ugL); setMissUgR(ugR);} + void setNumTarg(int num) {numT = num;} +protected: + void drawBackground(QPainter *painter, const QRectF &rect); + +private: + virtual void wheelEvent(QWheelEvent *event); +}; + +#endif // GRAPHICSVIEWMOD_H diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..42ebad6 --- /dev/null +++ b/main.cpp @@ -0,0 +1,68 @@ +#include +#include "widget.h" + +#include + + + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + + + Widget w; + QString str; + + QFile f("c:/Shilka_exe/global.ini"); + int c=0; + + + + if (f.open(QIODevice::ReadOnly |QIODevice::Text )) + { + while (!f.atEnd()) + { + c++; + str = QString(f.readLine()); + switch (c) + { + case 1: + if (str.section('=', 1, 1).toInt()) + w.setWindowState(Qt::WindowFullScreen); + break; + case 2: + // silentMode + w.silentMode = str.section('=',1,1).toInt(); + break; + case 3: + // quickLoad + w.quickLoad = str.section('=', 1, 1).toInt(); + + break; + case 4: + w.keybMaxDelay = str.section('=', 1, 1).toInt(); + if (w.keybMaxDelay<10) w.keybMaxDelay = 10; + break; + case 5: + w.loadingShift = str.section('=',1,1).toInt(); + break; + } + + } + } + else + { + w.loadingShift=50; + w.keybMaxDelay=20; +// w.setWindowState(Qt::WindowFullScreen); + w.quickLoad = true; + w.silentMode = false; + + } + + + + w.show(); + + return a.exec(); +} diff --git a/menubarmod.cpp b/menubarmod.cpp new file mode 100644 index 0000000..e69ee50 --- /dev/null +++ b/menubarmod.cpp @@ -0,0 +1,38 @@ +#include "menubarmod.h" + +#include + +MenuBarMod::MenuBarMod(QWidget *parent) : + QMenuBar(parent) +{ + setNativeMenuBar(false); + setStyleSheet("QMenuBar::item:selected { background: #a8a8a8;}"); + +} + +void MenuBarMod::keyPressEvent(QKeyEvent *e) +{ + + QList al = this->actions(); + bool fl=true; + + if (!al.isEmpty()) + { + + + if ((e->key()==Qt::Key_Right)&&(al.last()==activeAction())) { + setActiveAction(0); + emit rightPressed(uid); + fl=false; + } + + if ((e->key()==Qt::Key_Left)&&(al.at(0)==activeAction())) { + setActiveAction(0); + emit leftPressed(uid); + fl=false; + } + } + + + if (fl) QMenuBar::keyPressEvent(e); +} diff --git a/menubarmod.h b/menubarmod.h new file mode 100644 index 0000000..2d58321 --- /dev/null +++ b/menubarmod.h @@ -0,0 +1,24 @@ +#ifndef MENUBARMOD_H +#define MENUBARMOD_H + +#include +#include +#include +#include + +class MenuBarMod : public QMenuBar +{ + Q_OBJECT +public: + explicit MenuBarMod(QWidget *parent = 0); + + int uid; +signals: + void rightPressed(int); + void leftPressed(int); +public slots: + +private: + virtual void keyPressEvent ( QKeyEvent * e ); +}; +#endif // MENUBARMOD_H diff --git a/meteosred.cpp b/meteosred.cpp new file mode 100644 index 0000000..5c26660 --- /dev/null +++ b/meteosred.cpp @@ -0,0 +1,73 @@ +#include "meteosred.h" +#include "ui_meteosred.h" + + +meteosred::meteosred(QWidget *parent) : + QDialog(parent), + ui(new Ui::meteosred) +{ + ui->setupUi(this); + + this->setAttribute(Qt::WA_DeleteOnClose); + Widget *w = (Widget*)parent; + w->changeOpenWidget(this); + + ui->checkBox->setChecked(w->meteoAvtonom); + ui->checkBox->uid=1; + + ui->checkBox_2->setChecked(w->meteoSred); + ui->checkBox_2->uid=2; + + connect(ui->checkBox, SIGNAL(clicked()), this, SLOT(changeItems())); + connect(ui->checkBox_2, SIGNAL(clicked()), this, SLOT(changeItems())); + +} + +void meteosred::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +meteosred::~meteosred() +{ + delete ui; +} + +void meteosred::changeItems() +{ + switch (((checkboxmod*)sender())->uid) + { + case 1: + ui->checkBox_2->setChecked(!(ui->checkBox->isChecked())); + break; + case 2: + ui->checkBox->setChecked(!(ui->checkBox_2->isChecked())); + break; + default: + break; + } +} + + +void meteosred::on_pushButton_2_clicked() +{ + close(); +} + +void meteosred::on_pushButton_clicked() +{ + bool l, l1; + Widget *w = (Widget*)parent(); + + + l = ui->checkBox->isChecked(); + l1 = ui->checkBox_2->isChecked(); + + w->setMeteo(l, l1); + + ((Widget*)parent())->writeFile(); + + + close(); +} diff --git a/meteosred.h b/meteosred.h new file mode 100644 index 0000000..355af69 --- /dev/null +++ b/meteosred.h @@ -0,0 +1,31 @@ +#ifndef METEOSRED_H +#define METEOSRED_H + +#include +#include "widget.h" +namespace Ui { +class meteosred; +} + +class meteosred : public QDialog +{ + Q_OBJECT + +public: + explicit meteosred(QWidget *parent = 0); + ~meteosred(); + + +private slots: + void on_pushButton_2_clicked(); + + void on_pushButton_clicked(); + + void changeItems(); + + void closeEvent(QCloseEvent *event); +private: + Ui::meteosred *ui; +}; + +#endif // METEOSRED_H diff --git a/meteosred.ui b/meteosred.ui new file mode 100644 index 0000000..d41ad1d --- /dev/null +++ b/meteosred.ui @@ -0,0 +1,146 @@ + + + meteosred + + + + 0 + 0 + 218 + 129 + + + + + 218 + 129 + + + + + 218 + 129 + + + + Режимы метео + + + + + 10 + 10 + 201 + 71 + + + + + + + + + 120 + 10 + 70 + 17 + + + + Qt::RightToLeft + + + + + + false + + + + + + 120 + 40 + 70 + 17 + + + + Qt::RightToLeft + + + + + + false + + + + + + 10 + 10 + 111 + 16 + + + + Метеоавтономный + + + + + + 10 + 40 + 111 + 16 + + + + Метеосредний + + + + + + + 20 + 90 + 75 + 23 + + + + Ввод + + + + + + 130 + 90 + 75 + 23 + + + + Отмена + + + + + + checkboxmod + QCheckBox +
checkboxmod.h
+
+ + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+
+ + +
diff --git a/nastrel.cpp b/nastrel.cpp new file mode 100644 index 0000000..f62c858 --- /dev/null +++ b/nastrel.cpp @@ -0,0 +1,42 @@ +#include "nastrel.h" +#include "ui_nastrel.h" + +nastrel::nastrel(QWidget *parent) : + QDialog(parent), + ui(new Ui::nastrel) +{ + ui->setupUi(this); + this->setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + + ZAnastrel = 0; + ZAnastrel = (((Widget*)parent)->ZAnastrel); + ui->lineEdit->setText(QString::number(ZAnastrel)); +} + +nastrel::~nastrel() +{ + delete ui; +} + +void nastrel::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void nastrel::on_pushButton_2_clicked() +{ + + close(); +} + +void nastrel::on_pushButton_clicked() +{ + ZAnastrel = ui->lineEdit->text().toInt(); + ((Widget*)parent())->ZAnastrel = ZAnastrel; + ((Widget*)parent())->writeFile(); + close(); +} diff --git a/nastrel.h b/nastrel.h new file mode 100644 index 0000000..f8e886f --- /dev/null +++ b/nastrel.h @@ -0,0 +1,29 @@ +#ifndef NASTREL_H +#define NASTREL_H + +#include +#include "widget.h" + +namespace Ui { +class nastrel; +} + +class nastrel : public QDialog +{ + Q_OBJECT + +public: + explicit nastrel(QWidget *parent = 0); + ~nastrel(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::nastrel *ui; + int ZAnastrel; +}; + +#endif // NASTREL_H diff --git a/nastrel.ui b/nastrel.ui new file mode 100644 index 0000000..12b293a --- /dev/null +++ b/nastrel.ui @@ -0,0 +1,88 @@ + + + nastrel + + + + 0 + 0 + 222 + 150 + + + + Ввод настрела стволов + + + + + 10 + 10 + 201 + 81 + + + + + + + + + 17 + 20 + 101 + 31 + + + + Настрел стволов + + + + + + 127 + 27 + 51 + 20 + + + + + + + + 20 + 110 + 75 + 23 + + + + Ввод + + + + + + 120 + 110 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+
+ + +
diff --git a/ownadr.cpp b/ownadr.cpp new file mode 100644 index 0000000..9373c3b --- /dev/null +++ b/ownadr.cpp @@ -0,0 +1,33 @@ +#include "ownadr.h" +#include "ui_ownadr.h" + +ownAdr::ownAdr(QWidget *parent) : + QDialog(parent), + ui(new Ui::ownAdr) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); +} + +ownAdr::~ownAdr() +{ + delete ui; +} + +void ownAdr::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void ownAdr::on_pushButton_2_clicked() +{ + close(); +} + +void ownAdr::on_pushButton_clicked() +{ + close(); +} diff --git a/ownadr.h b/ownadr.h new file mode 100644 index 0000000..01ce127 --- /dev/null +++ b/ownadr.h @@ -0,0 +1,28 @@ +#ifndef OWNADR_H +#define OWNADR_H + +#include +#include "widget.h" + +namespace Ui { +class ownAdr; +} + +class ownAdr : public QDialog +{ + Q_OBJECT + +public: + explicit ownAdr(QWidget *parent = 0); + ~ownAdr(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::ownAdr *ui; +}; + +#endif // OWNADR_H diff --git a/ownadr.ui b/ownadr.ui new file mode 100644 index 0000000..1e56f8b --- /dev/null +++ b/ownadr.ui @@ -0,0 +1,91 @@ + + + ownAdr + + + + 0 + 0 + 220 + 139 + + + + Собственный адрес + + + + + 130 + 100 + 75 + 23 + + + + Отказ + + + + + + 20 + 100 + 75 + 23 + + + + Ввод + + + + + + 10 + 10 + 201 + 81 + + + + + + + + + 17 + 20 + 101 + 31 + + + + Собственный адрес + + + + + + 135 + 25 + 51 + 20 + + + + 0 + + + + + + + pushbuttonmod + QPushButton +
pushbuttonmod.h
+
+
+ + +
diff --git a/pics.qrc b/pics.qrc new file mode 100644 index 0000000..800cc85 --- /dev/null +++ b/pics.qrc @@ -0,0 +1,21 @@ + + + pics/type_0e.xpm + pics/type_0o.xpm + pics/type_1e.xpm + pics/type_1o.xpm + pics/type_6e.xpm + pics/type_6o.xpm + pics/type_7e.xpm + pics/type_7o.xpm + pics/type_8e.xpm + pics/type_8o.xpm + pics/type_10e.xpm + pics/type_10o.xpm + pics/type_11e.xpm + pics/type_11o.xpm + + + pics/loading.png + + diff --git a/pics/loading.png b/pics/loading.png new file mode 100644 index 0000000000000000000000000000000000000000..b77676a06de5f00c92dfd9a25a3387d6bf187f08 GIT binary patch literal 512740 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
    Gi(dIJXRr9{5cjh(1sY6m=}x25W!K%ocNTbP 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
    pushbuttonmod.h
    + + + + + diff --git a/table2z.cpp b/table2z.cpp new file mode 100644 index 0000000..097ec73 --- /dev/null +++ b/table2z.cpp @@ -0,0 +1,51 @@ +#include "table2z.h" +#include "ui_table2z.h" + +#include "vvod2z.h" + +table2Z::table2Z(QWidget *parent) : + QDialog(parent), + ui(new Ui::table2Z) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + +// - + ui->tableWidget->setColumnCount(10); + ui->tableWidget->setRowCount(10); + QStringList nums; + for (int i=0; i<10; i++) nums << QString::number(i); + ui->tableWidget->setHorizontalHeaderLabels(nums); + + ui->tableWidget->setVerticalHeaderLabels(nums); + + char buf[1024]; + QFile file(":/new/table2z/text.txt"); + if (file.open(QFile::ReadOnly)) + { + for (int i=0; i<10; i++) + for (int j=0; j<10; j++) + { + file.readLine(buf, sizeof(buf)); + QTableWidgetItem *newItem = new QTableWidgetItem(QString::fromLocal8Bit(buf)); + ui->tableWidget->setItem(i,j, newItem); + } + + } +// + ui->lineEdit->setFocus(); +} + +table2Z::~table2Z() +{ + delete ui; +} + + +void table2Z::on_lineEdit_returnPressed() +{ + QString st = ui->lineEdit->text(); + if (!st.isEmpty()) ((vvod2z*)parent())->curCode = st.toInt(); + ((vvod2z*)parent())->msUpdate(); + close(); +} diff --git a/table2z.h b/table2z.h new file mode 100644 index 0000000..a0a14ed --- /dev/null +++ b/table2z.h @@ -0,0 +1,26 @@ +#ifndef TABLE2Z_H +#define TABLE2Z_H + +#include + +namespace Ui { +class table2Z; +} + +class table2Z : public QDialog +{ + Q_OBJECT + +public: + explicit table2Z(QWidget *parent = 0); + ~table2Z(); + + +private slots: + void on_lineEdit_returnPressed(); + +private: + Ui::table2Z *ui; +}; + +#endif // TABLE2Z_H diff --git a/table2z.qrc b/table2z.qrc new file mode 100644 index 0000000..308c3d1 --- /dev/null +++ b/table2z.qrc @@ -0,0 +1,5 @@ + + + table2z/text.txt + + diff --git a/table2z.ui b/table2z.ui new file mode 100644 index 0000000..28c59c9 --- /dev/null +++ b/table2z.ui @@ -0,0 +1,73 @@ + + + table2Z + + + + 0 + 0 + 667 + 482 + + + + Ввод команды 2Z + + + + + 2 + 2 + 663 + 453 + + + + + Arial + 6 + + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + Qt::ElideNone + + + 64 + + + 42 + + + + + + 570 + 460 + 51 + 20 + + + + + + + 520 + 464 + 46 + 13 + + + + Команда + + + + + + diff --git a/table2z/text.txt b/table2z/text.txt new file mode 100644 index 0000000..128e399 --- /dev/null +++ b/table2z/text.txt @@ -0,0 +1,100 @@ + + + + + + + + + + + + + . . + + + . + . + + + + + + + + +. +. + . . + + + + + +. + + + +. +. + 3 + + + + + + + + + . . + 4 + + N1 + N2 + N3 + N4 + + . + + + 5 + . + N1 + N2 + N3 + N4 + +( ) . + + . + + + N1 . + N2 . + N3 . + N4 . + . + . . . +() . + + + . + N1 + N2 + N3 + N4 + + N1 . . + +() . + + + N1 + N2 + N3 + N4 + + + + + diff --git a/tempzar.cpp b/tempzar.cpp new file mode 100644 index 0000000..c3d47bf --- /dev/null +++ b/tempzar.cpp @@ -0,0 +1,38 @@ +#include "tempzar.h" +#include "ui_tempzar.h" + +tempZar::tempZar(QWidget *parent) : + QDialog(parent), + ui(new Ui::tempZar) +{ + ui->setupUi(this); + this->setAttribute(Qt::WA_DeleteOnClose); + ((Widget*)parent)->changeOpenWidget(this); + ZAtempZar = 0; + ZAtempZar = (((Widget*)parent)->ZAtempZar); + ui->lineEdit->setText(QString::number(ZAtempZar)); +} + +tempZar::~tempZar() +{ + delete ui; +} + +void tempZar::on_pushButton_clicked() +{ + ZAtempZar = ui->lineEdit->text().toInt(); + ((Widget*)parent())->ZAtempZar = ZAtempZar; + ((Widget*)parent())->writeFile(); + close(); +} + +void tempZar::on_pushButton_2_clicked() +{ + close(); +} + +void tempZar::closeEvent(QCloseEvent *e) +{ + ((Widget*)parent())->clearOpenWidget(); + e->accept(); +} diff --git a/tempzar.h b/tempzar.h new file mode 100644 index 0000000..8e02ff5 --- /dev/null +++ b/tempzar.h @@ -0,0 +1,29 @@ +#ifndef TEMPZAR_H +#define TEMPZAR_H + +#include +#include "widget.h" + +namespace Ui { +class tempZar; +} + +class tempZar : public QDialog +{ + Q_OBJECT + +public: + explicit tempZar(QWidget *parent = 0); + ~tempZar(); + +private slots: + void on_pushButton_clicked(); + void closeEvent(QCloseEvent *e); + void on_pushButton_2_clicked(); + +private: + Ui::tempZar *ui; + int ZAtempZar; +}; + +#endif // TEMPZAR_H diff --git a/tempzar.ui b/tempzar.ui new file mode 100644 index 0000000..0d92480 --- /dev/null +++ b/tempzar.ui @@ -0,0 +1,104 @@ + + + tempZar + + + + 0 + 0 + 221 + 154 + + + + Ввод температуры заряда + + + + + 20 + 110 + 75 + 23 + + + + Ввод + + + + + + 10 + 10 + 201 + 81 + + + + + + + + + 17 + 20 + 101 + 31 + + + + Температура + + + + + + 100 + 26 + 51 + 20 + + + + 0 + + + + + + 158 + 27 + 21 + 16 + + + + °С + + + + + + + 120 + 110 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/texit.cpp b/texit.cpp new file mode 100644 index 0000000..90de733 --- /dev/null +++ b/texit.cpp @@ -0,0 +1,37 @@ +#include "texit.h" +#include "ui_texit.h" +#include "widget.h" +#include + +Texit::Texit(QWidget *parent) : + QDialog(parent), + ui(new Ui::Texit) +{ + ui->setupUi(this); + ((Widget*)parent)->changeOpenWidget(this); + setAttribute(Qt::WA_DeleteOnClose); +} + +Texit::~Texit() +{ + delete ui; +} + +void Texit::on_pushButton_2_clicked() +{ + + close(); +} + +void Texit::on_pushButton_clicked() +{ + ((Widget*)parent())->writeFile(); + QTimer::singleShot(500, (Widget*)parent(), SLOT(MyClose())); + close(); +} + +void Texit::closeEvent(QCloseEvent *e) +{ + ((Widget*)parent())->clearOpenWidget(); + e->accept(); +} diff --git a/texit.h b/texit.h new file mode 100644 index 0000000..8c63e55 --- /dev/null +++ b/texit.h @@ -0,0 +1,27 @@ +#ifndef TEXIT_H +#define TEXIT_H + +#include + +namespace Ui { +class Texit; +} + +class Texit : public QDialog +{ + Q_OBJECT + +public: + explicit Texit(QWidget *parent = 0); + ~Texit(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *e); + void on_pushButton_clicked(); + +private: + Ui::Texit *ui; +}; + +#endif // TEXIT_H diff --git a/texit.ui b/texit.ui new file mode 100644 index 0000000..9afb4f8 --- /dev/null +++ b/texit.ui @@ -0,0 +1,65 @@ + + + Texit + + + + 0 + 0 + 262 + 138 + + + + Завершение работы + + + + + 70 + 40 + 221 + 16 + + + + Выгрузить систему? + + + + + + 30 + 90 + 75 + 23 + + + + Да + + + + + + 150 + 90 + 75 + 23 + + + + Нет + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvod2z.cpp b/vvod2z.cpp new file mode 100644 index 0000000..624cef0 --- /dev/null +++ b/vvod2z.cpp @@ -0,0 +1,52 @@ +#include "vvod2z.h" +#include "ui_vvod2z.h" + +vvod2z::vvod2z(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvod2z) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + ui->lineEdit_2->setFocus(); + +} + +vvod2z::~vvod2z() +{ + delete ui; +} + +void vvod2z::on_pushButton_3_clicked() +{ + close(); +} + +void vvod2z::on_pushButton_clicked() +{ + curCode = ui->lineEdit_2->text().toInt(); + + + close(); +} + +void vvod2z::on_pushButton_2_clicked() +{ + t2z = new table2Z(this); + t2z->show(); + +} + +void vvod2z::msUpdate() +{ + ui->lineEdit_2->setText(QString::number(curCode)); + +} + +void vvod2z::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvod2z.h b/vvod2z.h new file mode 100644 index 0000000..36570d3 --- /dev/null +++ b/vvod2z.h @@ -0,0 +1,38 @@ +#ifndef VVOD2Z_H +#define VVOD2Z_H + +#include + +#include "widget.h" +#include "table2z.h" + +namespace Ui { +class vvod2z; +} + +class vvod2z : public QDialog +{ + Q_OBJECT + +public: + explicit vvod2z(QWidget *parent = 0); + ~vvod2z(); + + int curCode; + table2Z *t2z; +public slots: + void msUpdate(); +private slots: + void on_pushButton_3_clicked(); + + void on_pushButton_clicked(); + + void on_pushButton_2_clicked(); + + void closeEvent(QCloseEvent *event); + +private: + Ui::vvod2z *ui; +}; + +#endif // VVOD2Z_H diff --git a/vvod2z.ui b/vvod2z.ui new file mode 100644 index 0000000..44e6964 --- /dev/null +++ b/vvod2z.ui @@ -0,0 +1,221 @@ + + + vvod2z + + + + 0 + 0 + 238 + 232 + + + + Ввод ДКО + + + + + 85 + 190 + 61 + 23 + + + + Текст + + + + + + 10 + 10 + 211 + 56 + + + + + + + + + 10 + 24 + 111 + 16 + + + + Код абонента + + + + + + 100 + 20 + 61 + 20 + + + + 9 + + + + + + + 10 + 190 + 61 + 23 + + + + Ввод + + + + + + 10 + 60 + 211 + 121 + + + + Ввод координат точки высветки + + + + + 100 + 20 + 61 + 20 + + + + 0 + + + + + + 10 + 24 + 111 + 16 + + + + Команда + + + + + + 100 + 50 + 61 + 20 + + + + 0 + + + + + + 10 + 54 + 111 + 16 + + + + Xтв + + + + + + 100 + 80 + 61 + 20 + + + + 0 + + + + + + 10 + 84 + 111 + 16 + + + + Yтв + + + + + + 168 + 54 + 16 + 16 + + + + м + + + + + + 168 + 84 + 21 + 16 + + + + м + + + + + + + 160 + 190 + 61 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvodautozadef.cpp b/vvodautozadef.cpp new file mode 100644 index 0000000..6438fc5 --- /dev/null +++ b/vvodautozadef.cpp @@ -0,0 +1,37 @@ +#include "vvodautozadef.h" +#include "ui_vvodautozadef.h" + +vvodAutoZAdef::vvodAutoZAdef(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodAutoZAdef) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + ui->checkBox->setChecked(((Widget*)parent)->autoZAdefault); +} + +vvodAutoZAdef::~vvodAutoZAdef() +{ + delete ui; +} + +void vvodAutoZAdef::on_pushButton_2_clicked() +{ + close(); +} + +void vvodAutoZAdef::on_pushButton_clicked() +{ + ((Widget*)parent())->autoZAdefault= ui->checkBox->isChecked(); + ((Widget*)parent())->writeFile(); + close(); +} + +void vvodAutoZAdef::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodautozadef.h b/vvodautozadef.h new file mode 100644 index 0000000..3d33cb2 --- /dev/null +++ b/vvodautozadef.h @@ -0,0 +1,28 @@ +#ifndef VVODAUTOZADEF_H +#define VVODAUTOZADEF_H + +#include +#include "widget.h" + +namespace Ui { +class vvodAutoZAdef; +} + +class vvodAutoZAdef : public QDialog +{ + Q_OBJECT + +public: + explicit vvodAutoZAdef(QWidget *parent = 0); + ~vvodAutoZAdef(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodAutoZAdef *ui; +}; + +#endif // VVODAUTOZADEF_H diff --git a/vvodautozadef.ui b/vvodautozadef.ui new file mode 100644 index 0000000..5f2fbb4 --- /dev/null +++ b/vvodautozadef.ui @@ -0,0 +1,122 @@ + + + vvodAutoZAdef + + + + 0 + 0 + 237 + 129 + + + + Установка ЗА в исходное + + + + + 10 + 10 + 221 + 81 + + + + + + + + + 180 + 30 + 21 + 20 + + + + Qt::RightToLeft + + + + + + + + + 10 + 10 + 161 + 51 + + + + + 3 + + + + + Включение режима + + + + + + + автоматической + + + + + + + установки ЗА в исходное + + + + + + + + + + 20 + 100 + 75 + 23 + + + + Ввод + + + + + + 150 + 100 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    + + checkboxmod + QCheckBox +
    checkboxmod.h
    +
    +
    + + +
    diff --git a/vvodbk.cpp b/vvodbk.cpp new file mode 100644 index 0000000..700fd9e --- /dev/null +++ b/vvodbk.cpp @@ -0,0 +1,59 @@ +#include "vvodbk.h" +#include "ui_vvodbk.h" + + +VvodBK::VvodBK(QWidget *parent) : + QDialog(parent), + ui(new Ui::VvodBK) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + int t[5]; + for (int i=0;i<5; i++) t[i]=(((Widget*)parent)->BK[i]); + + ui->lineEdit->setText(QString::number(t[0])); + ui->lineEdit_2->setText(QString::number(t[1])); + ui->lineEdit_3->setText(QString::number(t[2])); + ui->lineEdit_4->setText(QString::number(t[3])); + ui->lineEdit_5->setText(QString::number(t[4])); + +} + +VvodBK::~VvodBK() +{ + delete ui; +} + +void VvodBK::on_pushButton_2_clicked() +{ + + + close(); +} + + + +void VvodBK::on_pushButton_clicked() +{ + int t[5]; + t[0] = ui->lineEdit->text().toInt(); + t[1] = ui->lineEdit_2->text().toInt(); + t[2] = ui->lineEdit_3->text().toInt(); + t[3] = ui->lineEdit_4->text().toInt(); + t[4] = ui->lineEdit_5->text().toInt(); + + for (int i=0;i<5; i++) ((Widget*)parent())->BK[i]=t[i]; + + ((Widget*)parent())->writeFile(); + close(); + +} + +void VvodBK::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodbk.h b/vvodbk.h new file mode 100644 index 0000000..cfbc389 --- /dev/null +++ b/vvodbk.h @@ -0,0 +1,33 @@ +#ifndef VVODBK_H +#define VVODBK_H + +#include +#include "widget.h" + +namespace Ui { +class VvodBK; +} + +class VvodBK : public QDialog +{ + Q_OBJECT + +public: + explicit VvodBK(QWidget *parent = 0); + ~VvodBK(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + + + +private: + + Ui::VvodBK *ui; + + +}; + +#endif // VVODBK_H diff --git a/vvodbk.ui b/vvodbk.ui new file mode 100644 index 0000000..3039b07 --- /dev/null +++ b/vvodbk.ui @@ -0,0 +1,147 @@ + + + VvodBK + + + + 0 + 0 + 200 + 219 + + + + Ввод БК + + + + + 10 + 10 + 181 + 161 + + + + + + + + + 10 + 20 + 164 + 126 + + + + + + + 1 ствол (нижн.лев.) + + + + + + + 0 + + + + + + + 2 ствол (верх.лев.) + + + + + + + 0 + + + + + + + 3 ствол (нижн.прав.) + + + + + + + 0 + + + + + + + 0 + + + + + + + 4 ствол (верх.лев.) + + + + + + + Количество ракет + + + + + + + 0 + + + + + + + + + + 10 + 180 + 75 + 23 + + + + Ввод + + + + + + 110 + 180 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvoddko.cpp b/vvoddko.cpp new file mode 100644 index 0000000..1b0e24d --- /dev/null +++ b/vvoddko.cpp @@ -0,0 +1,37 @@ +#include "vvoddko.h" +#include "ui_vvoddko.h" + +vvodDKO::vvodDKO(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodDKO) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + ui->lineEdit_2->setFocus(); +} + +vvodDKO::~vvodDKO() +{ + delete ui; +} + +void vvodDKO::on_pushButton_2_clicked() +{ + close(); +} + +void vvodDKO::on_pushButton_clicked() +{ + // send + + close(); +} + +void vvodDKO::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvoddko.h b/vvoddko.h new file mode 100644 index 0000000..e3af636 --- /dev/null +++ b/vvoddko.h @@ -0,0 +1,28 @@ +#ifndef VVODDKO_H +#define VVODDKO_H + +#include +#include "widget.h" + +namespace Ui { +class vvodDKO; +} + +class vvodDKO : public QDialog +{ + Q_OBJECT + +public: + explicit vvodDKO(QWidget *parent = 0); + ~vvodDKO(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodDKO *ui; +}; + +#endif // VVODDKO_H diff --git a/vvoddko.ui b/vvoddko.ui new file mode 100644 index 0000000..99e61cb --- /dev/null +++ b/vvoddko.ui @@ -0,0 +1,208 @@ + + + vvodDKO + + + + 0 + 0 + 230 + 223 + + + + Ввод ДКО + + + + + 10 + 10 + 211 + 56 + + + + + + + + + 10 + 24 + 111 + 16 + + + + Код абонента + + + + + + 100 + 20 + 61 + 20 + + + + 9 + + + + + + + 10 + 60 + 211 + 121 + + + + Ввод координат точки высветки + + + + + 100 + 20 + 61 + 20 + + + + 0 + + + + + + 10 + 24 + 111 + 16 + + + + Команда + + + + + + 100 + 50 + 61 + 20 + + + + 0 + + + + + + 10 + 54 + 111 + 16 + + + + Xтв + + + + + + 100 + 80 + 61 + 20 + + + + 0 + + + + + + 10 + 84 + 111 + 16 + + + + Yтв + + + + + + 168 + 54 + 16 + 16 + + + + м + + + + + + 168 + 84 + 21 + 16 + + + + м + + + + + + + 10 + 190 + 75 + 23 + + + + Ввод + + + + + + 140 + 190 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvodkcu.cpp b/vvodkcu.cpp new file mode 100644 index 0000000..2093af7 --- /dev/null +++ b/vvodkcu.cpp @@ -0,0 +1,39 @@ +#include "vvodkcu.h" +#include "ui_vvodkcu.h" + +vvodKCU::vvodKCU(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodKCU) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); +} + +vvodKCU::~vvodKCU() +{ + delete ui; +} + +void vvodKCU::on_pushButton_2_clicked() +{ + close(); +} + +void vvodKCU::on_pushButton_clicked() +{ + int NC = ui->lineEdit->text().toInt(); + // send DCU + Widget *w = (Widget *)parent(); + + w->msVvodCU_N2(NC); + + close(); +} + +void vvodKCU::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodkcu.h b/vvodkcu.h new file mode 100644 index 0000000..829ce2a --- /dev/null +++ b/vvodkcu.h @@ -0,0 +1,28 @@ +#ifndef VVODKCU_H +#define VVODKCU_H + +#include +#include "widget.h" + +namespace Ui { +class vvodKCU; +} + +class vvodKCU : public QDialog +{ + Q_OBJECT + +public: + explicit vvodKCU(QWidget *parent = 0); + ~vvodKCU(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodKCU *ui; +}; + +#endif // VVODKCU_H diff --git a/vvodkcu.ui b/vvodkcu.ui new file mode 100644 index 0000000..b695e24 --- /dev/null +++ b/vvodkcu.ui @@ -0,0 +1,91 @@ + + + vvodKCU + + + + 0 + 0 + 228 + 108 + + + + ЦУ_N + + + + + 10 + 10 + 201 + 51 + + + + + + + + + 20 + 18 + 91 + 16 + + + + Номер цели + + + + + + 106 + 15 + 61 + 20 + + + + 0 + + + + + + + 20 + 70 + 75 + 23 + + + + Ввод + + + + + + 130 + 70 + 75 + 23 + + + + Отмена + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvodma.cpp b/vvodma.cpp new file mode 100644 index 0000000..751d7b0 --- /dev/null +++ b/vvodma.cpp @@ -0,0 +1,54 @@ +#include "vvodma.h" +#include "ui_vvodma.h" + +vvodMA::vvodMA(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodMA) +{ + ui->setupUi(this); + this->setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + + metAv = ((Widget*)parent)->metAv; + + ui->lineEdit->setText(QString::number(metAv.temp)); + ui->lineEdit_2->setText(QString::number(metAv.pressure)); + ui->lineEdit_3->setText(QString::number(metAv.wind)); + int du = metAv.azim / 100; + ui->lineEdit_6->setText(QString::number(du)); + du = metAv.azim % 100; + ui->lineEdit_7->setText(QString::number(du)); + +} + +vvodMA::~vvodMA() +{ + delete ui; +} + +void vvodMA::on_pushButton_2_clicked() +{ + close(); +} + +void vvodMA::on_pushButton_clicked() +{ + metAv.temp = ui->lineEdit->text().toInt(); + metAv.pressure = ui->lineEdit_2->text().toInt(); + metAv.wind = ui->lineEdit_3->text().toInt(); + int du = ui->lineEdit_6->text().toInt(); + metAv.azim = du*100 + ui->lineEdit_7->text().toInt(); + + ((Widget*)parent())->metAv = metAv; + ((Widget*)parent())->writeFile(); + close(); +} + +void vvodMA::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + diff --git a/vvodma.h b/vvodma.h new file mode 100644 index 0000000..5fc12a6 --- /dev/null +++ b/vvodma.h @@ -0,0 +1,30 @@ +#ifndef VVODMA_H +#define VVODMA_H + +#include +#include "widget.h" +#include "geo.h" + +namespace Ui { +class vvodMA; +} + +class vvodMA : public QDialog +{ + Q_OBJECT + +public: + explicit vvodMA(QWidget *parent = 0); + ~vvodMA(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodMA *ui; + T_metAv metAv; +}; + +#endif // VVODMA_H diff --git a/vvodma.ui b/vvodma.ui new file mode 100644 index 0000000..a23282d --- /dev/null +++ b/vvodma.ui @@ -0,0 +1,251 @@ + + + vvodMA + + + + 0 + 0 + 261 + 185 + + + + + 261 + 185 + + + + + 286 + 213 + + + + Ввод данных по МА + + + + + 10 + 10 + 241 + 111 + + + + + + + + + 130 + 10 + 51 + 16 + + + + 0 + + + + + + 10 + 10 + 111 + 16 + + + + Температура воздуха + + + + + + 190 + 10 + 41 + 16 + + + + °С + + + + + + 190 + 30 + 51 + 16 + + + + мм рт.ст. + + + + + + 10 + 30 + 141 + 16 + + + + Давление + + + + + + 130 + 30 + 51 + 16 + + + + 0 + + + + + + 190 + 50 + 51 + 16 + + + + м/с + + + + + + 10 + 50 + 141 + 16 + + + + Скорость ветра + + + + + + 130 + 50 + 51 + 16 + + + + 0 + + + + + + 10 + 74 + 111 + 16 + + + + Направление ветра + + + + + + 130 + 74 + 31 + 16 + + + + 0 + + + + + + 170 + 74 + 16 + 16 + + + + + 10 + + + + - + + + + + + 180 + 74 + 31 + 16 + + + + 0 + + + + + + + 30 + 140 + 75 + 23 + + + + Ввод + + + + + + 160 + 140 + 75 + 23 + + + + Отмена + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvodms.cpp b/vvodms.cpp new file mode 100644 index 0000000..75c118d --- /dev/null +++ b/vvodms.cpp @@ -0,0 +1,244 @@ +#include "vvodms.h" +#include "ui_vvodms.h" + +vvodMs::vvodMs(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodMs) +{ + ui->setupUi(this); + + this->setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + int i; + + for (i=0; i<80; i++) localLE[i] = new QLineEdit(this); + for (i=0; i<6; i++) + { + localLE[i*8] ->setGeometry(30, 140+20*i, 31, 20); + localLE[i*8+1]->setGeometry(90, 140+20*i, 31, 20); + localLE[i*8+2]->setGeometry(160, 140+20*i, 31, 20); + localLE[i*8+3]->setGeometry(220, 140+20*i, 31, 20); + localLE[i*8+4]->setGeometry(320, 140+20*i, 31, 20); + localLE[i*8+5]->setGeometry(380, 140+20*i, 31, 20); + localLE[i*8+6]->setGeometry(440, 140+20*i, 31, 20); + localLE[i*8+7]->setGeometry(500, 140+20*i, 31, 20); + } + for (i=0; i<4; i++) + { + localLE[i*8+48] ->setGeometry(30, 280+20*i, 31, 20); + localLE[i*8+48+1]->setGeometry(90, 280+20*i, 31, 20); + localLE[i*8+48+2]->setGeometry(160, 280+20*i, 31, 20); + localLE[i*8+48+3]->setGeometry(220, 280+20*i, 31, 20); + localLE[i*8+48+4]->setGeometry(320, 280+20*i, 31, 20); + localLE[i*8+48+5]->setGeometry(380, 280+20*i, 31, 20); + localLE[i*8+48+6]->setGeometry(440, 280+20*i, 31, 20); + localLE[i*8+48+7]->setGeometry(500, 280+20*i, 31, 20); + } + for (i=76; i<80; i++) localLE[i]->hide(); + localLE[52]->setEnabled(false); + localLE[56]->setEnabled(false); + localLE[60]->setEnabled(false); + localLE[64]->setEnabled(false); + localLE[68]->setEnabled(false); + localLE[72]->setEnabled(false); + + + setTabOrder(ui->lineEdit_6, localLE[0]); + for (i=1;i<76;i++) setTabOrder(localLE[i-1], localLE[i]); + setTabOrder(localLE[75], ui->lineEdit_103); + setTabOrder(ui->lineEdit_103, ui->lineEdit_98); + + int n=0; + + meteoSr = ((Widget*)parent)->metSr; +// "-11" , + ui->lineEdit->setText(meteoSr.mid(0, 2)); +// + ui->lineEdit_2->setText(meteoSr.mid(2,2)); +// + n = meteoSr.mid(4, 3).toInt(); + ui->lineEdit_3->setText(QString::number(n)+"0"); +// + n = meteoSr.mid(7, 4).toInt(); + ui->lineEdit_4->setText(QString::number(n)); +// . + n = meteoSr.mid(11, 3).toInt(); + if ( n>499) n = 500 - n; + ui->lineEdit_5->setText(QString::number(n)); +// . + n = meteoSr.mid(14,2).toInt(); + if (n>49) n = 50-n; + ui->lineEdit_6->setText(QString::number(n)); +// : . , , , . + for (i=0; i<13; i++) + { + localLE[i*4]->setText(meteoSr.mid(16+i*8, 2)); + n = meteoSr.mid(18+i*8, 2).toInt(); + if (n>49) n = 50-n; + localLE[i*4+1]->setText(QString::number(n)); + localLE[i*4+2]->setText(meteoSr.mid(20+i*8, 2)); + localLE[i*4+3]->setText(meteoSr.mid(22+i*8, 2)); + } +// . - 1% + for (int i=13; i<19; i++) + { + n = meteoSr.mid(120+(i-13)*6, 2).toInt(); + if (n>49) n = 50-n; + localLE[i*4+1]->setText(QString::number(n)); + localLE[i*4+2]->setText(meteoSr.mid(122+(i-13)*6, 2)); + localLE[i*4+3]->setText(meteoSr.mid(124+(i-13)*6, 2)); + + } +// . + ui->lineEdit_103->setText(meteoSr.right(4).left(2)+"00"); + ui->lineEdit_98->setText(meteoSr.right(2)+"00"); + + + + + +} + +vvodMs::~vvodMs() +{ + delete ui; +} + +void vvodMs::on_pushButton_2_clicked() +{ + close(); +} + +void vvodMs::on_pushButton_clicked() +{ + QString str; + meteoSr.clear(); + int tmp, tmp1; + +// str.append(QString::fromLocal8Bit("-11")); + // + tmp = ui->lineEdit->text().toInt(); + if (tmp<0) tmp=0; else if (tmp>99) tmp=99; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); +// str.append(QString("-")); + // + tmp = ui->lineEdit_2->text().toInt(); + if (tmp<0) tmp =0; else if (tmp>31) tmp=31; + str.append(QString::number(tmp)); + tmp = ui->lineEdit_3->text().toInt(); + if (tmp<0) tmp =0 ; else if (tmp>2359) tmp = 2359; + tmp1 = tmp / 100; + if (tmp1<10) str.append(QString("0")); + tmp1 = tmp / 10; + str.append(QString::number(tmp1)); +// str.append(QString("-")); + // 3 + tmp = ui->lineEdit_4->text().toInt(); + if (tmp<0) tmp =0 ; else if (tmp>9999) tmp = 9999; + if (tmp<1000) str.append(QString("0")); + if (tmp<100) str.append(QString("0")); + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); +// str.append(QString("-")); + //4 + // + tmp = ui->lineEdit_5->text().toInt(); + if (tmp<-99) tmp=-99; else if ( tmp>99) tmp = 99; + if (tmp<0) str.append(QString("5")); else str.append(QString("0")); + tmp = abs(tmp); + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); + // + tmp = ui->lineEdit_6->text().toInt(); + if (tmp<-49) tmp = -49; else if (tmp>49) tmp = 49; + if (tmp<0) tmp = abs(tmp)+50; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); +// str.append(QString("-")); + // 5,6 + +// QString nS[19] = {"02", "04", "08", "12", "16", "20", "24", "30", "40", "50", "60", "80", +// "10", "12", "14", "18", "22", "26", "30"}; + + + for (int i=0; i<13; i++) + { +// str.append(nS[i]); + + tmp = localLE[i*4]->text().toInt(); + if (tmp<0) tmp = 0; else if (tmp>99) tmp = 99; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); +// str.append(QString("-")); + + tmp = localLE[i*4+1]->text().toInt(); + if (tmp<-49) tmp = -49; else if (tmp>49) tmp = 49; + if (tmp<0) tmp = abs(tmp)+50; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); + + tmp = localLE[i*4+2]->text().toInt(); + if (tmp<0) tmp =0; else if (tmp>59) tmp = 59; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); + + tmp = localLE[i*4+3]->text().toInt(); + if (tmp<0) tmp = 0; else if (tmp>99) tmp = 99; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); +// str.append(QString("-")); + + + } + + for (int i=13; i<19; i++) + { +// str.append(nS[i]); +// str.append(QString("01")); +// str.append(QString("-")); + tmp = localLE[i*4+1]->text().toInt(); + if (tmp<-49) tmp = -49; else if (tmp>49) tmp = 49; + if (tmp<0) tmp = abs(tmp)+50; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); + + tmp = localLE[i*4+2]->text().toInt(); + if (tmp<0) tmp =0; else if (tmp>59) tmp = 59; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); + + tmp = localLE[i*4+3]->text().toInt(); + if (tmp<0) tmp = 0; else if (tmp>99) tmp = 99; + if (tmp<10) str.append(QString("0")); + str.append(QString::number(tmp)); +// str.append(QString("-")); + + } + +// 103 98 , 103 , 98 - + + tmp = ui->lineEdit_103->text().toInt(); + if (tmp<0) tmp = 0; else if (tmp>9999) tmp = 9999; + tmp = tmp/100; + str.append(QString::number(tmp)); + + tmp = ui->lineEdit_98->text().toInt(); + if (tmp<0) tmp = 0; else if (tmp>9999) tmp = 9999; + tmp = tmp/100; + str.append(QString::number(tmp)); + + tmp = str.length(); + + ((Widget*)parent())->metSr = str; + ((Widget*)parent())->writeFile(); + close(); +} + +void vvodMs::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodms.h b/vvodms.h new file mode 100644 index 0000000..b9f6523 --- /dev/null +++ b/vvodms.h @@ -0,0 +1,32 @@ +#ifndef VVODMS_H +#define VVODMS_H + +#include +#include +#include "widget.h" + +namespace Ui { +class vvodMs; +} + +class vvodMs : public QDialog +{ + Q_OBJECT + +public: + explicit vvodMs(QWidget *parent = 0); + ~vvodMs(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodMs *ui; + QString meteoSr; + QLineEdit *localLE[80]; + +}; + +#endif // VVODMS_H diff --git a/vvodms.ui b/vvodms.ui new file mode 100644 index 0000000..c414e59 --- /dev/null +++ b/vvodms.ui @@ -0,0 +1,1069 @@ + + + vvodMs + + + + 0 + 0 + 567 + 449 + + + + Ввод метеосреднего бюллетеня + + + + + 20 + 20 + 431 + 41 + + + + + + + + + 10 + 0 + 46 + 20 + + + + Номер ст. + + + + + + 75 + 0 + 46 + 20 + + + + Дата + + + + + + 75 + 20 + 46 + 20 + + + + ДД + + + + + + 10 + 20 + 46 + 20 + + + + №№ + + + + + + 130 + 20 + 46 + 20 + + + + ЧЧММ + + + + + + 130 + 0 + 46 + 20 + + + + Время + + + + + + 190 + 20 + 46 + 20 + + + + ВВВВ + + + + + + 190 + 0 + 46 + 20 + + + + Высота + + + + + + 260 + 20 + 46 + 20 + + + + dБdБ + + + + + + 260 + 0 + 61 + 20 + + + + Давление + + + + + + 340 + 20 + 46 + 20 + + + + dTdT + + + + + + 340 + 0 + 71 + 20 + + + + Температура + + + + + + + 32 + 66 + 41 + 20 + + + + 1 + + + + + + 92 + 66 + 31 + 20 + + + + 25 + + + + + + 152 + 66 + 31 + 20 + + + + 11 + + + + + + 212 + 66 + 51 + 20 + + + + 2500 + + + + + + 282 + 66 + 41 + 20 + + + + 50 + + + + + + 362 + 66 + 31 + 20 + + + + 13 + + + + + + 20 + 90 + 251 + 45 + + + + + + + + + 4 + 0 + 61 + 20 + + + + Плотность + + + + + + 70 + 0 + 61 + 20 + + + + Температ. + + + + + + 70 + 20 + 46 + 20 + + + + dТdТ + + + + + + 4 + 20 + 46 + 20 + + + + dПdП + + + + + + 140 + 20 + 46 + 20 + + + + НН + + + + + + 140 + 0 + 46 + 20 + + + + Угол + + + + + + 190 + 20 + 46 + 20 + + + + СС + + + + + + 190 + 0 + 51 + 20 + + + + Скорость + + + + + + + 0 + 140 + 22 + 122 + + + + + 2 + + + 3 + + + + + QFrame::Panel + + + QFrame::Sunken + + + 02 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 08 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 16 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 24 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 40 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 60 + + + true + + + Qt::AlignCenter + + + + + + + + + 0 + 280 + 24 + 81 + + + + + 2 + + + 3 + + + + + QFrame::Panel + + + QFrame::Sunken + + + 10 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 14 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 22 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 30 + + + true + + + Qt::AlignCenter + + + + + + + + + 280 + 140 + 22 + 122 + + + + + 2 + + + 3 + + + + + QFrame::Panel + + + QFrame::Sunken + + + 04 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 12 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 20 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 30 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 50 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 80 + + + true + + + Qt::AlignCenter + + + + + + + + + 300 + 90 + 251 + 45 + + + + + + + + + 4 + 0 + 61 + 20 + + + + Плотность + + + + + + 70 + 0 + 61 + 20 + + + + Температ. + + + + + + 70 + 20 + 46 + 20 + + + + dТdТ + + + + + + 4 + 20 + 46 + 20 + + + + dПdП + + + + + + 140 + 20 + 46 + 20 + + + + НН + + + + + + 140 + 0 + 46 + 20 + + + + Угол + + + + + + 190 + 20 + 46 + 20 + + + + СС + + + + + + 190 + 0 + 51 + 20 + + + + Скорость + + + + + + + 280 + 280 + 24 + 61 + + + + + 2 + + + 3 + + + + + QFrame::Panel + + + QFrame::Sunken + + + 12 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 18 + + + true + + + Qt::AlignCenter + + + + + + + QFrame::Panel + + + QFrame::Sunken + + + 26 + + + true + + + Qt::AlignCenter + + + + + + + + + 20 + 370 + 111 + 41 + + + + + + + + + 60 + 20 + 46 + 20 + + + + ВвВв + + + + + + 4 + 20 + 46 + 20 + + + + ВтВт + + + + + + 4 + 0 + 61 + 20 + + + + Высота + + + + + + 60 + 0 + 61 + 20 + + + + Высота + + + + + + + 80 + 420 + 41 + 20 + + + + 2500 + + + + + + 30 + 420 + 41 + 20 + + + + 2300 + + + + + + 300 + 410 + 75 + 23 + + + + Ввод + + + + + + 450 + 410 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + lineEdit + lineEdit_2 + lineEdit_3 + lineEdit_4 + lineEdit_5 + lineEdit_6 + lineEdit_103 + lineEdit_98 + pushButton + pushButton_2 + + + +
    diff --git a/vvodready.cpp b/vvodready.cpp new file mode 100644 index 0000000..dd495d8 --- /dev/null +++ b/vvodready.cpp @@ -0,0 +1,36 @@ +#include "vvodready.h" +#include "ui_vvodready.h" + +vvodReady::vvodReady(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodReady) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + ui->checkBox->setChecked(((Widget*)parent)->readyBoegotov); +} + +vvodReady::~vvodReady() +{ + delete ui; +} + +void vvodReady::on_pushButton_2_clicked() +{ + close(); +} + +void vvodReady::on_pushButton_clicked() +{ + ((Widget*)parent())->readyBoegotov = ui->checkBox->isChecked(); + close(); +} + +void vvodReady::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodready.h b/vvodready.h new file mode 100644 index 0000000..f8c8ebe --- /dev/null +++ b/vvodready.h @@ -0,0 +1,28 @@ +#ifndef VVODREADY_H +#define VVODREADY_H + +#include +#include "widget.h" + +namespace Ui { +class vvodReady; +} + +class vvodReady : public QDialog +{ + Q_OBJECT + +public: + explicit vvodReady(QWidget *parent = 0); + ~vvodReady(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodReady *ui; +}; + +#endif // VVODREADY_H diff --git a/vvodready.ui b/vvodready.ui new file mode 100644 index 0000000..e8449b3 --- /dev/null +++ b/vvodready.ui @@ -0,0 +1,96 @@ + + + vvodReady + + + + 0 + 0 + 208 + 115 + + + + Техническое состояние + + + + + 10 + 10 + 181 + 61 + + + + + + + + + 30 + 20 + 61 + 16 + + + + Боеготов + + + + + + 140 + 20 + 16 + 17 + + + + + + + + + + + 20 + 80 + 75 + 23 + + + + Ввод + + + + + + 120 + 80 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    + + checkboxmod + QCheckBox +
    checkboxmod.h
    +
    +
    + + +
    diff --git a/vvodreper.cpp b/vvodreper.cpp new file mode 100644 index 0000000..30d56b6 --- /dev/null +++ b/vvodreper.cpp @@ -0,0 +1,50 @@ +#include "vvodreper.h" +#include "ui_vvodreper.h" + +vvodReper::vvodReper(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodReper) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + ts = ((Widget*)parent)->reper; + ui->lineEdit->setText(QString::number(ts.nZone)); + ui->checkBox->setChecked(ts.south); + ui->lineEdit_3->setText(QString::number(ts.x)); + ui->lineEdit_4->setText(QString::number(ts.y)); + ui->lineEdit_5->setText(QString::number(ts.h)); + +} + +vvodReper::~vvodReper() +{ + delete ui; +} + +void vvodReper::on_pushButton_2_clicked() +{ + close(); +} + +void vvodReper::on_pushButton_clicked() +{ + ts.nZone = ui->lineEdit->text().toInt(); + ts.south = ui->checkBox->isChecked(); + ts.x = ui->lineEdit_3->text().toInt(); + ts.y = ui->lineEdit_4->text().toInt(); + ts.h = ui->lineEdit_5->text().toInt(); + + ((Widget*)parent())->reper = ts; + + ((Widget*)parent())->writeFile(); + close(); +} + +void vvodReper::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodreper.h b/vvodreper.h new file mode 100644 index 0000000..8a5eb59 --- /dev/null +++ b/vvodreper.h @@ -0,0 +1,30 @@ +#ifndef VVODREPER_H +#define VVODREPER_H + +#include +#include "widget.h" +#include "geo.h" + +namespace Ui { +class vvodReper; +} + +class vvodReper : public QDialog +{ + Q_OBJECT + +public: + explicit vvodReper(QWidget *parent = 0); + ~vvodReper(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodReper *ui; + T_geoPoint ts; +}; + +#endif // VVODREPER_H diff --git a/vvodreper.ui b/vvodreper.ui new file mode 100644 index 0000000..dec84d5 --- /dev/null +++ b/vvodreper.ui @@ -0,0 +1,239 @@ + + + vvodReper + + + + 0 + 0 + 288 + 300 + + + + Ввод репера + + + + + 20 + 10 + 261 + 221 + + + + + + + + + 20 + 50 + 91 + 16 + + + + Номер зоны + + + + + + 150 + 50 + 61 + 20 + + + + 6 + + + + + + 20 + 81 + 131 + 16 + + + + Южное Полушарие + + + + + + 20 + 110 + 91 + 16 + + + + XL + + + + + + 150 + 110 + 61 + 20 + + + + 0 + + + + + + 150 + 140 + 61 + 20 + + + + 0 + + + + + + 20 + 140 + 91 + 16 + + + + YL + + + + + + 20 + 170 + 91 + 16 + + + + HL + + + + + + 150 + 170 + 61 + 20 + + + + 0 + + + + + + 150 + 81 + 70 + 17 + + + + + + + + + + 220 + 110 + 16 + 16 + + + + м + + + + + + 220 + 140 + 16 + 16 + + + + м + + + + + + 220 + 170 + 16 + 16 + + + + м + + + + + + + 30 + 250 + 75 + 23 + + + + Ввод + + + + + + 200 + 250 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    + + checkboxmod + QCheckBox +
    checkboxmod.h
    +
    +
    + + +
    diff --git a/vvodsectazim.cpp b/vvodsectazim.cpp new file mode 100644 index 0000000..d538776 --- /dev/null +++ b/vvodsectazim.cpp @@ -0,0 +1,72 @@ +#include "vvodsectazim.h" +#include "ui_vvodsectazim.h" + +vvodSectAzim::vvodSectAzim(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodSectAzim) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + Widget* w =(Widget*) parent; + w->changeOpenWidget(this); + + ui->lineEdit->setText(QString::number(w->sectAzLow1)); + ui->lineEdit_2->setText(QString::number(w->sectAzLow2)); + ui->lineEdit_3->setText(QString::number(w->sectAzHigh1)); + ui->lineEdit_4->setText(QString::number(w->sectAzHigh2)); + + +} + +vvodSectAzim::~vvodSectAzim() +{ + delete ui; +} + +void vvodSectAzim::on_pushButton_3_clicked() +{ + close(); +} + +void vvodSectAzim::on_pushButton_2_clicked() +{ + Widget *w = (Widget*)parent(); + w->sectAzLow1 = 0; + w->sectAzLow2 = 0; + w->sectAzHigh1 = 0; + w->sectAzHigh2 = 0; +// w->kzsSect.left= 0; +// w->kzsSect.right=0; + close(); +} + +void vvodSectAzim::on_pushButton_clicked() +{ + int sl1, sl2, sh1, sh2; + Widget *w = (Widget*)parent(); + + sl1 = ui->lineEdit->text().toInt(); + sl2 = ui->lineEdit_2->text().toInt(); + sh1 = ui->lineEdit_3->text().toInt(); + sh2 = ui->lineEdit_4->text().toInt(); + // + + /// + w->sectAzLow1 = sl1; + w->sectAzLow2 = sl2; + w->sectAzHigh1 = sh1; + w->sectAzHigh2 = sh2; + + +// w->kzsSect.left= (sl1*100+sl2)/100*6; +// w->kzsSect.right=(sh1*100+sh2)/100*6; + w->writeFile(); + close(); +} + +void vvodSectAzim::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodsectazim.h b/vvodsectazim.h new file mode 100644 index 0000000..c650ef1 --- /dev/null +++ b/vvodsectazim.h @@ -0,0 +1,32 @@ +#ifndef VVODSECTAZIM_H +#define VVODSECTAZIM_H + +#include +#include "widget.h" + +namespace Ui { +class vvodSectAzim; +} + +class vvodSectAzim : public QDialog +{ + Q_OBJECT + +public: + explicit vvodSectAzim(QWidget *parent = 0); + ~vvodSectAzim(); + +private slots: + void on_pushButton_3_clicked(); + + void on_pushButton_2_clicked(); + + void on_pushButton_clicked(); + + void closeEvent(QCloseEvent *event); + +private: + Ui::vvodSectAzim *ui; +}; + +#endif // VVODSECTAZIM_H diff --git a/vvodsectazim.ui b/vvodsectazim.ui new file mode 100644 index 0000000..fb0e507 --- /dev/null +++ b/vvodsectazim.ui @@ -0,0 +1,244 @@ + + + vvodSectAzim + + + + 0 + 0 + 330 + 162 + + + + Сектор по азимуту + + + + + 10 + 10 + 311 + 111 + + + + + + + + + 10 + 20 + 131 + 16 + + + + Левая граница b + + + + + + 10 + 80 + 131 + 16 + + + + Правая граница b + + + + + + 150 + 12 + 46 + 13 + + + + лев. + + + + + + 150 + 28 + 46 + 13 + + + + сект. + + + + + + 150 + 70 + 46 + 13 + + + + прав. + + + + + + 150 + 86 + 46 + 13 + + + + сект. + + + + + + 190 + 20 + 41 + 20 + + + + 0 + + + + + + 250 + 20 + 41 + 20 + + + + 0 + + + + + + 190 + 70 + 41 + 20 + + + + 0 + + + + + + 250 + 70 + 41 + 20 + + + + 0 + + + + + + 232 + 21 + 16 + 16 + + + + + 12 + + + + - + + + + + + 232 + 72 + 16 + 16 + + + + + 12 + + + + - + + + + + + + 20 + 130 + 75 + 23 + + + + Ввод + + + + + + 130 + 130 + 75 + 23 + + + + Сброс + + + + + + 240 + 130 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvodsectotvet.cpp b/vvodsectotvet.cpp new file mode 100644 index 0000000..fd17c0f --- /dev/null +++ b/vvodsectotvet.cpp @@ -0,0 +1,62 @@ +#include "vvodsectotvet.h" +#include "ui_vvodsectotvet.h" + +vvodSectOtvet::vvodSectOtvet(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodSectOtvet) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + Widget *w = (Widget*)parent; + + w->changeOpenWidget(this); + + int h = w->ownSect.height; + int l = w->ownSect.left; + int r = w->ownSect.right; + if ((h>=0)&&(h<3)) ui->comboBox->setCurrentIndex(h); + if ((l>=0)&&(l<360)) ui->lineEdit->setText(QString::number(l)); + if ((r>=0)&&(r<360)) ui->lineEdit_2->setText(QString::number(r)); + +} + +vvodSectOtvet::~vvodSectOtvet() +{ + delete ui; +} + +void vvodSectOtvet::on_pushButton_2_clicked() +{ + close(); +} + +void vvodSectOtvet::on_pushButton_clicked() +{ + T_sectOtv p; + + if (ui->checkBox->isChecked()) + { + p.height=0; + p.left=0; + p.right=0; + p.bottom=0; + } + else + { + p.height=ui->comboBox->currentIndex(); + p.left =ui->lineEdit->text().toInt(); + p.right =ui->lineEdit_2->text().toInt(); + p.bottom=0; + } + ((Widget*)parent())->ownSect=p; + + ((Widget*)parent())->writeFile(); + close(); +} + +void vvodSectOtvet::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodsectotvet.h b/vvodsectotvet.h new file mode 100644 index 0000000..5436abe --- /dev/null +++ b/vvodsectotvet.h @@ -0,0 +1,28 @@ +#ifndef VVODSECTOTVET_H +#define VVODSECTOTVET_H + +#include +#include "widget.h" + +namespace Ui { +class vvodSectOtvet; +} + +class vvodSectOtvet : public QDialog +{ + Q_OBJECT + +public: + explicit vvodSectOtvet(QWidget *parent = 0); + ~vvodSectOtvet(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodSectOtvet *ui; +}; + +#endif // VVODSECTOTVET_H diff --git a/vvodsectotvet.ui b/vvodsectotvet.ui new file mode 100644 index 0000000..64b53e1 --- /dev/null +++ b/vvodsectotvet.ui @@ -0,0 +1,220 @@ + + + vvodSectOtvet + + + + 0 + 0 + 269 + 192 + + + + Ввод сектора ответственности + + + + + 10 + 10 + 251 + 141 + + + + + + + + + 20 + 20 + 131 + 16 + + + + Левая граница сектора + + + + + + 170 + 20 + 41 + 20 + + + + 0 + + + + + + 220 + 20 + 31 + 16 + + + + град + + + + + + 220 + 50 + 31 + 16 + + + + град + + + + + + 170 + 50 + 41 + 20 + + + + 0 + + + + + + 20 + 50 + 131 + 16 + + + + Правая граница сектора + + + + + + 20 + 82 + 81 + 16 + + + + Эшелон + + + + + false + + + + 130 + 80 + 81 + 22 + + + + + 0 - без огр + + + + + 1 - нижний + + + + + 2 - верхний + + + + + + + 20 + 110 + 81 + 16 + + + + Сброс сектора + + + + + + 180 + 110 + 21 + 17 + + + + + + + + + + + 40 + 160 + 75 + 23 + + + + Ввод + + + + + + 150 + 160 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    + + comboboxmod + QComboBox +
    comboboxmod.h
    +
    + + checkboxmod + QCheckBox +
    checkboxmod.h
    +
    +
    + + +
    diff --git a/vvodsectugol.cpp b/vvodsectugol.cpp new file mode 100644 index 0000000..6810536 --- /dev/null +++ b/vvodsectugol.cpp @@ -0,0 +1,77 @@ +#include "vvodsectugol.h" +#include "ui_vvodsectugol.h" + +vvodSectUgol::vvodSectUgol(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodSectUgol) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + Widget* w =(Widget*) parent; + w->changeOpenWidget(this); + + ui->lineEdit->setText(QString::number(w->sectUgLow1)); + ui->lineEdit_2->setText(QString::number(w->sectUgLow2)); + ui->lineEdit_3->setText(QString::number(w->sectUgHigh1)); + ui->lineEdit_4->setText(QString::number(w->sectUgHigh2)); + + + +} + +vvodSectUgol::~vvodSectUgol() +{ + delete ui; +} + +void vvodSectUgol::on_pushButton_3_clicked() +{ + close(); +} + +void vvodSectUgol::on_pushButton_2_clicked() +{ + Widget *w = (Widget*)parent(); + w->sectUgLow1 = 0; + w->sectUgLow2 = 0; + w->sectUgHigh1 = 0; + w->sectUgHigh2 = 0; + + w->kzsSect.height = 0; + w->kzsSect.bottom = 0; + close(); +} + + +void vvodSectUgol::on_pushButton_clicked() +{ + int sl1, sl2, sh1, sh2; + Widget *w = (Widget*)parent(); + + sl1 = ui->lineEdit->text().toInt(); + sl2 = ui->lineEdit_2->text().toInt(); + sh1 = ui->lineEdit_3->text().toInt(); + sh2 = ui->lineEdit_4->text().toInt(); + // + + /// + w->sectUgLow1 = sl1; + w->sectUgLow2 = sl2; + w->sectUgHigh1 = sh1; + w->sectUgHigh2 = sh2; + + + w->kzsSect.height=(sh1*100+sh2)/100*6; + w->kzsSect.bottom=(sl1*100+sl2)/100*6; + + w->writeFile(); + + close(); +} + +void vvodSectUgol::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/vvodsectugol.h b/vvodsectugol.h new file mode 100644 index 0000000..b67ac84 --- /dev/null +++ b/vvodsectugol.h @@ -0,0 +1,31 @@ +#ifndef VVODSECTUGOL_H +#define VVODSECTUGOL_H + +#include +#include "widget.h" + +namespace Ui { +class vvodSectUgol; +} + +class vvodSectUgol : public QDialog +{ + Q_OBJECT + +public: + explicit vvodSectUgol(QWidget *parent = 0); + ~vvodSectUgol(); + +private slots: + void on_pushButton_3_clicked(); + + void on_pushButton_2_clicked(); + + void on_pushButton_clicked(); + + void closeEvent(QCloseEvent *event); +private: + Ui::vvodSectUgol *ui; +}; + +#endif // VVODSECTUGOL_H diff --git a/vvodsectugol.ui b/vvodsectugol.ui new file mode 100644 index 0000000..15b5d95 --- /dev/null +++ b/vvodsectugol.ui @@ -0,0 +1,244 @@ + + + vvodSectUgol + + + + 0 + 0 + 329 + 166 + + + + Сектор по углу места + + + + + 20 + 130 + 75 + 23 + + + + Ввод + + + + + + 130 + 130 + 75 + 23 + + + + Сброс + + + + + + 10 + 10 + 311 + 111 + + + + + + + + + 10 + 20 + 131 + 16 + + + + Нижняя граница е + + + + + + 10 + 80 + 131 + 16 + + + + Верхняя граница е + + + + + + 150 + 12 + 46 + 13 + + + + низ. + + + + + + 150 + 28 + 46 + 13 + + + + сект. + + + + + + 150 + 70 + 46 + 13 + + + + верх. + + + + + + 150 + 86 + 46 + 13 + + + + сект. + + + + + + 190 + 20 + 41 + 20 + + + + 0 + + + + + + 250 + 20 + 41 + 20 + + + + 0 + + + + + + 190 + 70 + 41 + 20 + + + + 0 + + + + + + 250 + 70 + 41 + 20 + + + + 0 + + + + + + 232 + 21 + 16 + 16 + + + + + 12 + + + + - + + + + + + 232 + 72 + 16 + 16 + + + + + 12 + + + + - + + + + + + + 240 + 130 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    +
    + + +
    diff --git a/vvodts.cpp b/vvodts.cpp new file mode 100644 index 0000000..61c1e2c --- /dev/null +++ b/vvodts.cpp @@ -0,0 +1,48 @@ +#include "vvodts.h" +#include "ui_vvodts.h" + +vvodTS::vvodTS(QWidget *parent) : + QDialog(parent), + ui(new Ui::vvodTS) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + ts = ((Widget*)parent)->ts; + ui->lineEdit->setText(QString::number(ts.nZone)); + ui->checkBox->setChecked(ts.south); + ui->lineEdit_3->setText(QString::number(ts.x)); + ui->lineEdit_4->setText(QString::number(ts.y)); + ui->lineEdit_5->setText(QString::number(ts.h)); +} + +vvodTS::~vvodTS() +{ + delete ui; +} + +void vvodTS::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} + +void vvodTS::on_pushButton_2_clicked() +{ + close(); +} + +void vvodTS::on_pushButton_clicked() +{ + ts.nZone = ui->lineEdit->text().toInt(); + ts.south = ui->checkBox->isChecked(); + ts.x = ui->lineEdit_3->text().toInt(); + ts.y = ui->lineEdit_4->text().toInt(); + ts.h = ui->lineEdit_5->text().toInt(); + + ((Widget*)parent())->ts = ts; + ((Widget*)parent())->writeFile(); + close(); +} diff --git a/vvodts.h b/vvodts.h new file mode 100644 index 0000000..0c62945 --- /dev/null +++ b/vvodts.h @@ -0,0 +1,31 @@ +#ifndef VVODTS_H +#define VVODTS_H + +#include +#include "widget.h" +#include "geo.h" + +namespace Ui { +class vvodTS; +} + +class vvodTS : public QDialog +{ + Q_OBJECT + +public: + explicit vvodTS(QWidget *parent = 0); + ~vvodTS(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::vvodTS *ui; + T_geoPoint ts; + +}; + +#endif // VVODTS_H diff --git a/vvodts.ui b/vvodts.ui new file mode 100644 index 0000000..9388dd9 --- /dev/null +++ b/vvodts.ui @@ -0,0 +1,239 @@ + + + vvodTS + + + + 0 + 0 + 267 + 281 + + + + Ввод точки стояния + + + + + 180 + 240 + 75 + 23 + + + + Отказ + + + + + + 20 + 240 + 75 + 23 + + + + Ввод + + + + + + 0 + 0 + 261 + 221 + + + + + + + + + 20 + 50 + 91 + 16 + + + + Номер зоны + + + + + + 150 + 50 + 61 + 20 + + + + 6 + + + + + + 20 + 81 + 131 + 16 + + + + Южное Полушарие + + + + + + 20 + 110 + 91 + 16 + + + + XL + + + + + + 150 + 110 + 61 + 20 + + + + 0 + + + + + + 150 + 140 + 61 + 20 + + + + 0 + + + + + + 20 + 140 + 91 + 16 + + + + YL + + + + + + 20 + 170 + 91 + 16 + + + + HL + + + + + + 150 + 170 + 61 + 20 + + + + 0 + + + + + + 150 + 81 + 70 + 17 + + + + + + + + + + 220 + 110 + 16 + 16 + + + + м + + + + + + 220 + 140 + 16 + 16 + + + + м + + + + + + 220 + 170 + 16 + 16 + + + + м + + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    + + checkboxmod + QCheckBox +
    checkboxmod.h
    +
    +
    + + +
    diff --git a/widget.cpp b/widget.cpp new file mode 100644 index 0000000..5027423 --- /dev/null +++ b/widget.cpp @@ -0,0 +1,3309 @@ +#include +#include +#include "widget.h" +#include "ui_widget.h" + +#include + +Widget::Widget(QWidget *parent) : + QWidget(parent), + ui(new Ui::Widget) +{ + ui->setupUi(this); + +// connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)), this, SLOT(focusSS(QWidget*, QWidget*))); + + ui->btnZone->setStyleSheet("background-color: green"); + + + initParams(); + initBtnUIDs(); + + createActions(); + createMenu(); + + setGraph(); + + ui->comboBox_2->setCurrentIndex(6); + connect(ui->comboBox_2, SIGNAL(activate1(int)), this, SLOT(activateWindow(int))); + + QTimer *tmr = new QTimer(this); + connect(tmr, SIGNAL(timeout()), this, SLOT(msTickGraph())); + tmr->start(1000); + + tmr = new QTimer(this); + connect(tmr, SIGNAL(timeout()), this, SLOT(reCalculate())); + tmr->start(250); + + udpSocket = new QUdpSocket(this); + udpSocket->bind(6619, QUdpSocket::ShareAddress); + connect(udpSocket, SIGNAL(readyRead()), this, SLOT(processPendingDatagrams())); + + udpTarget = new QUdpSocket(this); + udpTarget->bind(6630, QUdpSocket::ShareAddress); + connect(udpTarget, SIGNAL(readyRead()), this, SLOT(process_TargetKDG())); + + udpCU = new QUdpSocket(this); + udpCU->bind(6635, QUdpSocket::ShareAddress); + connect(udpCU, SIGNAL(readyRead()), this, SLOT(process_CU_KRU_KDG())); + + udpSend = new QUdpSocket(this); + + udpOptServer = new QUdpSocket(this); + udpOptServer->bind(6618, QUdpSocket::ShareAddress); + connect(udpOptServer, SIGNAL(readyRead()), this, SLOT(newOptServerData())); + + udpOptServer2 = new QUdpSocket(this); + udpOptServer2->bind(6621, QUdpSocket::ShareAddress); + connect(udpOptServer2, SIGNAL(readyRead()), this, SLOT(newOptServerData2())); + + + udpNewTask = new QUdpSocket(this); + udpNewTask->bind(6610, QUdpSocket::ShareAddress); + connect(udpNewTask, SIGNAL(readyRead()), this, SLOT(newTaskReadDatagrams())); + + QTimer *tmrSyncr = new QTimer(); + connect(tmrSyncr, SIGNAL(timeout()), this, SLOT(synhrTimeout())); + tmrSyncr->start(1000); + + QTimer *tmrReport = new QTimer(); + connect(tmrReport, SIGNAL(timeout()), this, SLOT(sendReport())); + tmrReport->start(55); + + + + + + showSplash(3); + + + +// addTargets(); +// ASnumTarget = 1; +} + +Widget::~Widget() +{ + delete ui; +} + +void Widget::getFocus() +{ + // -- . . + HWND id = GetForegroundWindow(); + int iMyTID = GetCurrentThreadId(); + int iCurrTID = GetWindowThreadProcessId(id,0); + + AttachThreadInput(iMyTID, iCurrTID, TRUE); + SetForegroundWindow(winId()); + AttachThreadInput(iMyTID, iCurrTID, FALSE); + // -- + +} + +void Widget::activateWindow(int c) +{ + if (c==0x31) ui->pushButton_3->setFocus(); + if (c==0x32) ui->pushButton->setFocus(); + releaseKeyboard(); +} + +void Widget::process_CU_KRU_KDG() { + QByteArray datagram; + + qint16 i16; + qint32 i32; + qint8 ZZ; + float grX, grY; + int id; + bool KO; + + qint8 zoneType; + float anglStart, anglEnd; + + // float tFloat; + while (udpCU->hasPendingDatagrams()) { + QDataStream d(&datagram, QIODevice::ReadOnly); + d.setByteOrder(QDataStream::LittleEndian); + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + datagram.clear(); + datagram.resize(udpCU->pendingDatagramSize()); + udpCU->readDatagram(datagram.data(), datagram.size()); + + d >> i16; size_t sizeOfPkg = i16; + if (sizeOfPkg == 25) { // CU + d >> i16 >> i16; + Q_ASSERT(i16==7); + d >> i16; + Q_ASSERT(i16==1); + d >> i32; + // Nab + d >> i16; + + // targetID + d >> i16; id = i16; + KO = (id==0); + id += 6; // , + // x, y, ZZ + d >> grX >> grY; + d >> ZZ; + + if (KO) { + + } + else { + if (ZZ==11) + setVCU(id); + else if (ZZ==22) { + int trgtNum = findTargetFromId(id); + if (trgtNum>=0) + msVvodCU_N2(-(trgtNum+1), ZZ); + } + else + clearVCU(); + } + QString strZZ = QString::number(ZZ); + if (ZZ<10) strZZ.prepend(QChar('0')); + ui->lineEdit_28->setText(strZZ); + } + + if (sizeOfPkg == 63) { // KRU + d >> i16 >> i16; + Q_ASSERT(i16 == 8); + d >> i16; + Q_ASSERT(i16 == 1); + d >> i32 >> i16; + d >> zoneType; + d >> anglStart >> anglEnd; + anglStart -= anglEnd/2; + anglEnd = anglStart+anglEnd; + setSector(zoneType, anglStart, anglEnd); + } + } + +} + +void Widget::setSector(qint8 zoneType, float anglStart, float anglEnd) { + T_sectOtv p; + p.left = anglStart; + p.right = anglEnd; + + switch (zoneType) { + case 1: + ownSect = p; + break; + case 2: + kzsSect = p; + break; + case 0: + default: + p.right=0; + p.left=0; + ownSect=p; + kzsSect=p; + break; + } +} + +void Widget::newOptServerData() +{ + QByteArray datagram; + QDataStream d(&datagram, QIODevice::ReadOnly); + d.setByteOrder(QDataStream::LittleEndian); + qint16 len; + qint8 tByte; +// qint16 tWord; + bool tBool; +// qreal tReal; + float tFloat; + + QString dbgStr; + QByteArray dbgBuf; + + + + while (udpOptServer->hasPendingDatagrams()) + { + datagram.clear(); + len = udpOptServer->pendingDatagramSize(); + datagram.resize(len); + udpOptServer->readDatagram(datagram.data(), datagram.size()); + + if (len==828) + { + d >> tBool; + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + d >> tFloat; + ugolGUN = tFloat*180/M_PI; + +// dbgStr = QString("ugolGUN = ")+QString::number(tFloat, 'f', 4); +// dbgBuf = dbgStr.toLocal8Bit(); +// processSendingDatagrams(dbgBuf, 45011); + + + d >> tFloat; + azimutGUN = azimutKurs + tFloat*180/M_PI; + +// dbgStr = QString("azimutGUN = ")+QString::number(tFloat, 'f', 4); +// dbgBuf = dbgStr.toLocal8Bit(); +// processSendingDatagrams(dbgBuf, 45011); + d >> tFloat; // azAntRLS + d >> tFloat; // umAntRLS + d >> tBool; // Poxod + if (tBool) basePoxod = 1; + d >> tByte; // drive + d >> tByte; // fire + d >> tByte; // vizir + d >> tByte; // setka + d >> tByte; // filter + d >> tBool; // KPN_on + d >> tFloat; // umKPN + d >> tFloat; // azKPN + + d >> tFloat; // umMissTur + + if (basePoxod==1) + umMissTur = -162; + else + umMissTur = int (tFloat*3000/M_PI); +// qDebug("%d umMissTur = %d", basePoxod, umMissTur); + } + } +} + +void Widget::newOptServerData2() +{ + QByteArray datagram; + QDataStream d(&datagram, QIODevice::ReadOnly); + d.setByteOrder(QDataStream::LittleEndian); + qint16 len; +// qint8 tByte; +// qint16 tWord; +// bool tBool; +// qreal tReal; + float tFloat; + + QString dbgStr; + QByteArray dbgBuf; + + + + while (udpOptServer2->hasPendingDatagrams()) + { + datagram.clear(); + len = udpOptServer2->pendingDatagramSize(); + datagram.resize(len); + udpOptServer2->readDatagram(datagram.data(), datagram.size()); + + if (len==812) + { + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + d >> tFloat; // x + d >> tFloat; // y + d >> tFloat; // z + d >> tFloat; // + d >> tFloat; // + + d >> tFloat; // + azimutKurs = 90-tFloat; + + } + } +} + +void Widget::sendReport() +{ + + + int i; + qint8 tByte; + qint16 tWord; + qreal tReal; + float tFloat; + bool tBool; + + + + QByteArray buf; + QDataStream d(&buf, QIODevice::WriteOnly); + d.setByteOrder(QDataStream::LittleEndian); + +// + d << (qint8)currentTaskNum; +// + d << (qint16)metAv.temp << (qint8)metAv.wind << (qint16)metAv.azim << (qint16)metAv.pressure; +// + if (meteoSred) tByte=1; else tByte = 0; + d << tByte; + +// + QByteArray tmpMetSr = metSr.toLocal8Bit(); + tmpMetSr.resize(182); + + for (i=0; i<182; i++) + { + tByte=tmpMetSr[i]; + d << tByte; + } + +// + d << (qint16)ZAnastrel << (qint16)ZAtempZar; +// , + + for (i=0; i<9; i++) + { + d << (qint16)errZAgor[i]; + } + + for (i=0; i<7; i++) + { + d << (qint16)errZAver[i]; + } + + d << (qint16)errZAdB; + +// + + d << (qint8)rezhimZerk; + + + +// + + tReal = ts.x; d << tReal; + tReal = ts.y; d << tReal; + tReal = ts.h; d << tReal; + tReal = azimutKurs; d << tReal; + + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + tFloat = ugolGUN; d << tFloat; + tFloat = azimutGUN; d << tFloat; + d.setFloatingPointPrecision(QDataStream::DoublePrecision); + + + + for (i=0; i<4; i++) + { + tByte=0; + d << tByte; + } + + tBool = true; + d << tBool; + +// d<radioButton_set5->isChecked())||(ui->radioButton_set6->isChecked())); + d << tBool; + + if (VCUnumTarget!=-1) + tWord = qint16(targetsIds[VCUnumTarget]); + else + tWord = 0; + d << tWord; + +// 4x 9 + + for (i=0; i<4; i++) + { + tByte = i*10+i; + d << tByte; + } + + for (i=1; i<10; i++) + { + tReal = (qreal)i; + d << tReal; + } + + if (!silentMode) + udpSend->writeDatagram(buf.data(), buf.size(), QHostAddress("192.168.0.255"), 6617); + +} + +void Widget::synhrTimeout() +{ + QByteArray buf; + buf.resize(2); + buf[0] = 35; + buf[1] = currentTaskNum; + + +//QString dbgStr; +//QByteArray dbgBuf; +//dbgStr = QString(" +++++++++++++ writed to udp = ")+QString::number(currentTaskNum); +//dbgBuf = dbgStr.toLocal8Bit(); +//processSendingDatagrams(dbgBuf, 45011); + + + // udpSend->writeDatagram(buf.data(), buf.size(), QHostAddress("127.0.0.1"), 6600); + if (!silentMode) + udpSend->writeDatagram(buf.data(), buf.size(), QHostAddress("192.168.0.255"), 6600); +} + +void Widget::newTaskReadDatagrams() +{ + int len; + QByteArray datagram; + QByteArray tmpMetSr; + + QDataStream d(&datagram, QIODevice::ReadOnly); + d.setByteOrder(QDataStream::LittleEndian); + + qint8 tByte; + qint16 tWord; + bool tBool, flAutoFill; + qreal tReal; + float tFloat; + int i; + + QString dbgStr; + QByteArray dbgBuf; + + tmpMetSr.resize(182); + tmpMetSr.fill(0, 182); + + while (udpNewTask->hasPendingDatagrams()) + { + datagram.clear(); + len = udpNewTask->pendingDatagramSize(); + datagram.resize(len); + udpNewTask->readDatagram(datagram.data(), datagram.size()); + if (len == 2) + { + d >> tByte; + if (tByte==2) + { + d >> tByte; + if (tByte==0) {QTimer::singleShot(100, this, SLOT(close()));} + if (tByte==1) // + { + QString program = "c:/Shilka_exe/shutdown.exe"; + QStringList arguments; + QProcess *myProcess = new QProcess(this); + myProcess->startDetached(program, arguments); + QTimer::singleShot(100, this, SLOT(close())); + } + if (tByte==2) // + { + QString program = "c:/Shilka_exe/reboot.exe"; + QStringList arguments; + QProcess *myProcess = new QProcess(this); + myProcess->startDetached(program, arguments); + QTimer::singleShot(100, this, SLOT(close())); + } + } + if (tByte==1) + { + // qDebug("-1"); + d >> tByte; + // qDebug("---%d", tByte); + if (tByte==2) + { + + currentNum = 0; + VCUnumTarget=-1; + ASnumTarget=-1; + for (i=0; i<100; i++) + { + targetsIds[i]=0; + grAir[i]->setNull(); + + } + } + } + } + + if (len==308) + { + d >> tByte; + currentTaskNum = tByte; + +//dbgStr = QString("read from udp = ")+QString::number(tByte)+QString(" ---- curTaskNum = ")+QString::number(currentTaskNum); +//dbgBuf = dbgStr.toLocal8Bit(); +//processSendingDatagrams(dbgBuf, 45011); + + d >> tWord >> tByte >> tByte; + + d >> flAutoFill; // autoFill !!!!!!! + + if (flAutoFill) + { + + + d >> tWord; // temp Vozduh + metAv.temp = tWord; + d >> tByte; // skor Vetra + metAv.wind = tByte; + d >> tWord; // azim Vetra v DU + metAv.azim = tWord; + d >> tWord; // davl vozduh v mm.rt.st. + metAv.pressure = tWord; + d >> tByte; // 0 - meteoAvtonom + + setMeteo(!tByte, tByte); + + + for (i=0; i<182; i++) // meteoSred + { + d >> tByte; + tmpMetSr[i] = tByte; + } + metSr = QString(tmpMetSr); + + d >> tWord; // Nastrel stvolov + ZAnastrel = tWord; + d >> tWord; // temp zaryad + ZAtempZar = tWord; + + + for (i=0; i<9; i++) // oshibki ZU goriz + { + d >> tWord; + errZAgor[i]=tWord; + } + + for (i=0; i<7; i++) // oshibki ZU vert + { + d >> tWord; + errZAver[i]=tWord; + } + + d >> tWord; // + errZAdB = tWord; + + d >> tByte; // byte - zerk strelba [0 - vikl, 1 - x, 2 - y] + rezhimZerk = tByte; + + + for (i=0; i<5; i++) d>>tByte; + +// pos + d >> tReal; // x + ts.x = (int)tReal; + d >> tReal; // y + ts.y = (int)tReal; + d >> tReal; // h + ts.h = (int)tReal; + d >> tReal; // Azim kurs + azimutKurs = tReal; + + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + d >> tFloat; // UgolM Gun +// if (fabs(tFloat-ugolGUNprev)<1) + ugolGUN = tFloat; +// ugolGUNprev = tFloat; +// dbgStr = QString("ugolGUN = ")+QString::number(tFloat, 'f', 4); +// dbgBuf = dbgStr.toLocal8Bit(); +// processSendingDatagrams(dbgBuf, 45011); + + d >> tFloat; // Azim Gun +// if (fabs(tFloat-azimutGUNprev)<1) + azimutGUN = tFloat; +// azimutGUNprev = tFloat; +// dbgStr = QString("azimutGUN = ")+QString::number(tFloat, 'f', 4); +// dbgBuf = dbgStr.toLocal8Bit(); +// processSendingDatagrams(dbgBuf, 45011); + + + d.setFloatingPointPrecision(QDataStream::DoublePrecision); + + // (0 - , 1 - , 2 - ) + for (i=0; i<4; i++) + { + d>>tByte; + } + d>>tBool; + + + d>>tBool; // <<-- , + d>>tWord;// <<-- , +// pos + + d >> tWord; // + for (i=0; i<4; i++) // + { + d >> tWord; + BK[i] = tWord; + } + + d >> tByte; + BK[4] = tByte; // - + + // + d >> tBool; + MRUmode = tBool; + + } // if flAutoFill + + } + } + +} + +void Widget::keybReadDatagrams(int d1, int d2, int d3, int d4, int d5) +{ + qint8 key=0; + + + int i; + + int winCode[29]={0, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, + VK_DIVIDE, VK_ADD, VK_SUBTRACT, VK_MULTIPLY, VK_DECIMAL, + VK_RETURN, VK_F11, VK_F12, VK_CONTROL, VK_MENU, VK_DELETE, + VK_BACK, VK_ESCAPE, VK_TAB, VK_RIGHT, VK_LEFT, VK_DOWN, VK_UP}; + + static int pressedKey[29] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + + static bool flAlt=false; + static bool flCtrl=false; + static bool flNum=true; + + + + + int buf1[4]; + buf1[0]=d2; buf1[1]=d3; buf1[2]=d4; buf1[3]=d5; +// NumLock + key = d1; + if (((key==0)&&(flNum))||((key==1)&&(!flNum))) + { + flNum = (key==1); + keybd_event(VK_NUMLOCK, 0,0,0); + keybd_event(VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0); + + + key=0; + // + } + + +// + for (i=0; i<4; i++) + { + if ( (buf1[i]<0) || (buf1[i]>29) ) buf1[i]=0; + + } + + +// Alt Ctrl +// Alt Ctrl 1 , + + + int s=0; + for (i=0; i<4; i++) {if (buf1[i]!=19) {s++;}} + if (s==4) + { + if (flCtrl) keybd_event(VK_CONTROL, 0,KEYEVENTF_KEYUP,0); + flCtrl = false; + } + + s=0; + for (i=0; i<4; i++) {if (buf1[i]!=20) { s++;}} + if (s==4) + { + + if (flAlt) keybd_event(VK_MENU, 0,KEYEVENTF_KEYUP,0); + flAlt = false; + } + + + for (i=0; i<4; i++) + { + if (buf1[i]==19) + { + if (!flCtrl) keybd_event(VK_CONTROL, 0,0,0); + flCtrl = true; + buf1[i]=0; + } + if (buf1[i]==20) + { + if (!flAlt) keybd_event(VK_MENU, 0,0,0); + flAlt = true; + buf1[i]=0; + } + + + } + + +// 0 + if (buf1[0]+buf1[1]+buf1[2]+buf1[3]) + { + // if (splashIsOn==0) + { + for (i=0; i<4; i++) + { + if (buf1[i]!=0) + { +//qDebug("----- %d [17]=%d [18]=%d ", buf1[0], pressedKey[17], pressedKey[18]); + if ((pressedKey[buf1[i]]==0)||(pressedKey[buf1[i]]>keybMaxDelay)) + keybd_event(winCode[buf1[i]],0,0,0); + } + } +//qDebug("[][][] %d %d %d %d ", buf1[0], buf1[1], buf1[2], buf1[3]); + for (i=1; i<29; i++) + { + if ((buf1[0]!=i)&&(buf1[1]!=i)&&(buf1[2]!=i)&&(buf1[3]!=i)) + { + pressedKey[i]=0; + } + else + { + pressedKey[i]++; + } + + } + + +// for (i=0; i<4; i++) +// if (buf1[i]!=0) keybd_event(winCode[buf1[i]],0,KEYEVENTF_KEYUP,0); + + // if (flCtrl) keybd_event(VK_CONTROL, 0,KEYEVENTF_KEYUP,0); + // if (flAlt) keybd_event(VK_MENU, 0,KEYEVENTF_KEYUP,0); + } + +// if (splashIsOn==4) +// for (i=0; i<4; i++) +// if (buf1[i]==16) +// { +// hideSplash(); +// ui->graphicsView->centerOn(0,0); +// } + + } // if (buf1[0]+buf1[1]+buf1[2]+buf1[3]) + else + { + for (i=0; i<29; i++) pressedKey[i]=0; + } + +// ----- - +// keybd_event(keyWin, 0,0,0); +// keybd_event(keyWin, 0, KEYEVENTF_KEYUP, 0); + +// } +} + +void Widget::processPendingDatagrams() // +{ + QByteArray datagram, buf; + QDataStream d(&datagram, QIODevice::ReadOnly); + d.setByteOrder(QDataStream::LittleEndian); + int id, i; + int aType; + int gType; + bool tBool; + qint8 tByte; + qint16 tWord; + qreal tReal; //, tReal1; + float tFloat; + qreal cX, cY, cH, vX, vY; + qreal azim, ugol, daln, dist; + + while (udpSocket->hasPendingDatagrams()) { + datagram.clear(); + datagram.resize(udpSocket->pendingDatagramSize()); + udpSocket->readDatagram(datagram.data(), datagram.size()); + + // qDebug("size=%d", datagram.size()); + if (datagram.size()==1460) + { + // + + d >> tBool ; // pwrRLS + d >> tBool ; // rotationRLS + d >> tBool ; // destrRLS + d >> tByte ; // lightRLS + d >> tByte ; // focusRLS + d >> tByte; // modeRLS + + switch (tByte) + { + case 1: + ui->lineEdit_3->setText(QString::fromLocal8Bit(" 1")); + break; + case 2: + ui->lineEdit_3->setText(QString::fromLocal8Bit(" 2")); + break; + case 3: + ui->lineEdit_3->setText(QString::fromLocal8Bit(" 3")); + break; + case 4: + ui->lineEdit_3->setText(QString::fromLocal8Bit(" 4")); + break; + case 5: + ui->lineEdit_3->setText(QString::fromLocal8Bit("")); + break; + case 6: + ui->lineEdit_3->setText(QString::fromLocal8Bit("")); + break; + case 7: + ui->lineEdit_3->setText(QString::fromLocal8Bit("")); + break; + default: + break; + + + } + + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + d >> tFloat ; // azimRLS + azimutRLS= tFloat; + + //qDebug("azimutRLS: %f", azimutRLS); + grAzimutRLS->setAngle(-azimutRLS+90); + if (VCUnumTarget!=-1) + { + + grVCU->setPos1(grAir[VCUnumTarget]->coordsL()); + qreal zoom = zoomKoef[ui->comboBox_2->currentIndex()]; + + QPointF p1 = grAzimutRLS->pos1(); + QLineF lf(0,0,p1.x(),p1.y()); + QLineF lfn = lf.normalVector(); + lfn.setLength(51/zoom); + QLineF lfT = QLineF(grVCU->pos0(), grVCU->pos1()); + + lf.setLength(lfT.length()); + lfn.translate(lf.p2().x(),lf.p2().y()); + lfn.setAngle(lfn.angle()+180); + // grAzimutRLSnormal->setPos0(lfn.p1()); + // grAzimutRLSnormal->setPos1(lfn.p2()); + + + + } + + d >> tFloat ; // ugolMestaRLS + //qDebug(" ugolRLS: %f", tFloat); + d.setFloatingPointPrecision(QDataStream::DoublePrecision); + + d>>tByte>>tByte>>tByte; + + + d >> tReal; // 2 azMetkaCURLS dalnMetkaCURLS + + d >> tByte; // urovenUsilenRLS + + for (i=0; i<10; i++) + d >> tByte; + for (i=0;i<3; i++) // rez1-3 + d >> tReal; + + + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + + for (i=0; i<3; i++) + d >> tFloat; + for (i=0; i<5; i++) + d >> tByte; + for (i=0; i<8; i++) + d >> tFloat; + d.setFloatingPointPrecision(QDataStream::DoublePrecision); + + d >> tByte; // powerCVS + + pwrCVS[0] = tByte; + + //QString dbgStr = QString("powerCVS = ")+QString::number(tByte); + //QByteArray dbgBuf = dbgStr.toLocal8Bit(); + //processSendingDatagrams(dbgBuf, 45011); + + + + if (pwrCVS[0]==1) + { + if (openWidget) openWidget->close(); + showSplash(1); + } + else + { + if ((pwrCVS[0]==2)&&(splashIsOn==1)) + { + + showSplash(3); + tmpGS->clear(); + tmpGS->addPixmap(QPixmap(":/fon/pics/loading.png")); + + // qDebug("power"); + } + } + //*/ + + + d >> tBool; // power909 + ui->checkBox_ctrl0->setChecked(!tBool); + + + d >> tBool; // Reset CVS; + resetCVS[1]=resetCVS[0]; + resetCVS[0]=tBool; + tByte = resetCVS[0]+resetCVS[1]; + //-- + if (tByte==2) + { + showSplash(3); + tmpGS->clear(); + tmpGS->addPixmap(QPixmap(":/fon/pics/loading.png")); + + // qDebug("reboot"); + } + + d >> tBool; // powerMonitor; + pwrMonPrev = pwrMon; + pwrMon = tBool; + //-- + if (pwrMon || pwrMonPrev) ui->graphicsView_2->hide(); else ui->graphicsView_2->show(); + + + buf.clear(); + buf.resize(5); + + d >> tBool; // NumLock + if (tBool) {buf[0]=1;} else {buf[0]=0;} + + + for (i=1;i<5;i++) + { + d >> tByte; + buf[i] = (quint8)tByte; + } + + keybReadDatagrams(buf[0], buf[1], buf[2], buf[3], buf[4]); + + d >> tWord; // + if (tWord==0) ASnumTarget=-1; else ASnumTarget = findTargetFromId(tWord); +// if (tWord!=8) qDebug("-- %d", tWord); + + d >> tByte; // inZone + if (tByte==2) + { + if (basePoxod==1) + { + ui->radioButton_Z0->setChecked(1); + ui->btnZone->setText(QString::fromLocal8Bit("-2")); + ui->btnZone->show(); + grAzimutGUN->setColor(Qt::yellow); + ui->radioButton_Z1->setChecked(0); + } + } + else + if (tByte == 1) + { + if (basePoxod==1) + { + ui->radioButton_Z0->setChecked(0); + ui->radioButton_Z1->setChecked(1); + ui->btnZone->setText(QString::fromLocal8Bit("")); + ui->btnZone->show(); + grAzimutGUN->setColor(Qt::green); + } + } + else + { + ui->radioButton_Z0->setChecked(0); + ui->radioButton_Z1->setChecked(0); + grAzimutGUN->setColor(Qt::white); + ui->btnZone->hide(); + } + + if (basePoxod!=1) + { + ui->radioButton_Z0->setChecked(0); + ui->radioButton_Z1->setChecked(0); + grAzimutGUN->setColor(Qt::white); + ui->btnZone->hide(); + + } + + + d >> tBool; // + ui->radioButton_Z2->setChecked(tBool); + + + + d >> tByte; // + switch (tByte) + { + case 0: + ui->lineEdit_2->setText(QString::fromLocal8Bit("")); + umMissTur = -162; + basePoxod = 1; + + break; + case 1: + ui->lineEdit_2->setText(QString::fromLocal8Bit("")); + ui->radioButton_Z0->setChecked(0); + ui->radioButton_Z1->setChecked(0); + ui->btnZone->hide(); + +// ui->lineEdit_6->setText("0"); +// ui->lineEdit_7->setText("0"); + basePoxod = 2; + break; + case 2: + ui->lineEdit_2->setText(QString::fromLocal8Bit("")); + basePoxod = 3; + break; + default: + basePoxod = 0; +// qDebug("%d", tByte); + break; + } + + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + d >> AS_t1 >> AS_t2 >> VCU_t1 >> VCU_t2; + d >> R_N_t1 >> R_N_t2 >> R_V_t1 >> R_V_t2; + d >> tFloat >> tFloat; + d >> AS_par; + ui->lineEdit_5->setText(QString::number(AS_par)); + d >> tFloat; + d.setFloatingPointPrecision(QDataStream::DoublePrecision); + + d >> tByte; // + d >> tWord; // + + + for (i=0; i<2; i++) d >> tReal; // + + + + d >> tByte; // + // if (tByte) qDebug("[%d]", tByte); + + QBitArray subAr(100, 0); + bool fl_target; + for (i=0; i<47; i++) + { + d >> tWord; + if (tWord==0) break; + id = tWord; + + // qDebug("{%d %d}", i, id); + aType = 0; + + d >> tWord; // Type_ID 100 , .. + fl_target = (tWord<100); + d >> tByte; + if (tByte==0) gType = 3; else if (tByte==1) gType = 1; else gType = 0; + d >> tBool; + + // azim, umesta, daln + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + + d >> tFloat; + azim = tFloat; + d >> tFloat; + ugol = tFloat; + d >> tFloat; + daln = tFloat; + d >> tByte; + + dist = daln*cos(ugol/180*M_PI); + cH = daln*sin(ugol/180*M_PI); + + cX = dist*cos(azim/180*M_PI); + cY = dist*sin(azim/180*M_PI); + + d >> tFloat; + vX = tFloat; + d >> tFloat; + vY = tFloat; + + d.setFloatingPointPrecision(QDataStream::DoublePrecision); + + if (fl_target) + { + if (!MRUmode) addTarget(id, aType, gType, cX, cY, cH, vX, vY); + if (!MRUmode) subAr[findTargetFromId(id)]=true; + } + } + if (!MRUmode) clearOldTarget(subAr); + } + } +} + +void Widget::clearOldTarget(QBitArray &subAr) { + for (int i=0;i<100;i++) + { + if ((grAir[i]->exist==true) && !subAr[i]) + { + if (VCUnumTarget == i) clearVCU(); + grAir[i]->setNull(); + targetsIds[i]=0; + } + } + subAr.fill(false); + +} + +void Widget::process_TargetKDG() { // + static int lastId = 0; + int id; + int targetType; + int aType = 1; + int gType = targetEnemy; + bool tBool; + qint8 tByte; + qint16 tWord; + qint32 tDWord; + // qreal tReal; + float tFloat; + qreal cX, cY, cH, vX, vY; + // qreal azim, ugol, daln, dist; + QByteArray datagram; + + static QBitArray seenTargets(100); + + while (udpTarget->hasPendingDatagrams()) { + datagram.clear(); + datagram.resize(udpTarget->pendingDatagramSize()); + udpTarget->readDatagram(datagram.data(), datagram.size()); + + QDataStream d(&datagram, QIODevice::ReadOnly); + d.setByteOrder(QDataStream::LittleEndian); + + // TNetHead + for (int i=0; i<3; ++i) { + d >> tWord; + } + Q_ASSERT(tWord == 3); + d >> tWord; + int CNT = tWord; + + d >> tDWord; + for (int i=0; i> tWord; id = tWord; + if (id==1 && MRUmode) clearOldTarget(seenTargets); + if (id!=0) lastId = id; + // TypeId + d >> tWord; targetType = tWord; + // timeOut + d >> tWord; + // PCinput_id + d >> tByte; + // Input_id + d >> tByte; + // CommonData + { + d.setFloatingPointPrecision(QDataStream::SinglePrecision); + //xTek: single; // x + //yTek: single; // y + //hTek: single; // h + d >> tFloat; cY = tFloat; + d >> tFloat; cX = tFloat; + d >> tFloat; cH = tFloat; + //aX: single; // + //aY: single; // + //aH: single; // + for (int i=0; i<3; ++i) d >> tFloat; + //vxTek: single; // + //vyTek: single; // + //vhTek: single; // h + d >> tFloat; vY = tFloat; + d >> tFloat; vX = tFloat; + d >> tFloat; + //akt: longword; // + //OnVisLine: boolean; + d >> tDWord >> tBool; + d >> tWord >> tByte; // + } + // CustomDataType: byte; + d >> tByte; int CDType = tByte; + // CustomDataSize: byte; + d >> tByte; + switch (CDType) { + case 1: + d >> tByte; + d >> tWord; + if (tByte==0) gType = targetEnemy; + else if (tByte==1) gType = targetOwn; + else gType = targetUnknown; + // id, , + if (MRUmode) { + addTarget(id, aType, gType, cX, cY, cH, vX, vY); + seenTargets[findTargetFromId(id)]=true; + } + break; + case 2: + d >> tFloat; + d >> tWord; + d >> tByte; + d >> tByte; + break; + case 3: + d >> tFloat; + d >> tFloat; + d >> tWord ; + d >> tWord; + d >> tWord ; + d >> tWord; + d >> tByte; + d >> tByte; + + d >> tWord ; + d >> tWord; // + break; + case 0: + break; + default: + Q_ASSERT(false); + } + + } +// Q_ASSERT(d.atEnd()); + } // while hasPendingDatagram +} + +void Widget::processSendingDatagrams(QByteArray buf, int port) +{ + udpSend->writeDatagram(buf.data(), buf.size(), QHostAddress::LocalHost, port); +} + +void Widget::msTickGraph() +{ + qreal zoom = zoomKoef[ui->comboBox_2->currentIndex()]; + QString str; + + + + gV->setMissUg(umMissTur, umMissTur); + gV->setNumTarg(targetsCount); + + + while (azimutGUN>360) azimutGUN-=360; + while (azimutGUN<0) azimutGUN+=360; + while (azimutKurs>360) azimutKurs -=360; + while (azimutKurs<0) azimutKurs +=360; + while (azimutRLS>360) azimutRLS -=360; + while (azimutRLS<0) azimutRLS +=360; + + if (ownSect.left>ownSect.right) ownSect.right+=360; + if (kzsSect.left>kzsSect.right) kzsSect.right+=360; + + if (ownSect.left<0) {ownSect.left+=360; ownSect.right+=360;} + if (ownSect.right>720) {ownSect.left-=360; ownSect.right-=360;} + + grAzimutGUN->setAngle(-azimutGUN+90); + int aRLSmdu = int((azimutGUN)*6000/360) % 6000; + if (aRLSmdu<0) aRLSmdu+=6000; + int aRLSdu = aRLSmdu / 100; + aRLSmdu %= 100; + + str.clear(); + if (aRLSdu<10) str = QString("0"); + str.append(QString::number(aRLSdu)+"-"); + if (aRLSmdu<10) str.append("0"); + str.append(QString::number(aRLSmdu)); + grAzimutGUN->setText(str); + + + aRLSmdu = int((ugolGUN)*6000/360) % 6000; + str.clear(); + if (ugolGUN<0) { str = QString("-"); aRLSmdu = -aRLSmdu;} + + + aRLSdu = aRLSmdu / 100; + aRLSmdu %= 100; + if (aRLSdu<10) str.append(QString("0")); + str.append(QString::number(aRLSdu)+"-"); + if (aRLSmdu<10) str.append("0"); + str.append(QString::number(aRLSmdu)); + grAzimutGUN->setText(str,1); + + qreal tDU = (qreal((GAGdu-GAGdu0)*100+(GAGmdu-GAGmdu0))) *6/100; +// qDebug("%f ", tDU); + grAzimutKurs->setGlobalAngle(90-azimutKurs-tDU); + grAzimutKurs->setTextPos(QPointF((185*sin((azimutKurs+tDU)*M_PI/180)-10)/zoom, -185*cos((azimutKurs+tDU)*M_PI/180)/zoom)); + + aRLSmdu = int((azimutKurs+tDU)*6000/360) % 6000; + if (aRLSmdu<0) aRLSmdu+=6000; + aRLSdu = aRLSmdu / 100; + aRLSmdu %= 100; + str.clear(); + if (aRLSdu<10) str = QString("0"); + str.append(QString::number(aRLSdu)+"-"); + if (aRLSmdu<10) str.append("0"); + str.append(QString::number(aRLSmdu)); + grAzimutKurs->setText(str); + +//qDebug("azimRLS: %f", azimutRLS); + grAzimutRLS->setAngle(-azimutRLS+90); + + grOwnSect->setAngles(-ownSect.left+90, -ownSect.right+90); + grKzsSect->setAngles(-kzsSect.left+90, -kzsSect.right+90); + + +// grAir[0]->setCoord(grAir[0]->cX+0.20, grAir[0]->cY+0.15); +// grAir[2]->setCoord(grAir[2]->cX-0.30, grAir[2]->cY+0.15); +// for (int i=0; i<100; i++) +// if (grAir[i]->exist) +// grAir[i]->moveByTime(1); + + if (VCUnumTarget!=-1) + { + grVCU->setPos1(grAir[VCUnumTarget]->coordsL()); + } + else + { + grVCU->setPos1(QPointF(0,0)); + } + + + if (ASnumTarget!=-1) + { + +// grVCU->setPos1(grAir[ASnumTarget]->coordsL()); + + + QPointF p1 = grAzimutRLS->pos1(); + QPointF p0 = QPointF(0,0); + QLineF lf(p0,p1); + QLineF lfn = lf.normalVector(); + lfn.setLength(grAir[ASnumTarget]->v0*10/zoom); + + QLineF lfT = QLineF(p0, grAir[ASnumTarget]->coordsL()); + + lf.setLength(lfT.length()); + lfn.translate(lf.p2().x(),lf.p2().y()); + + lfT = QLineF(0,0, grAir[ASnumTarget]->vY, -grAir[ASnumTarget]->vX); + lfn.setAngle(lfT.angle()); + + grAzimutRLSnormal->setPos0(lfn.p1()); + grAzimutRLSnormal->setPos1(lfn.p2()); + + + + } + else + { +// grVCU->setPos1(0,0); + grAzimutRLSnormal->setPos0(0,0); + grAzimutRLSnormal->setLength(0); + + } +// reCalculate(); + +} + +void Widget::setGraph() +{ + + ui->btnZone->hide(); + + gsc = new QGraphicsScene(this); + gsc->setSceneRect(-11310,-11310,22610, 22610); // + +// QGraphicsRectItem *ri; +// ri = gsc->addRect(-8000,-8185,16000,16370); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-4000,-4090,8000,8180); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-2000,-2045,4000,4090); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-900,-920,1800,1840); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-450,-460,900,920); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-350,-360,700,720); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-250,-255,500,510); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-120,-125,240,250); +// ri->setPen(QPen(Qt::white)); +// ri = gsc->addRect(-60,-60,120,120); +// ri->setPen(QPen(Qt::white)); + + + grOwnSect = new graphicsArcItem(0,0, 1, ownSect.left, ownSect.right); + grOwnSect->setColor(Qt::cyan); + gsc->addItem((QGraphicsItem*)grOwnSect); + + grKzsSect = new graphicsArcItem(0,0,1,kzsSect.left, kzsSect.right); + grKzsSect->setColor(Qt::red); + grKzsSect->setTextVisible(true); + gsc->addItem((QGraphicsItem*)grKzsSect); + + grAzimutGUN = new graphicsLineItem(); + grAzimutGUN->setPos0(QPointF(0, 0)); + grAzimutGUN->setPos1(QPointF(28, 0)); + grAzimutGUN->setAngle(-azimutGUN+90); + grAzimutGUN->setWidth(5); + grAzimutGUN->setZValue(100); + grAzimutGUN->setColor(Qt::green); + grAzimutGUN->setText("0-00"); + grAzimutGUN->setTextColor(Qt::gray); + grAzimutGUN->setText("1-10", 1); + grAzimutGUN->setTextColor(Qt::gray, 1); + + gsc->addItem((QGraphicsItem*)grAzimutGUN); + + +// qreal tDU = ((GAGdu-GAGdu0)*100+(GAGmdu-GAGmdu0)) *6/100; + + grAzimutKurs = new graphicsLineItem(); + grAzimutKurs->setPos0(QPointF(0,0)); + grAzimutKurs->setPos1(QPointF(0,20)); + grAzimutKurs->setAngle(90); + grAzimutKurs->setWidth(3); + grAzimutKurs->setColor(Qt::yellow); + grAzimutKurs->setText("0-00"); + grAzimutKurs->setTextColor(Qt::yellow); + + gsc->addItem((QGraphicsItem*)grAzimutKurs); + + grAzimutRLS = new graphicsLineItem(); + grAzimutRLS->setPos0(QPointF(0,0)); + grAzimutRLS->setPos1(QPointF(20,0)); + grAzimutRLS->setAngle(-azimutRLS+90); + grAzimutRLS->setWidth(1); + grAzimutRLS->setColor(Qt::blue); + gsc->addItem((QGraphicsItem*)grAzimutRLS); + + + + + + + + + gV = new GraphicsViewMod(ui->lupa); + gV->setFocusPolicy(Qt::NoFocus); + gV->setGeometry(0,37,520,520); + + gV->setScene(gsc); + gV->setSceneRect(-70, -70, 140, 140); + gV->centerOn(0,0); + + grVCU = new graphicsLineItem(); + grVCU->setPos0(QPointF(0,0)); + grVCU->setPos1(QPointF(0,0)); + grVCU->setColor(Qt::green); + grVCU->setWidth(1); + gsc->addItem((QGraphicsItem*)grVCU); + + grAzimutRLSnormal = new graphicsLineItem(); + grAzimutRLSnormal->setPos0(QPointF(0,0)); + grAzimutRLSnormal->setPos1(QPointF(1,0)); + grAzimutRLSnormal->setColor(Qt::red); + grAzimutRLSnormal->setWidth(1); + grAzimutRLSnormal->setCircles(true, false); + grAzimutRLSnormal->setZValue(1500); + + gsc->addItem((QGraphicsItem*)grAzimutRLSnormal); +// slider + gscRckt = new QGraphicsScene(this); + gscRckt->setSceneRect(-10000, -10000, 20000, 20000); + + gvRckt = ui->gvRckt; + + gvRckt->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); + gvRckt->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + gvRckt->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + + gvRckt->setScene(gscRckt); + gvRckt->setSceneRect(0, 0, 500, 30); + gvRckt->setAlignment(Qt::AlignLeft|Qt::AlignTop); + + grRckt1 = new QGraphicsRectItem(); + gscRckt->addItem(grRckt1); + + grRckt1->setRect(520, 0, 2*4*10, 30); + grRckt1->setPen(QPen(Qt::white)); + grRckt1->setBrush(QBrush(Qt::SolidPattern)); + grRckt1->setBrush(QBrush(QColor(0,150,0))); + + + grRckt2 = new QGraphicsRectItem(); + gscRckt->addItem(grRckt2); + grRckt2->setRect(720, 0, 10*4*10, 30); + grRckt2->setPen(QPen(Qt::white)); + grRckt2->setBrush(QBrush(Qt::SolidPattern)); + grRckt2->setBrush(QBrush(QColor(0,0,200))); +// --! slider +// addTargets(); + + tmpGS = new QGraphicsScene(this); + ui->graphicsView->setScene(tmpGS); + ui->graphicsView->setGeometry(0,0,800,600); + ui->graphicsView->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); + + tmpGS->addPixmap(QPixmap(":/fon/pics/loading.png")); + ui->graphicsView->hide(); + curPosition = 3012; + + + + QGraphicsScene *tmpGS1 = new QGraphicsScene(this); + tmpGS1->setSceneRect(0,0,1000,1000); + ui->graphicsView_2->setScene(tmpGS1); + ui->graphicsView_2->setGeometry(0,0,800,600); + ui->graphicsView_2->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); + ui->graphicsView_2->hide(); +} + +void Widget::putDate() +{ + QFont font("Consolas", 11, QFont::DemiBold); + + grLoadDate = new QGraphicsTextItem(); + tmpGS->addItem(grLoadDate); + grLoadDate->setDefaultTextColor(QColor(193, 193, 193)); + + + grLoadDate->setZValue(1000); + grLoadDate->setFont(QFont("Consolas", 11)); + strLoadDate.clear(); + grLoadDate->setPlainText(strLoadDate); + + QGraphicsTextItem *gti = tmpGS->addText("DDMMYY hhmmss"); + gti->setDefaultTextColor(QColor(193, 193, 193, 200)); + gti->setFont(font); + gti->setZValue(1000); + curPosition+=12; + gti->setPos(-3, curPosition); + + curPosition+=12; + grLoadDate->setPos(-3, curPosition); + + ui->graphicsView->centerOn(0, curPosition-24-113); + + getFocus(); + + +} + +void Widget::putLogin() +{ + curPosition = 3350; + ui->graphicsView->centerOn(0, curPosition+293); + + QFont font("Consolas", 11, QFont::DemiBold); + grLoadLogin = new QGraphicsTextItem(); + tmpGS->addItem(grLoadLogin); + grLoadLogin->setDefaultTextColor(QColor(193, 193, 193)); + grLoadLogin->setZValue(1000); + grLoadLogin->setFont(font); + strLoadLogin = "login: "; + grLoadLogin->setPlainText(strLoadLogin); + grLoadLogin->setPos(-3, curPosition); + getFocus(); +} + +int Widget::findTargetFromId(int id) +{ + int ret=-1; + for (int i=0; i<100; i++) + { + if (targetsIds[i]==id) {ret = i; break;} + } + return ret; +} + +void Widget::setVCU(int id) +{ + VCUnumTarget = findTargetFromId(id); + if (VCUnumTarget>=0) + msVvodCU_N2(VCUnumTarget+1, 11); +} + +void Widget::clearVCU() { + VCUnumTarget = -1; +} + +int Widget::findNextNum(int n) +{ + int i; + for (i=n; i<100; i++) + if (!grAir[i]->exist) { + currentNum=i; + return i; + }; + + for (i=0; iexist) { + currentNum=i; + return i; + }; +// . : , +// delete grAir[currentNum]; + i=currentNum; + grAir[i]->setNull(); + grAir[i]->exist=true; + grAir[i]->numb=i; + currentNum = (i+1)%100; + return i; +} + +void Widget::addTarget(int id, int aType, int gType, qreal cX, qreal cY, qreal cH, qreal vX, qreal vY) +{ + int num; + num = findTargetFromId(id); + if (num<0) { + num=findNextNum(currentNum); + targetsIds[num]=id; + grAir[num]->exist=true; + grAir[num]->numb=num+1; + grAir[num]->setGType(gType); + grAir[num]->setAType(aType); + grAir[num]->setSpeed(vX/100, vY/100); + grAir[num]->setCoord(cX/100, cY/100, cH/100); + grAir[num]->count = 1; + grAir[num]->setGraphicsEffect((QGraphicsEffect*)grAir[num]->coler); + grAir[num]->setInfoForRocket(cX/100, cY/100, cH/100, vX/100, vY/100); + gsc->addItem((QGraphicsItem*)grAir[num]); + + } + else + { + grAir[num]->count = (grAir[num]->count+1)%18; // + if (grAir[num]->count==0) + { + grAir[num]->setGType(gType); + grAir[num]->setAType(aType); + grAir[num]->setSpeed(vX/100, vY/100); + grAir[num]->setCoord(cX/100, cY/100, cH/100); + grAir[num]->setGraphicsEffect((QGraphicsEffect*)grAir[num]->coler); + } + grAir[num]->setInfoForRocket(cX/100, cY/100, cH/100, vX/100, vY/100); + } +} + +void Widget::addTargets() +{ + int num; + + num = findNextNum(currentNum); + grAir[num]->exist = true; + grAir[num]->numb = num+1; + grAir[num]->setAType(1); + grAir[num]->setGType(0); + grAir[num]->setCoord(-100, -10, 2); + grAir[num]->setSpeed(0.1, 1); + grAir[num]->setGraphicsEffect((QGraphicsEffect*)grAir[num]->coler); + grAir[num]->setInfoForRocket(-100, -10, 2, 0.1, 1); + gsc->addItem((QGraphicsItem*)grAir[num]); + + num = findNextNum(currentNum); + grAir[num]->exist = true; + grAir[num]->numb = num+1; + grAir[num]->setAType(8); + grAir[num]->setGType(2); + grAir[num]->setCoord(-200, 150, 1.5); + grAir[num]->setSpeed(2.03, -1.005); + grAir[num]->setInfoForRocket(-200, 150, 1.5, 2.03, -1.005); + grAir[num]->setGraphicsEffect((QGraphicsEffect*)grAir[num]->coler); + gsc->addItem((QGraphicsItem*)grAir[num]); + +// targetsCount = 2; +} + +bool Widget::readFile() +{ + QFile f("c:/Shilka_exe/settings.txt"); + QString str; + int c=0, i; + + if (!f.open(QIODevice::ReadOnly |QIODevice::Text )) + return false; + + while (!f.atEnd()) + { + c++; + str = QString(f.readLine()); + switch (c) + { + case 1: + meteoSred = (bool) str.toInt(); + break; + case 2: + meteoAvtonom = (bool) str.toInt(); + break; + case 3: + metAv.azim = str.section(' ',0, 0).toInt(); + metAv.pressure = str.section(' ', 1, 1).toInt(); + metAv.temp = str.section(' ', 2, 2).toInt(); + metAv.wind = str.section(' ', 3, 3).toInt(); + break; + case 4: + metSr = str; + break; + case 5: + ZAtempZar = str.toInt(); + break; + case 6: + ZAnastrel = str.toInt(); + break; + case 7: + rezhimGAG = str.toInt(); + break; + case 8: + rezhimZerk = str.toInt(); + break; + case 9: + ts.nZone = str.section(' ',0, 0).toInt(); + ts.south = (bool)str.section(' ', 1, 1).toInt(); + ts.x = str.section(' ', 2, 2).toInt(); + ts.y = str.section(' ', 3, 3).toInt(); + ts.h = str.section(' ', 4, 4).toInt(); + break; + case 10: + reper.nZone = str.section(' ',0, 0).toInt(); + reper.south = (bool)str.section(' ', 1, 1).toInt(); + reper.x = str.section(' ', 2, 2).toInt(); + reper.y = str.section(' ', 3, 3).toInt(); + reper.h = str.section(' ', 4, 4).toInt(); + break; + case 11: + for (i=0; i<5; i++) + BK[i] = str.section(' ', i, i).toInt(); + break; + case 12: + azimutKurs = str.toInt(); + break; + case 13: + sectAzLow1 = str.section(' ',0, 0).toInt(); + sectAzLow2 = str.section(' ', 1, 1).toInt(); + sectAzHigh1 = str.section(' ', 2, 2).toInt(); + sectAzHigh2 = str.section(' ', 3, 3).toInt(); + break; + case 14: + sectUgLow1 = str.section(' ',0, 0).toInt(); + sectUgLow2 = str.section(' ', 1, 1).toInt(); + sectUgHigh1 = str.section(' ', 2, 2).toInt(); + sectUgHigh2 = str.section(' ', 3, 3).toInt(); + break; + case 15: + azimutGUN = str.toInt(); + break; + case 16: + azimutRLS = str.toInt(); + break; + case 17: + errZAdB = str.toInt(); + case 18: + for (i=0; i<9; i++) + errZAgor[i] = str.section(' ', i,i).toInt(); + break; + case 19: + for (i=0; i<7; i++) + errZAver[i] = str.section(' ', i,i).toInt(); + break; + case 20: + autoZAdefault = (bool)str.toInt(); + break; + case 21: + readyBoegotov = (bool)str.toInt(); + break; + case 22: + ownSect.left = str.section(' ', 0, 0).toDouble(); + ownSect.right = str.section(' ', 1,1).toDouble(); + ownSect.height = str.section(' ', 2,2).toDouble(); + break; + case 23: + GAGdu = str.section(' ', 0, 0).toInt(); + GAGmdu = str.section(' ', 1, 1).toInt(); + GAGdu0 = str.section(' ', 2, 2).toInt(); + GAGmdu0 = str.section(' ', 3, 3).toInt(); + break; + default: + break; + } + + } + f.close(); + return true; +} + +void Widget::writeFile() +{ + QFile f("c:/Shilka_exe/settings.txt"); + int i; + + if (f.open(QIODevice::WriteOnly | QIODevice::Text)) + { + QTextStream out(&f); + + if (meteoSred) out << "1"; else out << "0"; + out << "\n"; + + if (meteoAvtonom) out << "1"; else out << "0"; + out << "\n"; + + out << metAv.azim <<" "<< metAv.pressure<<" "<exist=false; + grAir[i]->setViewSettings(0); + grAir[i]->count=0; + } + loadScreenTmr = new QTimer(); + connect(loadScreenTmr, SIGNAL(timeout()), this, SLOT(loadScreenTick())); + + umMissTur = 0; + basePoxod = 0; + targetsCount = 0; + + AS_t1 = AS_t2 = VCU_t1 = VCU_t2 = R_N_t1 = R_N_t2 = R_V_t1 = R_V_t2 = 0; + + rezhimGAGtxt[0] = QString::fromLocal8Bit(""); + rezhimGAGtxt[1] = QString::fromLocal8Bit(""); + rezhimGAGtxt[2] = QString::fromLocal8Bit("0"); + rezhimGAGtxt[3] = QString::fromLocal8Bit(""); + + currentTaskNum = 0; + metSr.resize(260); + metSr.clear(); + + + +// splashIsOn=1; +// + openWidget = 0; + + rckV0 = 0; + rckV = 60; // 600 / + rckT0 = 1; // 1 + + rckD0 = (rckV0+rckV)/2*rckT0; // + rckHmin = 0.1; + rckHmax = 35; + + rckDmin = 5; + rckDmax = 60; + + rckAngle = 80; // 80 - + +// + zoomKoef[8] = 4.16; + zoomKoef[7] = 2.06; + zoomKoef[6] = 1.00; + zoomKoef[5] = 0.71; + zoomKoef[4] = 0.55; + zoomKoef[3] = 0.27; + zoomKoef[2] = 0.12; + zoomKoef[1] = 0.06; + zoomKoef[0] = 0.03; + + currentNum = 0; + VCUnumTarget = -1; + ASnumTarget = -1; + + for (i=0; i<100; i++) targetsIds[i]=0; + +// + + if (!readFile()) + { + + + for (i=0; i<9; i++) errZAgor[i]=0; + for (i=0; i<7; i++) errZAver[i]=0; + errZAdB = 0; + + + meteoSred = false; + meteoAvtonom = true; + + metAv.azim = 0; + metAv.pressure = 0; + metAv.temp = 0; + metAv.wind = 0; + + // metSr = QString::fromLocal8Bit("-1107-12081-0160-51266-0201-661208-0402-651410-0802-671612-1203-691814-1604-712016-2003-732319-2402-742521-3001-742521-4001-742521-5001-742521-6001-742521-8001-742521-1001-742521-1201-742521-1401-742521-1801-742521-2201-742521-2401-742521-3001-762822-2325"); + // metSr = QString::fromLocal8Bit(" 07 12081 0160 51266 01 661208 02 651410 02 671612 03 691814 04 712016 03 732319 02 742521 01 742521 01 742521 01 742521 01 742521 01 742521 01 742521 742521 742521 742521 742521 742521 762822 2325"); + metSr = QString::fromLocal8Bit("0712081016051266016612080265141002671612036918140471201603732319027425210174252101742521017425210174252101742521017425217425217425217425217425217425217628222325"); + + + ZAtempZar = 0; + ZAnastrel = 0; + + rezhimGAG = 0; + GAGmdu = GAGdu = GAGmdu0 = GAGdu0 = 0; + rezhimZerk = 0; + + ts.nZone = 6; + ts.south = false; + ts.x = 500000; + ts.y = 600000; + ts.h = 100; + + reper.nZone = 6; + reper.south = false; + reper.x = 450000; + reper.y = 650000; + reper.h = 0; + + for (i=0; i<5; i++) BK[i]=0; + + + + sectAzLow1 = sectAzLow2 = sectAzHigh1 = sectAzHigh2 = 0; + sectUgLow1 = sectUgLow2 = sectUgHigh1 = sectUgHigh2 = 0; + + ownSect.left = 15; + ownSect.right = 65; + ownSect.height = 0; + + kzsSect.left = 70; + kzsSect.right = 10; + kzsSect.height = 0; + kzsSect.bottom = 0; + + + + autoZAdefault = false; + + readyBoegotov = false; + + + + azimutGUN = 30; + azimutRLS = 60; + + } + + azimutKurs = 0; + +} + +void Widget::initBtnUIDs() +{ + ui->pushButton->uid = 0x11; +// ui->pushButton_2->uid = 0x12; + ui->pushButton_3->uid = 0x13; + ui->pushButton_4->uid = 0x14; + ui->pushButton_5->uid = 0x15; + ui->pushButton_6->uid = 0x16; + ui->pushButton_7->uid = 0x17; + ui->pushButton_8->uid = 0x18; + ui->pushButton_9->uid = 0x19; + ui->pushButton_10->uid = 0x1a; + ui->pushButton_11->uid = 0x1b; + ui->pushButton_12->uid = 0x1c; + ui->pushButton_13->uid = 0x1d; + ui->pushButton_14->uid = 0x1e; + + ui->comboBox->uid = 0x31; + ui->comboBox_2->uid = 0x32; +} + + +void Widget::closeSlot() +{ + Texit *l=new Texit(this) ; + l->show(); +} + + +void Widget::switchWidget(int c) +{ + switch (c) + { + case 0x31: + ui->pushButton_4->setFocus(); + break; + case 0x32: + ui->lupa->setFocus(); + ui->pushButton->setFocus(); + break; + default: + break; + } +} + +void Widget::keyPressEvent ( QKeyEvent *e ) +{ + + int c = e->key(); + static int cOld=0; + int res = 0; + bool fl; + + fl = true; + + if (e->modifiers() & Qt::ControlModifier) + { + if ((c>=0x30) && (c<=0x39)) + { +// Crtl+1x, Crtl+2x, Crtl+5x Crtl+9x + if ((cOld==0x31)||(cOld==0x32)||(cOld==0x35)||(cOld==0x39)) + { + res = (cOld-0x30)*10+c-0x30; +// ui->lineEdit->setText(QString::number(res, 10)); + + switch (res) + { + case 21: + msVvodReper(); + break; + case 22: + msVvodTS(); + break; + case 23: + msGeoToGK(); + break; + case 24: + msGKToGeo(); + break; + case 25: + msGKToGK(); + break; + default: + break; + } + + + } + cOld = c; + } + else + cOld = 0; + + + + + + } + + if (e->modifiers() & Qt::AltModifier) + { + switch (c) { + case 0x31: + // ui->lineEdit->setText("Alt+1"); + ui->pushButton_3->setFocus(); + releaseKeyboard(); + break; + case 0x32: + // ui->lineEdit->setText("Alt+2"); + ui->pushButton->setFocus(); + releaseKeyboard(); + break; + default: + break; + } + } + + if (splashIsOn==4) + { + if ((c == Qt::Key_Backspace)&&(strLoadDate.length()>0)) + strLoadDate = strLoadDate.left(strLoadDate.length()-1); + if ((c>=Qt::Key_0)&&(c<=Qt::Key_9)) + strLoadDate.append(QChar(c)); + if (c==Qt::Key_F11) + strLoadDate.append(" "); + + grLoadDate->setPlainText(strLoadDate); + + if ((c==Qt::Key_Enter)||(c==Qt::Key_Return)) + { + QDateTime dt = QDateTime::fromString(strLoadDate, "ddMMyy HHmmss"); + if (dt.isValid()) + { + QGraphicsTextItem *ti = tmpGS->addText(dt.toString("ddd d MMM yyyy h:mm:ss"), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + + ti = tmpGS->addText(QString::fromLocal8Bit(" "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=24; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-24-113); + + splashIsOn = 5; + QTimer::singleShot(1000, this, SLOT(loadScreenTick())); + + + } + else + { + putDate(); + } + } + + fl = false; + + } + + + if (splashIsOn==7) + { + if (c == Qt::Key_NumLock) strLoadLogin.append("n"); + if ((c==Qt::Key_Backspace)&&(strLoadLogin.length()>7)) + strLoadLogin = strLoadLogin.left(strLoadLogin.length()-1); + if ((c>=Qt::Key_0)&&(c<=Qt::Key_9)) + strLoadLogin.append(QChar(c)); + if ((c==Qt::Key_Enter)||(c==Qt::Key_Return)) + { + splashIsOn = 8; + grLoadPass = new QGraphicsTextItem(); + tmpGS->addItem(grLoadPass); + grLoadPass->setDefaultTextColor(QColor(193, 193, 193)); + grLoadPass->setZValue(1000); + grLoadPass->setFont(QFont("Consolas", 11)); + grLoadPass->setPlainText("pass: "); + curPosition+=12; + grLoadPass->setPos(-3, curPosition); + strLoadPass.clear(); + + } + grLoadLogin->setPlainText(strLoadLogin); + fl = false; + } else + + if (splashIsOn == 8) + { + if ((c==Qt::Key_Backspace)&&(strLoadPass.length()>0)) + strLoadPass = strLoadPass.left(strLoadPass.length()-1); + if ((c>=Qt::Key_0)&&(c<=Qt::Key_9)) + strLoadPass.append(QChar(c)); + if ((c==Qt::Key_Enter)||(c==Qt::Key_Return)) + { + if ((strLoadLogin==QString("login: n"))&&(strLoadPass==QString("7"))) + { + hideSplash(); + strLoadLogin.clear(); + strLoadPass.clear(); + } + else + { + strLoadLogin.clear(); + strLoadPass.clear(); + if (grLoadLogin) delete grLoadLogin; + if (grLoadPass) delete grLoadPass; + splashIsOn = 7; + putLogin(); + } + + } + fl = false; + + } + + + if ((c==Qt::Key_Left)&&(ui->pushButton_4->hasFocus())) fl = false; + if ((c==Qt::Key_Right)&&(ui->pushButton_14->hasFocus())) fl = false; + + if (fl) QWidget::keyPressEvent(e); + +} + + +void Widget::createActions() +{ + m1Source = new QAction(QString::fromLocal8Bit(" Ctrl+11"), this); + // connect + m1Trace = new QAction(QString::fromLocal8Bit(" Ctrl+12"), this); + // connect + + m1RazvorotL = new QAction(QString::fromLocal8Bit(" "), this); + m1RazvorotR = new QAction(QString::fromLocal8Bit(" "), this); + m1Barrazh = new QAction(QString::fromLocal8Bit(" "), this); + m1Pikir = new QAction(QString::fromLocal8Bit(""), this); + m1Kabrir = new QAction(QString::fromLocal8Bit(""), this); + m1Speed = new QAction(QString::fromLocal8Bit(" "), this); + m1JumpHeli = new QAction(QString::fromLocal8Bit("'' "), this); + + m1Reset = new QAction(QString::fromLocal8Bit(" Ctrl+13"), this); + m1Load = new QAction(QString::fromLocal8Bit(" Ctrl+14"), this); + m1Save = new QAction(QString::fromLocal8Bit(" Ctrl+15"), this); + m1Start = new QAction(QString::fromLocal8Bit(" Ctrl+16"), this); + m1Stop = new QAction(QString::fromLocal8Bit(" Ctrl+17"), this); + m1SectorVvod = new QAction(QString::fromLocal8Bit(" "), this); + m1SectorEnable = new QAction(QString::fromLocal8Bit("/ "), this); + m1SectorReset = new QAction(QString::fromLocal8Bit(" "), this); + + m1Rezhim = new QAction(QString::fromLocal8Bit(" "), this); + m1ShowMark = new QAction(QString::fromLocal8Bit(" "), this); + m1ResetCourse = new QAction(QString::fromLocal8Bit(" "), this); + m1ResetMark = new QAction(QString::fromLocal8Bit(" "), this); + m1Timer = new QAction(QString::fromLocal8Bit(" "), this); + + + m2Reper = new QAction(QString::fromLocal8Bit(" Ctrl+21"), this); + connect(m2Reper, SIGNAL(triggered()), this, SLOT(msVvodReper())); + m2Mestopol = new QAction(QString::fromLocal8Bit(" Ctrl+22"), this); + connect(m2Mestopol, SIGNAL(triggered()), this, SLOT(msVvodTS())); + m2Geo_GK = new QAction(QString::fromLocal8Bit("- Ctrl+23"), this); + connect(m2Geo_GK, SIGNAL(triggered()), this, SLOT(msGeoToGK())); + m2GK_Geo = new QAction(QString::fromLocal8Bit("- Ctrl+24"), this); + connect(m2GK_Geo, SIGNAL(triggered()), this, SLOT(msGKToGeo())); + m2GK_GK = new QAction(QString::fromLocal8Bit("- Ctrl+25"), this); + connect(m2GK_GK, SIGNAL(triggered()), this, SLOT(msGKToGK())); + + + m3GAG = new QAction(QString::fromLocal8Bit(" "), this); + connect(m3GAG, SIGNAL(triggered()), this, SLOT(msGAG())); + + m4RezhimMA = new QAction(QString::fromLocal8Bit(" /"), this); + connect(m4RezhimMA, SIGNAL(triggered()), this, SLOT(msMeteoSredShow())); + m4Bulletin = new QAction(QString::fromLocal8Bit(" "), this); + connect(m4Bulletin, SIGNAL(triggered()), this, SLOT(msBulletinShow())); + m4Nastrel = new QAction(QString::fromLocal8Bit(" "), this); + connect(m4Nastrel, SIGNAL(triggered()), this, SLOT(msNastrel())); + m4Temperature = new QAction(QString::fromLocal8Bit(" "), this); + connect(m4Temperature, SIGNAL(triggered()), this, SLOT(msTempZar())); + m4Errors = new QAction(QString::fromLocal8Bit(" "), this); + connect(m4Errors, SIGNAL(triggered()), this, SLOT(msErrorZA())); + m4Data = new QAction(QString::fromLocal8Bit(" "), this); + connect(m4Data, SIGNAL(triggered()), this, SLOT(msVvodMA())); + m4RezhimZerk = new QAction(QString::fromLocal8Bit(" "), this); + connect(m4RezhimZerk, SIGNAL(triggered()), this, SLOT(msZerkuS())); + m4Adress = new QAction(QString::fromLocal8Bit(" "), this); + connect(m4Adress, SIGNAL(triggered()), this, SLOT(msOwnAdr())); + + m5VvodBK = new QAction(QString::fromLocal8Bit(" "), this); + connect(m5VvodBK, SIGNAL(triggered()), this, SLOT(msVvodBK())); + m5Ready = new QAction(QString::fromLocal8Bit("/ "), this); + connect(m5Ready, SIGNAL(triggered()), this, SLOT(msVvodReady())); + m5TargDestr = new QAction(QString::fromLocal8Bit(" "), this); + connect(m5TargDestr, SIGNAL(triggered()), this, SLOT(msVvodKKill())); + m5TargMissed = new QAction(QString::fromLocal8Bit(" "), this); + connect(m5TargMissed, SIGNAL(triggered()), this, SLOT(msVvodKMiss())); + m5DKO = new QAction(QString::fromLocal8Bit(""), this); + connect(m5DKO, SIGNAL(triggered()), this, SLOT(msVvodDKO())); + + m5PeriodicFK = new QAction(QString::fromLocal8Bit(" "), this); + m5CtrlSum = new QAction(QString::fromLocal8Bit(" "), this); + connect(m5CtrlSum, SIGNAL(triggered()), this, SLOT(msShowCRC())); + + m6SectAzim = new QAction(QString::fromLocal8Bit(" "), this); + connect(m6SectAzim, SIGNAL(triggered()), this, SLOT(msVvodSectAzim())); + m6SectUgol = new QAction(QString::fromLocal8Bit(" "), this); + connect(m6SectUgol, SIGNAL(triggered()), this, SLOT(msVvodSectUgol())); + m6SectOtv = new QAction(QString::fromLocal8Bit(" "), this); + connect(m6SectOtv, SIGNAL(triggered()), this, SLOT(msVvodSectOtvet())); + m6ManualZA = new QAction(QString::fromLocal8Bit(". "), this); + connect(m6ManualZA, SIGNAL(triggered()), this, SLOT(msVvodManualZA())); + m6AutoZA = new QAction(QString::fromLocal8Bit(". ."), this); + connect(m6AutoZA, SIGNAL(triggered()), this, SLOT(msVvodAutoZA())); + + m7Default = new QAction(QString::fromLocal8Bit(" "), this); + m7BR = new QAction(QString::fromLocal8Bit(""), this); + m7FK = new QAction(QString::fromLocal8Bit(""), this); + m7TRU = new QAction(QString::fromLocal8Bit(""), this); + m7CU = new QAction(QString::fromLocal8Bit("_N/_B"), this); + connect(m7CU, SIGNAL(triggered()), this, SLOT(msVvodCU_N())); + m7CUDenied = new QAction(QString::fromLocal8Bit(" "), this); + connect(m7CUDenied, SIGNAL(triggered()), this, SLOT(msVvodKCancel())); + + m8Reset = new QAction(QString::fromLocal8Bit(" Ctrl+51"), this); + m8Param = new QAction(QString::fromLocal8Bit(" Ctrl+53"), this); + + m9Oscil = new QAction(QString::fromLocal8Bit(""), this); + m9View = new QAction(QString::fromLocal8Bit(" /"), this); + + m0Reboot = new QAction(QString::fromLocal8Bit(" Ctrl+91"), this); + m0Shutdown = new QAction(QString::fromLocal8Bit(" Ctrl+92"), this); + connect(m0Shutdown, SIGNAL(triggered()), this, SLOT(closeSlot())); +} + +void Widget::createMenu() +{ + + + + QList la; + + + menu = new MenuBarMod(ui->dialMenu); + menu->setGeometry(-5,0,280,24); + + QFont lf = menu->font(); + lf.setPointSizeF(8); + menu->setFont(lf); + + menu->uid=1; + mTrenag = menu->addMenu(QString::fromLocal8Bit("")); + mTrenag->addAction(m1Source); + mTrenag->addAction(m1Trace); + + m1Manevr=mTrenag->addMenu(QString::fromLocal8Bit("")); + la.clear(); + la<addActions(la); + + la.clear(); + la<addActions(la); + + m1OperatorTren = mTrenag->addMenu(QString::fromLocal8Bit(" ")); + la.clear(); + la << m1Rezhim +// << m1ShowMark + << m1ResetCourse +// << m1ResetMark +// << m1Timer + ; + m1OperatorTren->addActions(la); + + + + + mTopo = menu->addMenu(QString::fromLocal8Bit("")); + + mTopo->addAction(m2Reper); + mTopo->addAction(m2Mestopol); + m2Pereschet=mTopo->addMenu(QString::fromLocal8Bit(" ")); + + la.clear(); + la << m2Geo_GK << m2GK_Geo << m2GK_GK; + m2Pereschet->addActions(la); + + + + + + mGAG = menu->addMenu(QString::fromLocal8Bit("")); + mGAG->addAction(m3GAG); + + mPodgotovka = menu->addMenu(QString::fromLocal8Bit("")); + la.clear(); + la<addActions(la); + + + + + mSost = menu->addMenu(QString::fromLocal8Bit(".")); + mSost->addAction(m5VvodBK); + + m5Reports = mSost->addMenu(QString::fromLocal8Bit("")); + la.clear(); + la<addActions(la); + + mSost->addAction(m5PeriodicFK); + mSost->addAction(m5CtrlSum); + + + + menu->show(); + + connect(menu, SIGNAL(rightPressed(int)), this, SLOT(catcher(int))); + connect(menu, SIGNAL(leftPressed(int)), this, SLOT(catchel(int))); + + + + menu1 = new MenuBarMod(ui->dialMenu); + menu1->setGeometry(0,menu->height(),270, 24); + + menu1->setFont(lf); + menu1->uid=2; + + + mStrelba = menu1->addMenu(QString::fromLocal8Bit("")); + la.clear(); + la<addActions(la); + + + mCVS = menu1->addMenu(QString::fromLocal8Bit("")); + la.clear(); + la<addActions(la); + + mOtogd = menu1->addMenu(QString::fromLocal8Bit("")); + mOtogd->addAction(m8Reset); + mOtogd->addAction(m8Param); + + + mReg = menu1->addMenu(QString::fromLocal8Bit("")); + mReg->addAction(m9Oscil); + mReg->addAction(m9View); + + + mExit = menu1->addMenu(QString::fromLocal8Bit("")); + mExit->addAction(m0Reboot); + mExit->addAction(m0Shutdown); + + + connect(menu1, SIGNAL(rightPressed(int)), this, SLOT(catcher(int))); + connect(menu1, SIGNAL(leftPressed(int)), this, SLOT(catchel(int))); + +} + + +void Widget::catcher(int p) +{ + QList la; + QMenu *m; + switch (p) { + + case 1: + + la = menu1->actions(); + menu1->setActiveAction(la.at(0)); + m = la.at(0)->menu(); + la = m->actions(); + m->setActiveAction(la.at(0)); + m->setFocus(); + + break; + case 2: + la = menu->actions(); + menu->setActiveAction(la.at(0)); + m = la.at(0)->menu(); + la = m->actions(); + m->setActiveAction(la.at(0)); + m->setFocus(); + break; + default: + break; + } +} + +void Widget::catchel(int p) +{ + QList la; + QMenu *m; + + switch (p) { + + case 1: + + la = menu1->actions(); + menu1->setActiveAction(la.last()); + + m = la.last()->menu(); + la = m->actions(); + m->setActiveAction(la.at(0)); + m->setFocus(); + break; + case 2: + la = menu->actions(); + menu->setActiveAction(la.last()); + m = la.last()->menu(); + la = m->actions(); + m->setActiveAction(la.at(0)); + m->setFocus(); + break; + default: + break; + } +} + +void Widget::msMeteoSredShow() +{ + meteosred *l = new meteosred(this); + l->show(); +} + +void Widget::setMeteo(bool m1, bool m2) +{ + meteoAvtonom = m1; + meteoSred = m2; + + if (meteoSred) + ui->lineEdit_30->setText(QString::fromLocal8Bit("")); + else + ui->lineEdit_30->setText(QString::fromLocal8Bit("")); +} + +void Widget::msVvodMA() +{ + vvodMA *l = new vvodMA(this); + l->show(); +} + +void Widget::msBulletinShow() +{ + vvodMs *l = new vvodMs(this); + l->show(); +} + +void Widget::msNastrel() +{ + nastrel *l = new nastrel(this); + l->show(); +} + +void Widget::msTempZar() +{ + tempZar *l = new tempZar(this); + l->show(); +} + +void Widget::msErrorZA() +{ + errorsZA *l = new errorsZA(this); + l->show(); +} + +void Widget::msZerkuS() +{ + zerkus *l = new zerkus(this); + l->show(); +} + +void Widget::msOwnAdr() +{ + ownAdr *l=new ownAdr(this); + l->show(); +} + +void Widget::msGAG() +{ + GAG *l = new GAG(this); + l->show(); +} + +void Widget::setRezhimGAG(int pos) +{ + rezhimGAG = pos; + ui->lineEdit_29->setText(rezhimGAGtxt[pos]); + +} + +void Widget::msVvodTS() +{ + vvodTS *l = new vvodTS(this); + l->show(); +} + +void Widget::msVvodReper() +{ + vvodReper *l = new vvodReper(this); + l->show(); +} + +void Widget::msGeoToGK() +{ + GEOtoGK *l = new GEOtoGK(this); + l->show(); +} + +void Widget::msGKToGeo() +{ + GKtoGEO *l=new GKtoGEO(this); + l->show(); + +} + +void Widget::msGKToGK() +{ + GKtoGK *l=new GKtoGK(this); + l->show(); +} + +void Widget::msVvodSectAzim() +{ + vvodSectAzim *l=new vvodSectAzim(this); + l->show(); +} + +void Widget::msVvodSectUgol() +{ + vvodSectUgol *l = new vvodSectUgol(this); + l->show(); +} + +void Widget::msVvodSectOtvet() +{ + vvodSectOtvet *l=new vvodSectOtvet(this); + l->show(); +} + +void Widget::msVvodManualZA() +{ + autoZAdefault = false; +} + +void Widget::msVvodAutoZA() +{ + vvodAutoZAdef *l=new vvodAutoZAdef(this); + l->show(); +} + +void Widget::msVvodBK() +{ + VvodBK *l = new VvodBK(this); + l->show(); +} + +void Widget::msVvodDKO() +{ + vvodDKO *l=new vvodDKO(this); + l->show(); +} + +void Widget::msVvod2z() +{ + vvod2z *l=new vvod2z(this); + l->show(); +} + +void Widget::msVvodKCancel() +{ + // send Otkaz + + VCUnumTarget = -1; + + ui->lineEdit_27->setText(QString::fromLocal8Bit("")); + ui->lineEdit_26->setText(QString::fromLocal8Bit("")); + QTimer::singleShot(500, ui->lineEdit_27, SLOT(clear())); + QTimer::singleShot(500, ui->lineEdit_26, SLOT(clear())); + +} + +void Widget::msVvodKZapret() +{ + // send Zapret + + ui->lineEdit_27->setText(QString::fromLocal8Bit("")); + ui->lineEdit_26->setText(QString::fromLocal8Bit("")); + QTimer::singleShot(500, ui->lineEdit_27, SLOT(clear())); + QTimer::singleShot(500, ui->lineEdit_26, SLOT(clear())); +} + +void Widget::msVvodKKill() +{ +// send Kill + ui->lineEdit_27->setText(QString::fromLocal8Bit("")); + ui->lineEdit_26->setText(QString::fromLocal8Bit("")); + QTimer::singleShot(500, ui->lineEdit_27, SLOT(clear())); + QTimer::singleShot(500, ui->lineEdit_26, SLOT(clear())); + +} + +void Widget::msVvodKMiss() +{ + //send Missed + ui->lineEdit_27->setText(QString::fromLocal8Bit("")); + ui->lineEdit_26->setText(QString::fromLocal8Bit("")); + QTimer::singleShot(500, ui->lineEdit_27, SLOT(clear())); + QTimer::singleShot(500, ui->lineEdit_26, SLOT(clear())); + +} + +void Widget::msVvodCU_N() +{ + vvodKCU *l=new vvodKCU(this); + l->show(); +} + +void Widget::msVvodCU_N2(int NC, int z2Z) // ( ) +{ + if ((NC)&&(grAir[abs(NC)-1]->exist)) + { + lastKO = z2Z; + ui->lineEdit_27->setText(QString::fromLocal8Bit(" ")); + ui->lineEdit_26->setText(QString::fromLocal8Bit("")); + + QClipboard *clipboard = QApplication::clipboard(); + clipboard->setText(QString::fromLocal8Bit(".")); + + QTimer::singleShot(1000, ui->lineEdit_27, SLOT(clear())); + QTimer::singleShot(1500, ui->lineEdit_27, SLOT(paste())); + QTimer::singleShot(500, ui->lineEdit_26, SLOT(clear())); + + + + VCUnumTarget = abs(NC)-1; + ui->lineEdit_8->setText(QString::number(NC)); + if (NC>0) ui->lineEdit_16->setText(QString::fromLocal8Bit("")); + else ui->lineEdit_16->setText(QString::fromLocal8Bit("")); + + +// reCalculate(); + + // . + } +} + + +void Widget::msVvodReady() +{ + vvodReady *l=new vvodReady(this); + l->show(); +} + +void Widget::msShowCRC() +{ + showCRC *l = new showCRC(this); + l->show(); +} + + +void Widget::reCalculate() +{ + int cnt=0; + for (int i=0; i<100; i++) if (grAir[i]->exist) cnt++; + targetsCount = cnt; + + + + QString str; + int mdu, du; + qreal angle; + qreal x,y,h, d; + + int td, tl, tr, tt; + + + kzsSect.left = (qreal(sectAzLow1*100+sectAzLow2))*6/100; + kzsSect.right = (qreal(sectAzHigh1*100+sectAzHigh2))*6/100; + + kzsSect.bottom = (qreal(sectUgLow1*100+sectUgLow2))*6/100; + kzsSect.height = (qreal(sectUgHigh1*100+sectUgHigh2))*6/100; + + + if ((kzsSect.bottom)||(kzsSect.height)) + { + if (sectUgLow2<10) + grKzsSect->setText1(QString::number(sectUgLow1)+"-0"+QString::number(sectUgLow2)); + else + grKzsSect->setText1(QString::number(sectUgLow1)+"-"+QString::number(sectUgLow2)); + + + + if (sectUgHigh2<10) + grKzsSect->setText2(QString::number(sectUgHigh1)+"-0"+QString::number(sectUgHigh2)); + else + grKzsSect->setText2(QString::number(sectUgHigh1)+"-"+QString::number(sectUgHigh2)); + + } + else + { + grKzsSect->setText(" "," "); + } + + + ui->radioButton_set2->setChecked((sectAzLow1)||(sectAzLow2)||(sectAzHigh1)||(sectAzHigh2)); + ui->radioButton_set3->setChecked((sectUgLow1)||(sectUgLow2)||(sectUgHigh1)||(sectUgHigh2)); + + ui->radioButton_set4->setChecked(rezhimZerk); + + + + + + +// ASnumTarget = 0; + + if (ASnumTarget!=-1) + { + ui->lineEdit_4->setText(QString::number(ASnumTarget+1)); + QLineF la = QLineF(QPointF(0,0), grAir[ASnumTarget]->coords(1)); + angle = -la.angle(); + if (angle<0) angle+=360; + mdu = int((angle)*6000/360) % 6000; + if (mdu<0) mdu+=6000; + du = mdu / 100; mdu %= 100; + ui->lineEdit_12->setText(QString::number(du)); + ui->lineEdit_13->setText(QString::number(mdu)); + + td = du*100+mdu; + tl = sectAzLow1*100+sectAzLow2; + tr = sectAzHigh1*100+sectAzHigh2; + + if (tl||tr) + { + if (tlradioButton_set5->setChecked(((td>tl)&&(tdradioButton_set5->setChecked(((tdtl))); + } + else + ui->radioButton_set5->setChecked(0); + + + + + ui->lineEdit_10->setText(QString::number(la.length()*100, 'f', 0)); + ui->lineEdit_9->setText(QString::number(grAir[ASnumTarget]->rH*100, 'f', 0)); + ui->lineEdit_11->setText(QString::number(grAir[ASnumTarget]->rV0*100, 'f', 0)); + + + x=grAir[ASnumTarget]->rX; + y=grAir[ASnumTarget]->rY; + h=grAir[ASnumTarget]->rH; + + + + d = sqrt(x*x+y*y); + angle=atan(h/d)/M_PI; + mdu = int((angle)*3000) % 6000; + if (mdu<0) mdu+=6000; + du = mdu / 100; mdu %= 100; + ui->lineEdit_14->setText(QString::number(du)); + ui->lineEdit_15->setText(QString::number(mdu)); + + td = du*100+mdu; + tl = sectUgLow1*100+sectUgLow2; + tr = sectUgHigh1*100+sectUgHigh2; + if (trradioButton_set6->setChecked(((tdtr))); + else + ui->radioButton_set6->setChecked(0); + + + + grRckt1->setRect(R_N_t1*40, 0, R_N_t2*40, 30); + grRckt2->setRect(R_V_t1*40, 0, R_V_t2*40, 30); + +// ui->lineEdit_5->setText(QString::number(AS_par)); + +// if (basePoxod==2) +// { +// ui->lineEdit_7->setText("0"); +// ui->lineEdit_6->setText("0"); +// } +// else +// if (basePoxod==1) + { + ui->lineEdit_7->setText(QString::number(AS_t1, 'f', 1)); + ui->lineEdit_6->setText(QString::number(AS_t2, 'f', 1)); + } + + } + else + { + ui->lineEdit_4->setText("0"); + // ui->lineEdit_5->setText("0"); + ui->lineEdit_6->setText("0"); + ui->lineEdit_7->setText("0"); + + ui->lineEdit_9->setText("0"); + ui->lineEdit_10->setText("0"); + ui->lineEdit_11->setText("0"); + + ui->lineEdit_12->setText("0"); + ui->lineEdit_13->setText("0"); + ui->lineEdit_14->setText("0"); + ui->lineEdit_15->setText("0"); + } + + + + if (VCUnumTarget!=-1) + { + + QLineF lf = QLineF(QPointF(0,0), grAir[VCUnumTarget]->coords(1)); + + angle = -lf.angle(); + if (angle<0) angle+=360; + mdu = int((angle)*6000/360) % 6000; + if (mdu<0) mdu+=6000; + du = mdu / 100; mdu %= 100; + ui->lineEdit_22->setText(QString::number(du)); + ui->lineEdit_23->setText(QString::number(mdu)); + + str.clear(); + if (lastKO<10) str.append("0"); + str.append(QString::number(lastKO)); + + ui->lineEdit_20->setText(QString::number(lf.length()*100, 'f', 0)); + ui->lineEdit_19->setText(QString::number(grAir[VCUnumTarget]->rH*100, 'f', 0)); + ui->lineEdit_21->setText(QString::number(grAir[VCUnumTarget]->rV0*100, 'f', 0)); + + + x=grAir[VCUnumTarget]->rX; + y=grAir[VCUnumTarget]->rY; + h=grAir[VCUnumTarget]->rH; + + d = sqrt(x*x+y*y); + angle=atan(h/d)/M_PI; + mdu = int((angle)*3000) % 6000; + if (mdu<0) mdu+=6000; + du = mdu / 100; mdu %= 100; + ui->lineEdit_24->setText(QString::number(du)); + ui->lineEdit_25->setText(QString::number(mdu)); + + ui->lineEdit_18->setText(QString::number(VCU_t1, 'f', 1)); + ui->lineEdit_17->setText(QString::number(VCU_t2, 'f', 1)); + + } + else + { + ui->lineEdit_16->clear(); + ui->lineEdit_22->setText("0"); + ui->lineEdit_23->setText("0"); + ui->lineEdit_20->setText("0"); + ui->lineEdit_19->setText("0"); + ui->lineEdit_21->setText("0"); + ui->lineEdit_24->setText("0"); + ui->lineEdit_25->setText("0"); + + ui->lineEdit_17->setText("0"); + ui->lineEdit_18->setText("0"); + + } + + + + +} + + +void Widget::on_pushButton_8_clicked() +{ + msVvodKCancel(); +} + +void Widget::on_pushButton_10_clicked() +{ + msVvodBK(); +} + +void Widget::on_pushButton_14_clicked() +{ + msVvodKZapret(); +} + +void Widget::on_pushButton_12_clicked() +{ + msVvodKKill(); +} + +void Widget::on_pushButton_13_clicked() +{ + msVvodKMiss(); +} + + +void Widget::on_pushButton_7_clicked() +{ + msVvodCU_N(); +} + + +void Widget::on_pushButton_11_clicked() +{ + msVvod2z(); +} + + +void Widget::on_pushButton_4_clicked() +{ + +} + +void Widget::on_comboBox_2_currentIndexChanged(int index) +{ +// Zoom + QString str; + switch(index) + { + case 0: + str = QString("1600x1637"); + break; + case 1: + str = QString("800x818"); + break; + case 2: + str = QString("400x409"); + break; + case 3: + str = QString("180x184"); + break; + case 4: + str = QString("90x92"); + break; + case 5: + str = QString("70x72"); + break; + case 6: + str = QString("50x51"); + break; + case 7: + str = QString("24x25"); + break; + case 8: + str = QString("12x12"); + break; + default: + break; + } + ui->label->setText(str); + + qreal t = 1/(gV->scMeter)*zoomKoef[index]; + globalScale = t; + gV->scale(t, t); + gV->scMeter = zoomKoef[index]; + + grOwnSect->setRadius(223/zoomKoef[index]); + + grKzsSect->setRadius(223/zoomKoef[index]); + + grAzimutGUN->setLength(28/zoomKoef[index]); + grAzimutGUN->setWidth(5/zoomKoef[index]); + grAzimutGUN->setTextSize(10/zoomKoef[index]); + grAzimutGUN->setTextSize(10/zoomKoef[index], 1); + grAzimutGUN->setTextPos(QPointF(-10/zoomKoef[index], -20/zoomKoef[index])); + grAzimutGUN->setTextPos(QPointF(-10/zoomKoef[index], -9/zoomKoef[index]), 1); + + + qreal tDU = (qreal((GAGdu-GAGdu0)*100+(GAGmdu-GAGmdu0))) *6/100; + + grAzimutKurs->setPos0(QPointF(-200*sin((azimutKurs+tDU)*M_PI/180)/zoomKoef[index], -200*cos((azimutKurs+tDU)*M_PI/180)/zoomKoef[index])); + grAzimutKurs->setAngle(-azimutKurs-tDU+90); + grAzimutKurs->setWidth(3/zoomKoef[index]); + grAzimutKurs->setLength(20/zoomKoef[index]); + grAzimutKurs->setTextPos(QPointF((-185*sin((azimutKurs+tDU)*M_PI/180)+10)/zoomKoef[index], -185*cos((azimutKurs+tDU)*M_PI/180)/zoomKoef[index])); + grAzimutKurs->setTextSize(10/zoomKoef[index]); + + grAzimutRLS->setLength(219/zoomKoef[index]); + grAzimutRLS->setWidth(2/zoomKoef[index]); + + for (int i=0; i<100; i++) + { +// if (grAir[i]->exist) + { + grAir[i]->setScaleIndex(1/zoomKoef[index]); + grAir[i]->scale(1/t,1/t); + } + } + + grVCU->setWidth(1/zoomKoef[index]); + grAzimutRLSnormal->setWidth(1/zoomKoef[index]); +} + + +void Widget::on_comboBox_currentIndexChanged(int index) +{ + for (int i=0; i<100; i++) + { + grAir[i]->setViewSettings(index); + } +} + +void Widget::showSplash(int d) +{ + + + + if (d==1) + { + loadingPos = 0; + ui->graphicsView->centerOn(0,loadingPos); + ui->graphicsView->show(); + } + if (d==0) + { + if (loadScreenTmr->isActive()) loadScreenTmr->stop(); + loadingPos=0; + ui->graphicsView->hide(); + + getFocus(); + ui->pushButton_4->setFocus(); + } + + if (d == 3) // + { + if (loadScreenTmr->isActive()) loadScreenTmr->stop(); + ui->graphicsView->show(); + loadingPos = 1100; + loadScreenTmr->start(300); +// d=0; +// ui->graphicsView->hide(); + } + + splashIsOn = d; +} + +void Widget::loadScreenTick() +{ + QString strTab; + QGraphicsTextItem *ti; + + if (quickLoad) + { + showSplash(0); + } + + if (splashIsOn==3) + { + ui->graphicsView->centerOn(0, loadingPos); + loadingPos+=loadingShift; + // qDebug("%d\n", loadingPos); + if (loadingPos>=2900) + { + loadScreenTmr->stop(); + ui->graphicsView->centerOn(0,2900); + splashIsOn = 4; + curPosition = 3012; + putDate(); + } + } + if (splashIsOn==5) + { + ti = tmpGS->addText(QString::fromLocal8Bit(" 23-206 "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + ti = tmpGS->addText(QString::fromLocal8Bit(" 23-206 "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + ti = tmpGS->addText(QString::fromLocal8Bit(" 23-421 "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + strTab = QString::fromLocal8Bit(" 909 "); + if (ui->checkBox_ctrl0->isChecked()==true) strTab.append(QString::fromLocal8Bit(" ")); + strTab.append(QString::fromLocal8Bit("")); + ti = tmpGS->addText(strTab, QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + ti = tmpGS->addText(QString::fromLocal8Bit(" 21-403 "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + ti = tmpGS->addText(QString::fromLocal8Bit(" 23-401 "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + strTab.clear(); + if (ui->checkBox_ctrl0->isChecked()==false) + strTab.append(QString::fromLocal8Bit(" ")); + else + strTab.append(QString::fromLocal8Bit(" ")); + ti = tmpGS->addText(strTab, QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + + + splashIsOn = 6; + QTimer::singleShot(1000, this, SLOT(loadScreenTick())); + } else + if (splashIsOn==6) + { +// if (loadScreenTmr->isActive()) loadScreenTmr->stop(); + curPosition+=36; + + ti = tmpGS->addText(QString::fromLocal8Bit(" "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + ti = tmpGS->addText(QString::fromLocal8Bit(" = "), QFont("Consolas", 11)); + ti->setDefaultTextColor(QColor(193, 193, 193)); + curPosition+=12; + ti->setPos(-3, curPosition); + ui->graphicsView->centerOn(0, curPosition-12-113); + splashIsOn = 7; + QTimer::singleShot(5000, this, SLOT(loadScreenTick())); + + + } else + if (splashIsOn==7) + { + + putLogin(); + } + +} + +void Widget::changeOpenWidget(QObject *p) +{ + openWidget = (QWidget*)p; +} + +void Widget::clearOpenWidget() +{ + openWidget = 0; +} + +void Widget::focusSS(QWidget *old, QWidget *now) +{ + if (now) qDebug((now->objectName()).toLocal8Bit()); +} + +void Widget::on_pushButton_9_clicked() +{ + + ui->radioButton_set1->setChecked(ui->pushButton_9->isChecked()); + +} diff --git a/widget.h b/widget.h new file mode 100644 index 0000000..5aab25e --- /dev/null +++ b/widget.h @@ -0,0 +1,431 @@ +#ifndef WIDGET_H +#define WIDGET_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "menubarmod.h" +#include "geo.h" +#include "graphicsviewmod.h" +#include "graphicsarcitem.h" +#include "graphicslineitem.h" +#include +#include "grairobject.h" + +#include +#include + + + +#include "meteosred.h" +#include "vvodma.h" +#include "vvodms.h" +#include "nastrel.h" +#include "tempzar.h" +#include "errorsza.h" +#include "zerkus.h" +#include "ownadr.h" + +#include "gag.h" + +#include "vvodts.h" +#include "vvodreper.h" +#include "geotogk.h" +#include "gktogeo.h" +#include "gktogk.h" + +#include "vvodsectazim.h" +#include "vvodsectugol.h" +#include "vvodsectotvet.h" +#include "vvodautozadef.h" + +#include "vvodbk.h" +#include "vvoddko.h" +#include "vvodkcu.h" +#include "vvodready.h" + +#include "vvod2z.h" + +#include "showcrc.h" +#include "texit.h" + +namespace Ui { +class Widget; +} + +class Widget : public QWidget +{ + Q_OBJECT + +public: + explicit Widget(QWidget *parent = 0); + ~Widget(); + + QUdpSocket *udpSocket, *udpSend, *udpKeybRead; + + + QWidget *openWidget; + + MenuBarMod *menu, *menu1; + GraphicsViewMod *gV; + QGraphicsScene *gsc; + + QMenu *mTrenag; + QMenu *mTopo; + QMenu *mGAG; + QMenu *mPodgotovka; + QMenu *mSost; + QMenu *mStrelba; + QMenu *mCVS; + QMenu *mOtogd; + QMenu *mReg; + QMenu *mExit; +// "" + QAction *m1Source; + QAction *m1Trace; + + QMenu *m1Manevr; + QAction *m1RazvorotL; + QAction *m1RazvorotR; + QAction *m1Barrazh; + QAction *m1Pikir; + QAction *m1Kabrir; + QAction *m1Speed; + QAction *m1JumpHeli; + + + + QAction *m1Reset; + QAction *m1Load; + QAction *m1Save; + QAction *m1Start; + QAction *m1Stop; + QAction *m1SectorVvod; + QAction *m1SectorEnable; + QAction *m1SectorReset; + + QMenu *m1OperatorTren; + QAction *m1Rezhim; + QAction *m1ShowMark; + QAction *m1ResetCourse; + QAction *m1ResetMark; + QAction *m1Timer; +// "" + QAction *m2Reper; + QAction *m2Mestopol; + QMenu *m2Pereschet; + QAction *m2Geo_GK; + QAction *m2GK_Geo; + QAction *m2GK_GK; +// "" + QAction *m3GAG; +// "" + QAction *m4RezhimMA; + QAction *m4Bulletin; + QAction *m4Nastrel; + QAction *m4Temperature; + QAction *m4Errors; + QAction *m4Data; + QAction *m4RezhimZerk; + QAction *m4Adress; +// "" + QAction *m5VvodBK; + QMenu *m5Reports; + QAction *m5Ready; + QAction *m5TargDestr; + QAction *m5TargMissed; + QAction *m5DKO; + QAction *m5PeriodicFK; + QAction *m5CtrlSum; + +// "" + QAction *m6SectAzim; + QAction *m6SectUgol; + QAction *m6SectOtv; + QAction *m6ManualZA; + QAction *m6AutoZA; + +// "" + QAction *m7Default; + QAction *m7BR; + QAction *m7FK; + QAction *m7TRU; + QAction *m7CU; + QAction *m7CUDenied; + +// "" + QAction *m8Reset; + QAction *m8Param; + +// "" + QAction *m9Oscil; + QAction *m9View; + +// "" + QAction *m0Reboot; + QAction *m0Shutdown; + + bool readFile(); + void writeFile(); + void createMenu(); + void createActions(); + void initBtnUIDs(); + void initParams(); + void setGraph(); + + void setVCU(int id); + void clearVCU(); + int findTargetFromId(int id); + void addTargets(); + void addTarget(int id, int aType, int gType, qreal cX, qreal cY, qreal cH, qreal vX, qreal vY); +// ( ) + bool MRUmode; +// + qreal rckV0, rckV, rckT0, rckTmax, rckD0; + qreal rckHmax, rckHmin, rckDmax, rckDmin; + qreal rckAngle; +// + QGraphicsScene *gscRckt; + QGraphicsView *gvRckt; + + QGraphicsRectItem *grRckt1, *grRckt2; + +// loading + QGraphicsScene *tmpGS; + QGraphicsTextItem *grLoadDate, *grLoadLogin, *grLoadPass; + + QString strLoadDate, strLoadLogin, strLoadPass; + qint16 curPosition; + + qint16 keybMaxDelay; + bool quickLoad; + bool silentMode; + +// + qreal zoomKoef[9]; + + qint8 pwrCVS[3]; + bool pwrMon, pwrMonPrev; + bool resetCVS[3]; + + int splashIsOn; + + bool meteoAvtonom, meteoSred; + void setMeteo(bool m1, bool m2); + + + int rezhimGAG; + QString rezhimGAGtxt[4]; + int GAGmdu, GAGdu; + int GAGmdu0, GAGdu0; + void setRezhimGAG(int pos); + + int rezhimZerk; + + T_geoPoint ts, reper; + T_metAv metAv; + QString metSr; + + int errZAgor[9]; + int errZAver[7]; + int errZAdB; + + int currentNum; + + int findNextNum(int n); + + int sectAzLow1, sectAzLow2, sectAzHigh1, sectAzHigh2; + int sectUgLow1, sectUgLow2, sectUgHigh1, sectUgHigh2; + + int grViewSetting; + + T_sectOtv ownSect; + graphicsArcItem *grOwnSect; + T_sectOtv kzsSect; + graphicsArcItem *grKzsSect; + qreal azimutGUN, azimutGUNprev; + qreal ugolGUN, ugolGUNprev; + graphicsLineItem *grAzimutGUN; + + int umMissTur; + int basePoxod; // 1 - , 2- , 3 - + +// t1 - , t2 - +// AS - , VCU - , R_N - , +// R_V - + + qreal AS_t1, AS_t2, VCU_t1, VCU_t2, R_N_t1, R_N_t2, R_V_t1, R_V_t2; + qreal AS_par; + +// qreal grCrossAzim, grCrossDist; +// QGraphicsItem grCross; + + + qreal azimutRLS; + graphicsLineItem *grAzimutRLS; + graphicsLineItem *grAzimutRLSnormal; + + qreal azimutKurs; + graphicsLineItem *grAzimutKurs; + + grAirObject *grAir[100]; + int targetsIds[100]; + qreal globalScale; + int targetsCount; + + int VCUnumTarget; + int ASnumTarget; + graphicsLineItem *grVCU; + int lastKO; + + + bool autoZAdefault; + + int BK[5]; // 0-3 , , , ; 4- + + bool readyBoegotov; + + int ZAtempZar; + int ZAnastrel; + + + QTimer *loadScreenTmr; + int loadingPos; + int loadingShift; + + void keybReadDatagrams(int d1, int d2, int d3, int d4, int d5); + +// + + QUdpSocket *udpNewTask, *udpOptServer, *udpOptServer2; + QUdpSocket *udpTarget, *udpCU; + char currentTaskNum; + +public slots: + void changeOpenWidget(QObject* p); + void clearOpenWidget(); + + void catcher(int); + void catchel(int); + void switchWidget(int); + + void showSplash(int d=1); + void hideSplash() {showSplash(0);}; + + void msMeteoSredShow(void); + void msVvodMA(void); + void msBulletinShow(void); + void msNastrel(void); + void msTempZar(void); + void msErrorZA(void); + void msZerkuS(void); + void msOwnAdr(void); + + void msGAG(void); + + void msVvodReper(); + void msVvodTS(); + void msGeoToGK(); + void msGKToGeo(); + void msGKToGK(); + + void msVvodSectAzim(); + void msVvodSectUgol(); + void msVvodSectOtvet(); + void msVvodAutoZA(); + void msVvodManualZA(); + + void msVvodBK(); + void msVvodDKO(); + void msVvodKCancel(); + void msVvodKZapret(); + void msVvodKKill(); + void msVvodKMiss(); + + void msVvodCU_N(); + void msVvodCU_N2(int NC, int z2Z=0); + + void msVvodReady(); + + void msShowCRC(); + + void msVvod2z(); + + + void closeSlot(); + void reCalculate(); + + void processSendingDatagrams(QByteArray buf, int port=45460); + void sendReport(); +private slots: + void setSector(qint8 zoneType, float anglStart, float anglEnd); + + void processPendingDatagrams(); + + void clearOldTarget(QBitArray &subAr); + void process_TargetKDG(); + void process_CU_KRU_KDG(); + + void newOptServerData(); + + void newOptServerData2(); + + void synhrTimeout(); + + void newTaskReadDatagrams(); + + void msTickGraph(); + + void on_pushButton_8_clicked(); + + void on_pushButton_10_clicked(); + + void on_pushButton_14_clicked(); + + void on_pushButton_12_clicked(); + + void on_pushButton_13_clicked(); + + void on_pushButton_7_clicked(); + + void on_comboBox_2_currentIndexChanged(int index); + + void on_pushButton_4_clicked(); + + void on_comboBox_currentIndexChanged(int index); + + void on_pushButton_11_clicked(); + + void loadScreenTick(); + + void focusSS(QWidget*, QWidget*); + + void activateWindow(int); + + void putLogin(); + + void getFocus(); + + void on_pushButton_9_clicked(); + +private: + void putDate(); + + + virtual void keyPressEvent ( QKeyEvent * e ); + + Ui::Widget *ui; + + + + +}; + +#endif // WIDGET_H diff --git a/widget.ui b/widget.ui new file mode 100644 index 0000000..b62ea40 --- /dev/null +++ b/widget.ui @@ -0,0 +1,2301 @@ + + + Widget + + + + 0 + 0 + 800 + 600 + + + + + 0 + 0 + + + + + 800 + 600 + + + + Widget + + + + + 530 + 0 + 271 + 161 + + + + Qt::NoFocus + + + + + 10 + 50 + 251 + 101 + + + + + QLayout::SetFixedSize + + + 0 + + + + + true + + + + 58 + 23 + + + + + 58 + 23 + + + + Qt::TabFocus + + + + + + ИСХ + + + + + + + + 58 + 23 + + + + + 58 + 23 + + + + БР + + + + + + + true + + + + 58 + 23 + + + + + 58 + 23 + + + + Qt::TabFocus + + + ФК + + + + + + + true + + + + 57 + 23 + + + + + 57 + 23 + + + + Qt::TabFocus + + + ТРУ + + + + + + + + 58 + 23 + + + + + 58 + 23 + + + + ЦУ_N + + + + + + + + 58 + 23 + + + + + 58 + 23 + + + + Отказ + + + + + + + + 58 + 23 + + + + + 58 + 23 + + + + Упрежд. + + + true + + + true + + + + + + + + 57 + 23 + + + + + 57 + 23 + + + + БК + + + + + + + + 58 + 23 + + + + + 58 + 23 + + + + 2Z + + + + + + + + 58 + 23 + + + + + 58 + 23 + + + + Уничтож. + + + + + + + + 58 + 23 + + + + + 58 + 23 + + + + Пропуск + + + + + + + + 57 + 23 + + + + + 57 + 23 + + + + ДКЗС + + + + + + + + + + 10 + 0 + 540 + 571 + + + + + + 13 + 10 + 61 + 24 + + + + QFrame::Box + + + QFrame::Sunken + + + 2 + + + 54x50 + + + Qt::RichText + + + false + + + Qt::AlignCenter + + + + + + 80 + 10 + 41 + 23 + + + + Qt::StrongFocus + + + Сел. + + + true + + + false + + + + + + 240 + 10 + 41 + 22 + + + + Qt::TabFocus + + + + 800 + + + + + 400 + + + + + 200 + + + + + 90 + + + + + 45 + + + + + 35 + + + + + 25 + + + + + 12 + + + + + 6 + + + + + + + 130 + 10 + 101 + 22 + + + + Qt::TabFocus + + + + полный + + + + + пустой + + + + + источник + + + + + номер + + + + + без ТЦ + + + + + + + + 530 + 160 + 271 + 441 + + + + + + 0 + 40 + 271 + 121 + + + + Сопровождение АВТОМАТ + + + + + 10 + 20 + 21 + 16 + + + + + + + + + + 34 + 19 + 51 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 120 + 19 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 110 + 20 + 16 + 16 + + + + Р + + + + + + 190 + 10 + 81 + 71 + + + + ЗА + + + + + 1 + 14 + 61 + 51 + + + + Qt::Vertical + + + + Qt::NoFocus + + + Зона-2 + + + false + + + + + Qt::NoFocus + + + Зона + + + true + + + false + + + + + Qt::NoFocus + + + Огонь + + + false + + + + + + + + 120 + 44 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 12 + 44 + 16 + 16 + + + + + 11 + + + + τ + + + + + + 34 + 44 + 51 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 110 + 45 + 16 + 16 + + + + 3 + + + + + + 110 + 99 + 16 + 16 + + + + H + + + + + + 120 + 98 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 12 + 100 + 16 + 16 + + + + D + + + + + + 30 + 99 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 200 + 99 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 190 + 100 + 16 + 16 + + + + V + + + + + + 10 + 70 + 21 + 16 + + + + + 10 + + + + β + + + + + + 36 + 70 + 21 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 109 + 68 + 16 + 16 + + + + + 11 + + + + ε + + + + + + 70 + 70 + 21 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 62 + 71 + 21 + 16 + + + + - + + + + + + 122 + 70 + 21 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 148 + 71 + 21 + 16 + + + + - + + + + + + 156 + 71 + 21 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 20 + 50 + 16 + 16 + + + + + 7 + + + + п + + + + + + 102 + 41 + 16 + 16 + + + + + 11 + + + + τ + + + + + + 102 + 166 + 16 + 16 + + + + 3 + + + + + + 94 + 162 + 16 + 16 + + + + + 12 + + + + τ + + + + + + + 0 + 280 + 171 + 81 + + + + Установки + + + + + 10 + 20 + 82 + 17 + + + + Qt::NoFocus + + + УПР + + + true + + + false + + + + + + 10 + 40 + 71 + 17 + + + + Qt::NoFocus + + + СЕКТ.АЗ + + + false + + + + + + 10 + 60 + 82 + 17 + + + + Qt::NoFocus + + + СЕКТ.УМ + + + false + + + + + + 110 + 60 + 51 + 17 + + + + Qt::NoFocus + + + ЗЕРК + + + false + + + + + + 99 + 40 + 21 + 16 + + + + ГАГ + + + + + + 124 + 40 + 41 + 16 + + + + Qt::NoFocus + + + ГАГдв + + + + + + 140 + 20 + 21 + 16 + + + + Qt::NoFocus + + + МА + + + + + + 96 + 20 + 41 + 16 + + + + МЕТЕО + + + + + + + 178 + 280 + 91 + 81 + + + + Контроль + + + + + 10 + 15 + 72 + 68 + + + + + + + Qt::NoFocus + + + Р909 + + + true + + + false + + + + + + + Qt::NoFocus + + + БР21-403 + + + true + + + false + + + + + + + Qt::NoFocus + + + БР21-401 + + + true + + + false + + + + + + + + + + 0 + 360 + 271 + 26 + + + + + + + + + 10 + 5 + 82 + 17 + + + + Qt::NoFocus + + + ЗАПРЕТ АЗ. + + + false + + + + + + 90 + 5 + 82 + 17 + + + + Qt::NoFocus + + + ЗАПРЕТ УМ. + + + false + + + + + + 177 + 6 + 31 + 16 + + + + Сч.Вр. + + + + + + 214 + 3 + 41 + 20 + + + + Qt::NoFocus + + + 0.0 + + + + + + + 0 + 390 + 271 + 51 + + + + + + + Qt::NoFocus + + + δβ + + + false + + + + + + + Qt::NoFocus + + + δε + + + false + + + + + + + Qt::NoFocus + + + δQ + + + false + + + + + + + Qt::NoFocus + + + δΔε + + + false + + + + + + + Qt::NoFocus + + + δD + + + false + + + + + + + Qt::NoFocus + + + δε рл + + + false + + + + + + + Qt::NoFocus + + + δε рп + + + false + + + + + + + Qt::NoFocus + + + δФ + + + false + + + + + + + Qt::NoFocus + + + δΔq + + + false + + + + + + + + + 0 + 0 + 271 + 41 + + + + Режимы + + + + + 10 + 20 + 21 + 16 + + + + Qt::NoFocus + + + ЦВС + + + + + + 34 + 19 + 41 + 16 + + + + Qt::NoFocus + + + БР + + + true + + + + + + 97 + 19 + 50 + 16 + + + + + 7 + + + + Qt::NoFocus + + + РЕЖИМ Р + + + 7 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 79 + 20 + 21 + 16 + + + + Qt::NoFocus + + + ЗР + + + + + + 187 + 20 + 61 + 16 + + + + Qt::NoFocus + + + РЕЖИМ 1 + + + 7 + + + true + + + + + + 161 + 21 + 21 + 16 + + + + Qt::NoFocus + + + РЛС + + + + + + + 0 + 160 + 267 + 121 + + + + ВЦУ + + + + + 10 + 20 + 21 + 16 + + + + + + + + + + 34 + 19 + 51 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 120 + 19 + 61 + 16 + + + + Qt::NoFocus + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 110 + 20 + 16 + 16 + + + + + + + + + + 120 + 44 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 34 + 44 + 51 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 110 + 99 + 16 + 16 + + + + H + + + + + + 120 + 98 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 10 + 100 + 16 + 16 + + + + D + + + + + + 30 + 99 + 61 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 206 + 99 + 55 + 16 + + + + Qt::NoFocus + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 190 + 100 + 16 + 16 + + + + V + + + + + + 10 + 70 + 21 + 16 + + + + β + + + + + + 36 + 70 + 21 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 70 + 70 + 21 + 16 + + + + Qt::NoFocus + + + 00 + + + true + + + + + + 62 + 71 + 21 + 16 + + + + Qt::NoFocus + + + - + + + + + + 122 + 70 + 21 + 16 + + + + Qt::NoFocus + + + 0 + + + true + + + + + + 148 + 71 + 21 + 16 + + + + - + + + + + + 156 + 71 + 21 + 16 + + + + Qt::NoFocus + + + 00 + + + true + + + + + + 190 + 20 + 16 + 16 + + + + Оп + + + + + + 206 + 19 + 55 + 16 + + + + Qt::NoFocus + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 190 + 44 + 16 + 16 + + + + ПД + + + + + + 206 + 43 + 55 + 16 + + + + Qt::NoFocus + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 190 + 70 + 16 + 16 + + + + К0 + + + + + + 206 + 69 + 55 + 16 + + + + Qt::NoFocus + + + 00 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + true + + + + + + 110 + 70 + 16 + 16 + + + + + 11 + + + + ε + + + + + + 10 + 43 + 16 + 16 + + + + + 11 + + + + τ + + + + + + 18 + 49 + 16 + 16 + + + + + 7 + + + + п + + + + + + 110 + 48 + 16 + 16 + + + + 3 + + + + + + 102 + 44 + 16 + 16 + + + + + 11 + + + + τ + + + + + + + 0 + 390 + 271 + 51 + + + + + Century Gothic + 14 + 75 + true + + + + Qt::NoFocus + + + false + + + ЗОНА + + + false + + + + + + + 0 + 570 + 521 + 31 + + + + + + 5 + 3 + 480 + 25 + + + + Qt::NoFocus + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + + + 255 + 0 + 0 + + + + + + + + + 20 + 50 + 161 + 151 + + + + Qt::NoFocus + + + QFrame::NoFrame + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + + + 50 + 50 + 50 + + + + + false + + + Qt::AlignJustify|Qt::AlignTop + + + QGraphicsView::FullViewportUpdate + + + + + + 30 + 80 + 161 + 151 + + + + Qt::NoFocus + + + QFrame::NoFrame + + + QFrame::Plain + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + + + 50 + 50 + 50 + + + + + + + 50 + 50 + 50 + + + + + false + + + Qt::AlignJustify|Qt::AlignTop + + + QGraphicsView::FullViewportUpdate + + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    + + comboboxmod + QComboBox +
    comboboxmod.h
    +
    +
    + + pushButton + comboBox + comboBox_2 + pushButton_3 + pushButton_4 + pushButton_5 + pushButton_6 + pushButton_7 + pushButton_8 + pushButton_9 + pushButton_10 + pushButton_11 + pushButton_12 + pushButton_13 + pushButton_14 + + + +
    diff --git a/zerkus.cpp b/zerkus.cpp new file mode 100644 index 0000000..a419d10 --- /dev/null +++ b/zerkus.cpp @@ -0,0 +1,55 @@ +#include "zerkus.h" +#include "ui_zerkus.h" + +zerkus::zerkus(QWidget *parent) : + QDialog(parent), + ui(new Ui::zerkus) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); + + rezhimZerk = (((Widget*)parent)->rezhimZerk); + + if (rezhimZerk) + { + ui->checkBox->setChecked(true); + if (rezhimZerk==2) ui->comboBox->setCurrentIndex(1); + else ui->comboBox->setCurrentIndex(0); + } + else + { + ui->checkBox->setChecked(false); + ui->comboBox->setCurrentIndex(0); + } +} + +zerkus::~zerkus() +{ + delete ui; +} + +void zerkus::on_pushButton_2_clicked() +{ + close(); +} + +void zerkus::on_pushButton_clicked() +{ + int ret=0; + if (ui->checkBox->isChecked()) + { + ret = ui->comboBox->currentIndex()+1; + } + + ((Widget*)parent())->rezhimZerk = ret; + ((Widget*)parent())->writeFile(); + close(); +} + +void zerkus::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/zerkus.h b/zerkus.h new file mode 100644 index 0000000..976a8f1 --- /dev/null +++ b/zerkus.h @@ -0,0 +1,29 @@ +#ifndef ZERKUS_H +#define ZERKUS_H + +#include +#include "widget.h" + +namespace Ui { +class zerkus; +} + +class zerkus : public QDialog +{ + Q_OBJECT + +public: + explicit zerkus(QWidget *parent = 0); + ~zerkus(); + +private slots: + void on_pushButton_2_clicked(); + void closeEvent(QCloseEvent *event); + void on_pushButton_clicked(); + +private: + Ui::zerkus *ui; + int rezhimZerk; +}; + +#endif // ZERKUS_H diff --git a/zerkus.ui b/zerkus.ui new file mode 100644 index 0000000..b533435 --- /dev/null +++ b/zerkus.ui @@ -0,0 +1,134 @@ + + + zerkus + + + + 0 + 0 + 274 + 139 + + + + Зеркальная учебная стрельба + + + + + 50 + 103 + 75 + 23 + + + + Ввод + + + + + + 10 + 10 + 241 + 81 + + + + + + + + + 20 + 5 + 101 + 31 + + + + Режим включен + + + + + + 20 + 35 + 101 + 31 + + + + Ось координат + + + + + + 157 + 13 + 31 + 17 + + + + + + + + + + 157 + 38 + 61 + 22 + + + + + Ось Х + + + + + Ось У + + + + + + + + 170 + 103 + 75 + 23 + + + + Отказ + + + + + + pushbuttonmod + QPushButton +
    pushbuttonmod.h
    +
    + + comboboxmod + QComboBox +
    comboboxmod.h
    +
    + + checkboxmod + QCheckBox +
    checkboxmod.h
    +
    +
    + + +

    |P4( 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�or`{Ls{xkP0uipScM|lNQE~T7y%dzsoO9wU_#@I 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 z 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%0A)j-jA6Lq$8>ncu4u# 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�k)%KD4N5aJRs6ZgBk9P{n*iErV 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 zh)key(); + bool fl = true; + + // qDebug("%x", c); + + if ((c==Qt::Key_F11)&& !F11disabled) + { + this->animateClick(); + } + + if ((uid==0x13)&&(c==Qt::Key_Left)) fl = false; + if ((uid==0x13)&&(c==Qt::Key_Up)) fl = false; + + if ((uid==0x1e)&&(c==Qt::Key_Right)) fl = false; + if ((uid==0x1e)&&(c==Qt::Key_Down)) fl = false; + // if ((c==Qt::Key_Tab)) fl = false; + + + if ((uid==0x11)&&(c==Qt::Key_Left)) fl = false; + if ((uid==0x11)&&(c==Qt::Key_Right)) fl = false; + + + + if (fl) QPushButton::keyPressEvent(e); +} + +void pushbuttonmod::focusOutEvent(QFocusEvent *e) +{ + + QPushButton::focusOutEvent(e); +} diff --git a/pushbuttonmod.h b/pushbuttonmod.h new file mode 100644 index 0000000..ee440fe --- /dev/null +++ b/pushbuttonmod.h @@ -0,0 +1,31 @@ +#ifndef PUSHBUTTONMOD_H +#define PUSHBUTTONMOD_H + +#include +#include + +class pushbuttonmod : public QPushButton +{ + Q_OBJECT +public: + explicit pushbuttonmod(QWidget *parent = 0); + + int uid; + + bool isF11disabled(); + void setF11disabled(bool fl); + + + +private: + void keyPressEvent(QKeyEvent *e); +// void focusInEvent(QFocusEvent *e); + virtual void focusOutEvent(QFocusEvent *e); + bool F11disabled; +signals: + +public slots: + +}; + +#endif // PUSHBUTTONMOD_H diff --git a/settings.txt b/settings.txt new file mode 100644 index 0000000..af54359 --- /dev/null +++ b/settings.txt @@ -0,0 +1,22 @@ +1 +0 +15 760 20 5 +0712081016051266016612080265141002671612036918140471201603732319027425210174252101742521017425210174252101742521017425217425217425217425217425217425217628222325 +0 +0 +0 +0 +6 0 500000 600000 100 +6 0 450000 650000 0 +0 250 0 0 3 +0 +29 0 21 0 +0 0 0 0 +30 +60 +0 +0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 +0 +0 +130 170 0 diff --git a/showcrc.cpp b/showcrc.cpp new file mode 100644 index 0000000..d0e0c29 --- /dev/null +++ b/showcrc.cpp @@ -0,0 +1,28 @@ +#include "showcrc.h" +#include "ui_showcrc.h" + +showCRC::showCRC(QWidget *parent) : + QDialog(parent), + ui(new Ui::showCRC) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + + ((Widget*)parent)->changeOpenWidget(this); +} + +showCRC::~showCRC() +{ + delete ui; +} + +void showCRC::on_pushButton_clicked() +{ + close(); +} + +void showCRC::closeEvent(QCloseEvent *event) +{ + ((Widget*)parent())->clearOpenWidget(); + event->accept(); +} diff --git a/showcrc.h b/showcrc.h new file mode 100644 index 0000000..ab1c2f2 --- /dev/null +++ b/showcrc.h @@ -0,0 +1,26 @@ +#ifndef SHOWCRC_H +#define SHOWCRC_H + +#include +#include "widget.h" + +namespace Ui { +class showCRC; +} + +class showCRC : public QDialog +{ + Q_OBJECT + +public: + explicit showCRC(QWidget *parent = 0); + ~showCRC(); + +private slots: + void on_pushButton_clicked(); + void closeEvent(QCloseEvent *event); +private: + Ui::showCRC *ui; +}; + +#endif // SHOWCRC_H diff --git a/showcrc.ui b/showcrc.ui new file mode 100644 index 0000000..275e8ea --- /dev/null +++ b/showcrc.ui @@ -0,0 +1,52 @@ + + + showCRC + + + + 0 + 0 + 255 + 116 + + + + Контрольная сумма + + + + + 90 + 70 + 75 + 23 + + + + ОК + + + + + + 30 + 30 + 201 + 16 + + + + Контрольная сумма ПО: ХХХХХХХХ + + + + + + pushbuttonmod + QPushButton +