mainwindow.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #define CAMERA_NUM 4
  4. #include <QMainWindow>
  5. #include <QtWidgets>
  6. #include <QtWebEngineWidgets/QtWebEngineWidgets>
  7. #include <QSet>
  8. #include <QMutex>
  9. #include <QProgressBar>
  10. #include <iostream>
  11. #include <speed.h>
  12. #include "remotectrl.pb.h"
  13. #include "gpsimu.pb.h"
  14. #include "rawpic.pb.h"
  15. #include "ivpicview.h"
  16. #include "ivpicsave.h"
  17. #include "myview.h"
  18. #include "grpcpc.h"
  19. #include "dialogpic.h"
  20. #include "dialogbigpic.h"
  21. #include "dialogsetframerate.h"
  22. #include "modulecomm.h"
  23. #include "joyreadthread.h"
  24. QT_BEGIN_NAMESPACE
  25. namespace Ui { class MainWindow; }
  26. QT_END_NAMESPACE
  27. class MainWindow : public QMainWindow
  28. {
  29. Q_OBJECT
  30. public:
  31. MainWindow(QWidget *parent = nullptr);
  32. ~MainWindow();
  33. private slots:
  34. void on_pushButton_test_clicked();
  35. virtual void paintEvent(QPaintEvent *);
  36. void on_radioButton_manual_clicked();
  37. void onTimerManual();
  38. void onTimerRemote();
  39. void onTimerUpdateView();
  40. void onTimerUpdatePic();
  41. void on_radioButton_auto_clicked();
  42. // virtual void paintEvent(QPaintEvent *);
  43. void on_pushButton_Go_clicked();
  44. void on_comboBox_Station_currentIndexChanged(int index);
  45. void on_checkBox_Drive_stateChanged(int arg1);
  46. void on_checkBox_Drive_clicked();
  47. void on_checkBox_Null_clicked();
  48. void on_checkBox_Rear_clicked();
  49. void on_radioButton_Drive_clicked();
  50. void on_radioButton_Null_clicked();
  51. void on_radioButton_Rear_clicked();
  52. void on_radioButton_picfront_clicked();
  53. void on_radioButton_picrear_clicked();
  54. void on_radioButton_picleft_clicked();
  55. void on_radioButton_picright_clicked();
  56. void on_pushButton_AllPic_clicked();
  57. void onCloseDlg();
  58. void onCloseBigDlg();
  59. void on_checkBox_clicked();
  60. void on_pushButton_big_clicked();
  61. void on_actionSet_FrameRate_triggered();
  62. void on_actionSet_Camera_triggered();
  63. public:
  64. void resizeEvent(QResizeEvent *event);
  65. void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
  66. void keyReleaseEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
  67. private:
  68. Ui::MainWindow *ui;
  69. QWebEngineView * mMapview;
  70. Speed * mpWheel, * mpAcc, * mpBrake;
  71. QSet<int> mPressKeys;
  72. QTimer * mpTimerManual;
  73. QTimer * mpTimerRemote;
  74. double mfWheel = 0;
  75. double mfAcc = 0;
  76. double mfBrake = 0;
  77. int mnLastTime;
  78. QTime mManualTime;
  79. double mfWheelSpeed = 100; //100degree/s
  80. double mfAccSpeed = 30; //30/s
  81. double mfBrakeSpeed = 100; //100/s
  82. double mfWheelAutoDownSpeed = 30;
  83. double mfAccAutoDownSpeed = 10;
  84. double mfBrakeAutoDownSpeed = 30;
  85. iv::remotectrl mremotectrl;
  86. void * mpa;
  87. QTimer * mpTimerUpdateView;
  88. MyView * mmyview;
  89. QGraphicsScene *mscene;
  90. IVPicView * mpPicView;
  91. ivpicsave * mpPicSave[4];
  92. void * mpadst;
  93. void * mpasimpletrace;
  94. grpcpc * mgrpcpc;
  95. QString mstrProgName = "ADC IV Remote Control ";
  96. QString mstrGPSTime = " GPS:";
  97. QString mstrPicTime = " Pic:";
  98. QString mstrVIN;
  99. JoyReadThread * mpJRT;
  100. int mnShift = 0;
  101. int mnSelPic = 0;
  102. DialogPic * mppicdlg;
  103. DialogBigPic * mpbigpicdlg;
  104. QProgressBar * mpProgLatency;
  105. QLabel * mpLabelLatency;
  106. qint64 mncurculatency = 0;
  107. int mnProgLatencySheet = 0; //0 green 1 blue 2 red
  108. QProgressBar * mpProgServerLatency;
  109. QLabel * mpLabelServerLatency;
  110. qint64 mncurServerlatency = 0;
  111. int mnProgServerLatencySheet = 0; //0 green 1 blue 2 red
  112. int mnstate = -100;
  113. QLabel * mpLabelState;
  114. bool mbSavePic = false;
  115. public:
  116. void saveavi(int index);
  117. private:
  118. void CreateView();
  119. };
  120. #endif // MAINWINDOW_H