mainwindow.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <QMutex>
  5. #include <memory>
  6. #include "myview.h"
  7. #include "lineitem.h"
  8. #include "gpsimu.pb.h"
  9. #include "collectveh.pb.h"
  10. QT_BEGIN_NAMESPACE
  11. namespace Ui { class MainWindow; }
  12. QT_END_NAMESPACE
  13. class MainWindow : public QMainWindow
  14. {
  15. Q_OBJECT
  16. public:
  17. MainWindow(QWidget *parent = nullptr);
  18. ~MainWindow();
  19. private slots:
  20. void on_lineEdit_textChanged(const QString &arg1);
  21. void on_horizontalSlider_width_sliderMoved(int position);
  22. void on_pushButton_NewRoad_clicked();
  23. virtual void paintEvent(QPaintEvent *);
  24. void on_lineEdit_DisLeft_textChanged(const QString &arg1);
  25. void ongpsupdate();
  26. void on_actionReset_triggered();
  27. void on_actionSave_triggered();
  28. void on_actionLoad_triggered();
  29. void on_pushButton_Complete_clicked();
  30. public:
  31. void resizeEvent(QResizeEvent *event);
  32. public:
  33. void UpdateGPSIMU(std::shared_ptr<iv::gps::gpsimu> xgpsimu_ptr);
  34. signals:
  35. void updategps();
  36. private:
  37. void ChangeRightValue();
  38. void AddPoint(std::shared_ptr<iv::gps::gpsimu> xgpsimu_ptr);
  39. private:
  40. Ui::MainWindow *ui;
  41. MyView *myview;
  42. QGraphicsScene * mpscene;
  43. std::vector<QGraphicsEllipseItem * > mvectorLeftPointItem;
  44. std::vector<QGraphicsEllipseItem * > mvectorRightPointItem;
  45. std::vector<QGraphicsEllipseItem * > mvectorMainPointItem;
  46. std::vector<QGraphicsEllipseItem * > mvectorCurLeftPointItem;
  47. std::vector<QGraphicsEllipseItem * > mvectorCurRightPointItem;
  48. std::vector<QGraphicsEllipseItem * > mvectorCurMainPointItem;
  49. QGraphicsEllipseItem * mpNowPosItem;
  50. const double mfNowSize = 5.0;
  51. const double mfMainSize = 9.0;
  52. const double mfLeftRightSize = 5.0;
  53. std::shared_ptr<iv::gps::gpsimu> mgpsimu_ptr;
  54. QMutex mMutex;
  55. double mlon0,mlat0;
  56. bool mbSetZero = false;
  57. bool mbStartCollect = false;
  58. private:
  59. iv::map::collectveh mcollectveh;
  60. iv::map::collectvehroad * mpcurroad;
  61. iv::map::collectvehroadpoint * mplastaddpoint;
  62. };
  63. #endif // MAINWINDOW_H