Wafer.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef WAFER_H
  2. #define WAFER_H
  3. #pragma once
  4. #include <QWidget>
  5. #include <vector>
  6. #include <QMenu>
  7. #include "WaferGraphicsView.h"
  8. #include "DieItem.h"
  9. #include <CWaferMatrix.h>
  10. #include <CViewInterface.h>
  11. #include "TypeDef.h"
  12. #include <QImage>
  13. #include <QPixmap>
  14. enum OperateMode {
  15. ModeImage, // 显示图片
  16. ModeView // 显示 view
  17. };
  18. class Wafer : public QWidget
  19. {
  20. Q_OBJECT
  21. public:
  22. explicit Wafer(int flag, QWidget *parent = nullptr);
  23. void UpdataGenerateTestData();
  24. /**晶圆
  25. */
  26. void UpdataVal(const std::vector<ns_mat::WAFER_MATRIX_POINT_INFO_STRUCT>& veWafer);
  27. void initFrom(QWidget *parent);
  28. void paintInitFrom(QWidget *parent);
  29. QPixmap getGlobalPixmap() const;
  30. QColor getColorByStatus(ns_mat::PICK_DIE_STATUS status);
  31. void setWaferInfo(ns_module::CViewInterface* CViewInterface);
  32. typedef struct {
  33. int maxRow;
  34. int maxCol;
  35. double minX;
  36. double minY;
  37. double maxX;
  38. double maxY;
  39. }MaxRow_Col;
  40. signals:
  41. void sendCoordinates(int x, int y);
  42. private:
  43. int Flag;
  44. QVector<ns_mat::WAFER_MATRIX_POINT_INFO_STRUCT> waferData;
  45. //int rows, cols;
  46. int m_dieLong;
  47. int m_dieWide;
  48. double m_centerX, m_centerY;
  49. double m_radius;
  50. /**接口指针
  51. */
  52. ns_module::CViewInterface* m_pCViewInterface;
  53. QMenu *contextMenu = nullptr;
  54. QPixmap globalPixmap;
  55. QMap<UINT, MaxRow_Col> maxRow_Colmap;
  56. public:
  57. QGraphicsScene* scene = nullptr;
  58. WaferGraphicsView* view = nullptr;
  59. };
  60. #endif // WAFER_H