mainwindow.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <QTabWidget>
  5. #include <QScrollArea>
  6. #include <QGroupBox>
  7. #include <QLabel>
  8. #include <QLineEdit>
  9. #include <QPushButton>
  10. #include <QComboBox>
  11. #include <QFileDialog>
  12. #include <QProgressBar>
  13. #include "gpsimu.pb.h"
  14. #include "ndtpos.pb.h"
  15. #include "fusiongpsndt.pb.h"
  16. #include <queue>
  17. #include <QMutex>
  18. #include <QMutex>
  19. #include <QTimer>
  20. #include <QFileInfo>
  21. #include <QMessageBox>
  22. #include "modulecomm.h"
  23. #include "fusion_gpslidar.h"
  24. namespace Ui {
  25. class MainWindow;
  26. }
  27. class MainWindow : public QMainWindow
  28. {
  29. Q_OBJECT
  30. public:
  31. explicit MainWindow(QWidget *parent = 0);
  32. ~MainWindow();
  33. private:
  34. Ui::MainWindow *ui;
  35. void CreateView();
  36. void CreateTab1View(QTabWidget * p);
  37. void CreateTab2View(QTabWidget * p);
  38. void CreateTab3View(QTabWidget * p);
  39. void CreateTab4View(QTabWidget * p);
  40. public:
  41. void resizeEvent(QResizeEvent *event);
  42. private:
  43. void AdjustWPos(QSize sizemain);
  44. private:
  45. QTabWidget * mTabMain;
  46. int mnCountIndexBase;
  47. QLineEdit * mpLEGPS[100],* mpLENDT[100],* mpLEFusion[100],* mpLEGPSSel[100],* mpLENDTSel[100],* mpLEOrigin[100],* mpLEDBOrigin[100];
  48. QGroupBox * mpGroupDB;
  49. QComboBox * mpCBPCD;
  50. QLineEdit * mpLEMapName;
  51. std::vector<iv::pcdunit> mvectorPCD;
  52. public:
  53. iv::gps::gpsimu mgpsimu;
  54. iv::lidar::ndtpos mndtpos;
  55. iv::fusion::gpsndt mgpsndt;
  56. QMutex mMutexFusion,mMutexGPS,mMutexNDT;
  57. bool mbgpsimuupdate = false;
  58. bool mbndtposupdate = false;
  59. bool mbgpsndtupdate = false;
  60. bool mbGPSSel = false;
  61. bool mbNDTSel = false;
  62. fusion_gpslidar * mpfusion_gpslidar;
  63. bool mbSelect = false;
  64. QProgressBar * mpProgSelect;
  65. private:
  66. void updateGPS();
  67. void updateNDT();
  68. void updateFusion();
  69. void UpdatePCDVector();
  70. void selectitem(int index);
  71. public:
  72. void SetGPS(iv::gps::gpsimu xgpsimu);
  73. void SetNDT(iv::lidar::ndtpos xndtpos);
  74. void SetGPSNDT(iv::fusion::gpsndt xgpsndt);
  75. private slots:
  76. void onTimer();
  77. void onSelGPS();
  78. void onSelNDT();
  79. void onCALOrigin();
  80. void onSetOrigin();
  81. void onCreateDB();
  82. void onSelectDB();
  83. void onDBAdd();
  84. void onDBRemove();
  85. void onDBChange();
  86. void onDBSel();
  87. void onLoadPCD();
  88. void onSavePCD();
  89. void onFusiondbMsg(const int nMsgID,const char * strmsg);
  90. void onMapChange(int index);
  91. };
  92. #endif // MAINWINDOW_H