Group.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #ifndef GROUP_H
  2. #define GROUP_H
  3. #include <QWidget>
  4. #include <QtWidgets/QComboBox>
  5. #include "CameraMaterialGroupWnd/MaterialWindow/Wafer.h"
  6. #include "CameraMaterialGroupWnd/MaterialWindow/Waffle.h"
  7. #include "CameraMaterialGroupWnd/MaterialWindow/MaterialBox.h"
  8. #include "CameraMaterialGroupWnd/MaterialWindow/Bond.h"
  9. #include <CViewInterface.h>
  10. namespace Ui {
  11. class Group;
  12. }
  13. class Group : public QWidget
  14. {
  15. Q_OBJECT
  16. public:
  17. // 相机ID 实时图片 物料窗口类型 下拉框文本
  18. explicit Group(int groupId,const CameraInfo& cameraInfo, ns_module::CViewInterface *cViewInterface,QList<QPair<QString, QString>> fileList,QWidget* parent);
  19. ~Group();
  20. void initForm();
  21. bool eventFilter(QObject *obj, QEvent *event);
  22. void saveGroupSettings(int Id, int materialWndType);
  23. void saveBorderSettings(); // 新增:保存边框颜色信息
  24. void loadBorderSettings(); // 新增:加载边框颜色信息
  25. void recordBorderInfo(int groupId, const QString& side);
  26. QString getBlueBorderStyle();
  27. QString getRedBorderStyle();
  28. void setDatacomboBox(int index);
  29. void setEnableControls(bool enable);
  30. int getCurrentComboBoxIndex();
  31. void setCurrentCombox(const int index);
  32. void initBorderStyle(int index,int color);
  33. void setWaferWidget(QPixmap pixmap);
  34. void setBondWidget(QPixmap pixmap);
  35. void setWafer(Wafer* wafer);
  36. void setWaffleWidget(QPixmap pixmap);
  37. signals:
  38. void send_button_Signal();
  39. void send_ComboBox_singal(int groupId,int index);
  40. void SendGroupSelectedSignals(Group* group, int index);
  41. void sendUpdateGroupState(int groupId,int index);
  42. /**当前选中了哪一个
  43. */
  44. void SetCurrentSelectSig(int groupId,int nIndex);
  45. /**相机图像转发
  46. */
  47. void SetUpDataImageShowSig(const QPixmap& imageData);
  48. public slots:
  49. void Changedstyle();
  50. void onclickbutton();
  51. void on_DatacomboBox_currentIndexChanged(int comboxIndex);
  52. void GetGroupSelectedSlots(Group* group, int index);
  53. void UpDataImageShowSlots(const QPixmap& imageData);
  54. protected:
  55. void showEvent(QShowEvent *event) override;
  56. void hideEvent(QHideEvent *event) override;
  57. void check_selected(int index);
  58. void WaferWidget(); // 圆晶
  59. void WaffleWidget(); // 华夫盒
  60. void MaterialBoxWidget(); // 料盒
  61. void BondWidget();
  62. private:
  63. Ui::Group *ui;
  64. int m_nCurrentGroupId;
  65. Wafer * m_pWafer =nullptr; // 声明Wafer指针
  66. Waffle * m_pWaffle = nullptr; // 声明Waffle指针
  67. MaterialBox * m_pMaterialbox = nullptr; // 声明materialbox指针
  68. Bond* m_pBond = nullptr;
  69. static Group* m_pCurrentlySelectedGroup; // 当前选中(红色边框)的实例
  70. static Group* m_pPreviouslySelectedBlueGroup; // 上一次选中且边框为蓝色的实例
  71. static Group* m_pLastClickedGroup; // 上一次点击的实例
  72. static int m_stnLastClickedIndex; // 上一次点击的索引
  73. static int m_stnLastSavedIndex; // 上次保存的索引
  74. int m_stnCurrentComboBoxIndex;
  75. public:
  76. int m_nGroupId; // 新增:记录当前 Group 的 ID
  77. ns_module::CViewInterface* m_pCViewInterface;
  78. };
  79. #endif // GROUP_H