#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include "editwin.h" #include "myview.h" #include "lineitem.h" #include "gpsimu.pb.h" #include "collectveh.pb.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_lineEdit_textChanged(const QString &arg1); void on_horizontalSlider_width_sliderMoved(int position); void on_pushButton_NewRoad_clicked(); virtual void paintEvent(QPaintEvent *); void on_lineEdit_DisLeft_textChanged(const QString &arg1); void ongpsupdate(); void on_actionReset_triggered(); void on_actionSave_triggered(); void on_actionLoad_triggered(); void on_pushButton_Complete_clicked(); void on_actionEdit_Collect_triggered(); void on_radioButton_Auto_clicked(); void on_radioButton_Manual_clicked(); void on_pushButton_ManualCollect_clicked(); void onEditWinClose(); void on_actionConvert_triggered(); public: void resizeEvent(QResizeEvent *event); public: void UpdateGPSIMU(std::shared_ptr xgpsimu_ptr); signals: void updategps(); private: void ChangeRightValue(); void AddPoint(std::shared_ptr xgpsimu_ptr); void ResetPointView(); void UpdateLoadVIew(); private: Ui::MainWindow *ui; MyView *myview; QGraphicsScene * mpscene; std::vector mvectorLeftPointItem; std::vector mvectorRightPointItem; std::vector mvectorMainPointItem; std::vector mvectorCurLeftPointItem; std::vector mvectorCurRightPointItem; std::vector mvectorCurMainPointItem; QGraphicsEllipseItem * mpNowPosItem; const double mfNowSize = 5.0; const double mfMainSize = 9.0; const double mfLeftRightSize = 5.0; std::shared_ptr mgpsimu_ptr; QMutex mMutex; double mlon0,mlat0; bool mbSetZero = false; bool mbStartCollect = false; bool mbManualClick = false; bool mbMaualCollect = false; private: iv::map::collectveh mcollectveh; iv::map::collectvehroad * mpcurroad; iv::map::collectvehroadpoint * mplastaddpoint; private: EditWin * mpEditWin; }; #endif // MAINWINDOW_H