mainwindow.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <QPropertyAnimation>
  5. #include <QPushButton>
  6. #include <QFrame>
  7. #include <QList>
  8. #include <QWidget>
  9. #include "mqtt/mqttclient.h"
  10. #include "addressfactory.h"
  11. #include "blastProject/blastprojectfactory.h"
  12. #include "equipmentfactory.h"
  13. #include "detInfo/detinfofactory.h"
  14. #include "blastoperationfactory.h"
  15. #include "blastRecord/blastrecordfactory.h"
  16. #include "serial/serialtool.h"
  17. #include "serialGpsthread.h"
  18. #include "worker/timeupdatethread.h"
  19. #include "global.h"
  20. QT_BEGIN_NAMESPACE
  21. namespace Ui { class MainWindow; }
  22. QT_END_NAMESPACE
  23. class MainWindow : public QMainWindow
  24. {
  25. Q_OBJECT
  26. public:
  27. MainWindow(QWidget *parent = nullptr);
  28. ~MainWindow();
  29. private slots:
  30. void onToggleButtonClicked();
  31. void onButtonClicked(QPushButton *button);
  32. void handleStoredGNRMCData(const RMCData &data);
  33. void onTimeUpdated(const QString &timeString);
  34. void messageAndTopicReceived(const QByteArray &message, const QMqttTopicName &topic);
  35. private:
  36. void initializeAnimate();
  37. void setStyleSheets(QPushButton *selectedButton);
  38. void switchPage(QWidget *button);
  39. void initialMqttService();
  40. void onMqttConnected();
  41. void initialBtnSerial();
  42. void initialGPSSerial();
  43. void initDateTime();
  44. void onSerialToolCreated();
  45. private:
  46. Ui::MainWindow *ui;
  47. SerialTool* serialTool;
  48. bool m_isMqttConnected = false;
  49. bool m_btnSerialInitialized = false;
  50. QPropertyAnimation *animate_leftFrame;
  51. QList<QWidget*> left_button_station;
  52. QMap<QWidget*, PageFactory*> pageFactories;
  53. QMap<QWidget*, QWidget*> buttonToPage;
  54. TimeUpdateThread *timeThread;
  55. QString lat = "未知";
  56. QString lon = "未知";
  57. QPoint m_dragPosition;
  58. void mousePressEvent(QMouseEvent *event);
  59. void mouseMoveEvent(QMouseEvent *event);
  60. };
  61. #endif // MAINWINDOW_H