#ifndef WIDGET_H #define WIDGET_H #include #include #include #include #include #include #include #include #include #include #include #include #include #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 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 grObj; QList targets; QHash hashIdToNum; /* Таблица управления */ QGraphicsScene *gscUprav; upravView *gvUprav; QGraphicsScene *gsc1; upravLine* uLines[100]; /* Таблица 2Z */ QList 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