WaffleProgramPage.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #pragma once
  2. #include <QWidget>
  3. #include "ui_WaffleProgramPage.h"
  4. #include "CViewInterface.h"
  5. #include <QMap>
  6. #include <QMessageBox>
  7. #include "CModule.h"
  8. class WaffleProgramPage : public QWidget
  9. {
  10. Q_OBJECT
  11. public:
  12. WaffleProgramPage(QWidget* parent = nullptr);
  13. ~WaffleProgramPage();
  14. private:
  15. //新增矩阵界面
  16. void AddMatrixPage(int vectorIndex, PROGRAM_WAFFLE_MATRIX_STRUCT matrixData, std::vector<PROGRAM_DIE_MATRIX_STRUCT> vecSubMatrix);
  17. //void AddOutMatrixPage(int vectorIndex, PROGRAM_BOND_MATRIX_STRUCT matrixData);
  18. void AddSubMatrixPage(int vectorIndex, int subVectorIndex,PROGRAM_DIE_MATRIX_STRUCT subMatrix, QGridLayout* layout);
  19. //往后端新增矩阵数据
  20. void AddMatrixParam();
  21. //保存所有参数到后端内存中
  22. void SaveAllParam();
  23. //参数被修改后发送给后端
  24. void MatrixChangeEvent();
  25. XY_DOUBLE_STRUCT WaffleGetAxisPosition(std::string ModuleType, XY_DOUBLE_STRUCT& pos);
  26. XY_DOUBLE_STRUCT WaffleMoveToXYAxisPosition(std::string ModuleType, XY_DOUBLE_STRUCT& pos);
  27. void initPage();
  28. protected:
  29. bool eventFilter(QObject* watched, QEvent* event) override;
  30. private slots:
  31. void onNoBondPtsClicked(QLineEdit* lineEdit, int index, int parentIndex);
  32. private:
  33. Ui::WaffleProgramPageClass ui;
  34. CManageDB* m_manageDB = nullptr;
  35. CProduct* m_pProduct = nullptr;
  36. std::vector<PROGRAM_WAFFLE_MATRIX_STRUCT> m_vecWaffleMatrix;
  37. std::vector<PROGRAM_DIE_MATRIX_STRUCT> m_vecSubWaffleMatrix;
  38. //子矩阵控件,ID从1开始
  39. QMap<int, QVector<QObject*>> m_mapSubMatrixControls;
  40. int m_curPtIndex = 0;
  41. QMap<QWidget*, int> m_mapSubWidgetIndex;
  42. QMap<QWidget*, int> m_mapOutWidgetIndex;
  43. ns_module::CViewInterface* m_pProgramCViewInterface = nullptr;
  44. };