MaterialBox.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef MATERIALBOX_H
  2. #define MATERIALBOX_H
  3. #include <QApplication>
  4. #include <QWidget>
  5. #include <QPainter>
  6. #include <QMouseEvent>
  7. #include <vector>
  8. #include <QString>
  9. #include <QDebug>
  10. #include "MaterialBoxGraphicsView.h"
  11. #include <QFrame>
  12. #include <dt.h>
  13. #include "CViewInterface.h"
  14. // 枚举定义:料盒的状态
  15. enum BoxStatus {
  16. Idle, // 空闲
  17. Occupied, // 已占用
  18. };
  19. // 料盒
  20. class MaterialBox : public QWidget
  21. {
  22. public:
  23. MaterialBox(int flag, QWidget *parent = nullptr);
  24. void paintInitFrom(QWidget *parent);
  25. QPixmap getGlobalPixmap() const;
  26. void initFrom(QWidget *parent);
  27. void UpdataVal(std::vector<ns_module::MATERIAL_BOX_STRUCT>& veMaterial);
  28. void UpdataGenerateTestData();
  29. private slots:
  30. void handleLayerRightClicked(int layer);
  31. protected:
  32. void paintEvent(QPaintEvent *event) override;
  33. private:
  34. // 所有料盒的数据
  35. ns_module::MATERIAL_BOX_STRUCT m_boxes;
  36. QPixmap globalPixmap;
  37. public:
  38. MaterialBoxGraphicsView* m_pView = nullptr;
  39. QGraphicsScene* m_pScene = nullptr;
  40. };
  41. #endif // MATERIALBOX_H