#ifndef CHARTSANDCAMERASWND_H #define CHARTSANDCAMERASWND_H #include #include #include #include #include "chartline.h" #include "CameraMaterialGroupWnd/MaterialWindow/Wafer.h" #include "CameraMaterialGroupWnd/MaterialWindow/Waffle.h" #include "CameraMaterialGroupWnd/MaterialWindow/MaterialBox.h" #include "JOriginalMainWnd.h" #include "CameraDataHandleAndShow.h" #include "CameraMaterialGroupWnd/MaterialWindow/Bond.h" namespace Ui { class ChartsAndCamerasWnd; } class ChartsAndCamerasWnd : public JOriginalMainWnd { Q_OBJECT public: explicit ChartsAndCamerasWnd(QWidget* parent = nullptr); ~ChartsAndCamerasWnd(); void initFrom(); void updateMaterialWidget(int materialWndType, int groupId); //封装绑定函数 void BindImageOrMaterial(int index); //保存信息 void saveInfoOfLast(); void initWidget(); void UpdataLightJoystickSwitchPage(int groupId, bool isShow); protected: void wheelEvent(QWheelEvent* event) override; void checkSettings(int groupId, int index); void showEvent(QShowEvent* event) override; void hideEvent(QHideEvent* event) override; public slots: // 确保这里声明了槽函数 void GetGroupImageShowSignals(const QPixmap& imageData); private: void InitMainCameraBind(CameraBind* pCameraBind) override; void UnCameraBind() override; void UpdateCameraDisplay0(int iCameraId, JVision::ImageInfo imageData) override; void UpdateCameraDisplay1(int iCameraId, JVision::ImageInfo imageData) override; void UpdateCameraDisplay2(int iCameraId, JVision::ImageInfo imageData) override; void UpdateCameraDisplay3(int iCameraId, JVision::ImageInfo imageData) override; void UpdateCameraDisplay4(int iCameraId, JVision::ImageInfo imageData) override; void CameraConnectUpdateImageFun(int nIndex, Group* widget, bool isUnCameraBind = false) override; signals: void UpDataImageShowSignals0(const QPixmap& imageData); void UpDataImageShowSignals1(const QPixmap& imageData); void UpDataImageShowSignals2(const QPixmap& imageData); void UpDataImageShowSignals3(const QPixmap& imageData); void UpDataImageShowSignals4(const QPixmap& imageData); private slots: void GetCurrentSelectSlots(int groupId, int nIndex); QPixmap getCurrentPixmap() const { return currentPixmap; } // 通用槽函数 // void on_GreenDiamondcheckBox_clicked(); // void on_YellowDiamondcheckBox_clicked(); // void on_BlackDiamondcheckBox_clicked(); // void on_BlueDiamondcheckBox_clicked(); // void on_BlueHorizontalLinecheckBox_clicked(); // void on_BlueVerticalBarcheckBox_clicked(); // void on_GreenVerticalBarcheckBox_clicked(); // void on_PurpleVerticalBarcheckBox_clicked(); // void on_RedDiamondcheckBox_clicked(); // void on_RedHorizontalLinecheckBox_clicked(); // void on_WhiteVerticalBarcheckBox_clicked(); private: Ui::ChartsAndCamerasWnd* ui; // // 三个 ChartLine 实例 // ChartLine *chartLine; // ChartLine *chartLine1; // ChartLine *chartLine2; // ChartLine 实例 ChartLine* chartLine; ChartLine* chartLine1; ChartLine* chartLine2; // 存储所有系列信息 QMap m_seriesMap; // 初始化系列信息 void initializeSeriesInfo(); QPixmap currentPixmap; qreal scaleFactor; double previousScaleFactor; int lastGroupId = -1; int lastIndex = -1; Wafer* wafer; // 声明Wafer指针 Waffle* waffle; // 声明Waffle指针 MaterialBox* materialbox; // 声明materialbox指针 Bond* bond; bool isShow; QMap waferMap; QMap waffleMap; QMap materialBoxMap; QMap bondMap; OperateMode currentMode = ModeImage; QGraphicsView* currentView = nullptr; QPoint mousePos; QPoint pressPos; // 记录鼠标按下位置 QStack m_allGroup; ST_CURRENT_SELECT_GROUP m_veCurrentSelectGroup; const int m_nImageIndex = 1; const int m_nMaterialIndex = 2; }; #endif // CHARTSANDCAMERASWND_H