268 lines
5.0 KiB
C++
268 lines
5.0 KiB
C++
#ifndef WIDGET_H
|
|
#define WIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QMenuBar>
|
|
#include <QTimer>
|
|
#include <QDateTime>
|
|
#include <QMessageBox>
|
|
#include <QGraphicsScene>
|
|
#include <QGraphicsItem>
|
|
#include <QKeyEvent>
|
|
#include <QWheelEvent>
|
|
#include <QScrollBar>
|
|
#include <QList>
|
|
#include <QHash>
|
|
|
|
#include <QUdpSocket>
|
|
|
|
#include "graphicsviewmod.h"
|
|
#include "graphicsarcitem.h"
|
|
#include "groundobj.h"
|
|
#include "airobj.h"
|
|
#include "upravview.h"
|
|
#include "upravline.h"
|
|
|
|
#include "vvodsectotvet.h"
|
|
#include "vvodnomeratrace.h"
|
|
#include "airticket.h"
|
|
#include "killtarget.h"
|
|
#include "kzstarget.h"
|
|
#include "resetcmd.h"
|
|
#include "vvod2z.h"
|
|
#include "abnticket.h"
|
|
#include "ctrlmode.h"
|
|
|
|
|
|
namespace Ui {
|
|
class Widget;
|
|
}
|
|
|
|
struct KO
|
|
{
|
|
int ZZ;
|
|
qreal x;
|
|
qreal y;
|
|
};
|
|
|
|
|
|
class Widget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Widget(QWidget *parent = 0);
|
|
~Widget();
|
|
|
|
|
|
QTimer *tmr;
|
|
QTimer *tmrCheckTaskStop;
|
|
QTimer *tmrUpr;
|
|
int tempCurTarg;
|
|
QWidget *openWidget;
|
|
int openWidgetType;
|
|
QWidget *openAirTicket;
|
|
int curAirTicketNum;
|
|
|
|
int currentNum;
|
|
|
|
/* */
|
|
QPointF reper;
|
|
QPointF ownTS;
|
|
QPointF curCentr;
|
|
|
|
|
|
|
|
QList<KO> cmdKO;
|
|
|
|
/* Ñåòåâûå øòóêè*/
|
|
|
|
void initNetwork();
|
|
int currentTaskNum;
|
|
int readyForTask;
|
|
int ownId;
|
|
QTimer *nTmr;
|
|
|
|
void sendCU(int nAb, int ZZ, int uid=0, qreal x =0, qreal y=0);
|
|
void sendKRU(int nAb, int zoneType);
|
|
|
|
QUdpSocket *udpSocket;
|
|
QUdpSocket *udpNewTask;
|
|
QUdpSocket *udpSend;
|
|
|
|
/* ãðàôè÷åñêèå øòóêè */
|
|
int grScales[9];
|
|
QGraphicsScene *gsc;
|
|
GraphicsViewMod *gv1, *gv2;
|
|
QGraphicsRectItem *yellowBrick;
|
|
|
|
graphicsArcItem *gArc;
|
|
QList <groundObj*> grObj;
|
|
|
|
QList <airObj*> targets;
|
|
QHash<int, int> hashIdToNum;
|
|
|
|
/* Òàáëèöà óïðàâëåíèÿ */
|
|
|
|
QGraphicsScene *gscUprav;
|
|
upravView *gvUprav;
|
|
QGraphicsScene *gsc1;
|
|
upravLine* uLines[100];
|
|
/* Òàáëèöà 2Z */
|
|
|
|
QList<QString> str2Z;
|
|
/* Óïðàâëåíèå ðåæèìàìè (àâòîÖÓ) */
|
|
bool vklCCR, sendCCR;
|
|
|
|
/* Ìåíþ1 */
|
|
QMenuBar *menu1;
|
|
QMenu *mSelect;
|
|
QMenu *mParam;
|
|
QMenu *mMap;
|
|
/* Ìåíþ Ñåëåêöèÿ */
|
|
QMenu *m1Sel;
|
|
QAction *m1Sel_a1, *m1Sel_a2;
|
|
QAction *m1SelVO;
|
|
QMenu *m1SelNO;
|
|
QAction *m1SelNO_a1, *m1SelNO_a2;
|
|
QMenu *m1Soderzh;
|
|
QAction *m1Soderzh_a1, *m1Soderzh_a2;
|
|
QAction *m1CharRLS;
|
|
QAction *m1CharTarg;
|
|
QAction *m1CharPeleng;
|
|
QAction *m1Table;
|
|
QMenu *m1Coord;
|
|
QAction *m1Coord_a1, *m1Coord_a2;
|
|
QAction *m1MessRLS;
|
|
QAction *m1Trace;
|
|
|
|
/* Ìåíþ Ïàðàìåòðû */
|
|
QMenu *m2Centr;
|
|
QAction *m2Centr_a1, *m2Centr_a2;
|
|
QAction *m2Temp;
|
|
QAction *m2Draw;
|
|
QMenu *m2Font;
|
|
QAction *m2Font_a1, *m2Font_a2;
|
|
QAction *m2Select;
|
|
QAction *m2Save;
|
|
/* Ìåíþ Êàðòà*/
|
|
QAction *m3Open, *m3Bright, *m3Layers;
|
|
|
|
|
|
|
|
/*Menu2*/
|
|
QMenuBar *menu2, *menu3;
|
|
QMenu *mPrep, *mDev, *mSopr, *mObob, *mUprav, *mReg, *mTren, *mFK, *mExit;
|
|
/* Ïîäãîòîâêà*/
|
|
QAction *m4Conf, *m4Reper, *m4Mesto, *m4Reglam, *m4TTX, *m4Date;
|
|
QMenu *m4PerC;
|
|
QAction *m4PerC_a1,*m4PerC_a2,*m4PerC_a3;
|
|
QAction *m4Table, *m4Resend, *m4Save, *m4Load;
|
|
/* Óñòðîéñòâà*/
|
|
QAction *m5RST, *m5RLS, *m5R910;
|
|
/* Ñîïðîâîæäåíèå */
|
|
QAction *m6AZ, *m6AZPT, *m6Manual;
|
|
/* ÎáîáùåíèåÂÎ*/
|
|
QAction *m7Trace, *m7Otozhd, *m7Opov;
|
|
QMenu *m7Ukr;
|
|
QAction *m7Ukr_1[8];
|
|
/* Óïðàâëåíèå */
|
|
QAction *m8Upr[6];
|
|
/* Ðåãèñòðàöèÿ*/
|
|
QAction *m9Reg[5];
|
|
|
|
/* Òðåíàæ */
|
|
QAction *m10Tren[8];
|
|
QMenu *m10ImitVKP;
|
|
QAction *m10ImitVKP_a1, *m10ImitVKP_a2;
|
|
/* ÔÊ*/
|
|
QAction *m11FK[7];
|
|
/* Âûõîä */
|
|
QAction *m12Restart, *m12Exit;
|
|
|
|
|
|
|
|
|
|
void createMenu1();
|
|
void createActions1();
|
|
|
|
void createMenu2();
|
|
void createActions2();
|
|
|
|
void setReper(QPointF p);
|
|
void setOwnTS(QPointF p);
|
|
void setCentr(QPointF p);
|
|
|
|
|
|
void changeOpenWidget(QObject *p, int code=0);
|
|
void clearOpenWidget();
|
|
|
|
void addTarget(int id, int aType, int gType, qreal cX, qreal cY, qreal cH, qreal vX, qreal vY);
|
|
int findTargetFromId(int d);
|
|
int findNextNum(int d);
|
|
|
|
|
|
void readGroundOpt();
|
|
void writeGroundOpt();
|
|
|
|
public slots:
|
|
|
|
|
|
void setCentr() {setCentr(curCentr);}
|
|
|
|
void renewArmWin();
|
|
void checkTargetsAndKRU();
|
|
|
|
void addLogText(QString s);
|
|
|
|
void centerOnReper();
|
|
void centerOnTS();
|
|
|
|
|
|
|
|
void magicTemp();
|
|
void refreshUprTab();
|
|
/* ñåòåâûå ñëîòû*/
|
|
void synhrTimeout();
|
|
void newTaskRead();
|
|
void processSendingDatagrams(QByteArray buf, int port=6690);
|
|
|
|
void stopTask();
|
|
|
|
/* Ñëîòû âûçîâà ìåíþ */
|
|
void msVvodSectOtvet();
|
|
|
|
void msAirTicket();
|
|
void msAirTicketFree();
|
|
|
|
void msKillTarget();
|
|
void msKzsTarget();
|
|
void msResetTarget();
|
|
void msResetCmd();
|
|
void msVvod2Z();
|
|
void msAbnTicket();
|
|
void msCtrlModes();
|
|
|
|
private slots:
|
|
void on_pushButton_40_clicked();
|
|
|
|
void on_pushButton_39_clicked();
|
|
|
|
void on_pushButton_38_clicked();
|
|
|
|
|
|
void on_comboBox_2_currentIndexChanged(int index);
|
|
|
|
void on_comboBox_4_currentIndexChanged(int index);
|
|
|
|
|
|
|
|
private:
|
|
void initGraph();
|
|
void initUprav();
|
|
Ui::Widget *ui;
|
|
virtual void keyPressEvent ( QKeyEvent * e );
|
|
};
|
|
|
|
#endif // WIDGET_H
|