WaffleProgramPage.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. void initPage();
  27. protected:
  28. bool eventFilter(QObject* watched, QEvent* event) override;
  29. private slots:
  30. void onNoBondPtsClicked(QLineEdit* lineEdit, int index, int parentIndex);
  31. private:
  32. Ui::WaffleProgramPageClass ui;
  33. CManageDB* m_manageDB = nullptr;
  34. CProduct* m_pProduct = nullptr;
  35. std::vector<PROGRAM_WAFFLE_MATRIX_STRUCT> m_vecWaffleMatrix;
  36. std::vector<PROGRAM_DIE_MATRIX_STRUCT> m_vecSubWaffleMatrix;
  37. //子矩阵控件,ID从1开始
  38. QMap<int, QVector<QObject*>> m_mapSubMatrixControls;
  39. int m_curPtIndex = 0;
  40. QMap<QWidget*, int> m_mapSubWidgetIndex;
  41. QMap<QWidget*, int> m_mapOutWidgetIndex;
  42. ns_module::CViewInterface* m_pProgramCViewInterface = nullptr;
  43. };