#ifndef MAINANDSECONDARYCAMERASWND_H #define MAINANDSECONDARYCAMERASWND_H #include #include #include #include #include "CameraMaterialGroupWnd/MaterialWindow/MaterialBox.h" #include "CameraMaterialGroupWnd/CameraImage/CameraImageHandler.h" #include #include "JOriginalMainWnd.h" namespace Ui { class MainAndSecondaryCamerasWnd; } class MainAndSecondaryCamerasWnd : public JOriginalMainWnd { Q_OBJECT public: explicit MainAndSecondaryCamerasWnd(QWidget* parent = nullptr); ~MainAndSecondaryCamerasWnd(); void initFrom(); void InitPage(); /**绑定相机画面 */ void CameraConnectUpdateImageFun(int nIndex, Group* widget, bool isUnCameraBind = false); /**初始化界面运动控制轴 */ void updateMaterialWidget(int side, int materialWndType, int groupId); QStringList getImageslist(const QString& path); void initLeftAndRightWidget(); //封装绑定函数 void BindImageOrMaterial(int location, int index); //保存信息 void saveInfoOfLast(); ; protected: void wheelEvent(QWheelEvent* event) override; void checkSettings(int groupId, int index); void showEvent(QShowEvent* event) override; void hideEvent(QHideEvent* event) override; void timerEvent(QTimerEvent* event) override; private slots: void GetCurrentSelectSlots(int groupId, int nIndex); void GetGroupImageShowSignalsTo_L(const QPixmap& imageData); void GetGroupImageShowSignalsTo_R(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; 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: QPixmap getCurrentPixmap() const { return Right_currentPixmap; } void HideLayout(QHBoxLayout* layout, bool isHide); /**更新灯光显示 */ void UpdataLightJoystickSwitchPage(int groupId, int index, bool isShow); private: Ui::MainAndSecondaryCamerasWnd* ui; QPixmap Left_currentPixmap; qreal Left_scaleFactor; QPixmap Right_currentPixmap; qreal Right_scaleFactor; int lastGroupId = -1; int lastIndex = -1; int lastLastGroupId = -1; int lastLastIndex = -1; QPixmap m_lastRightPixmap; QStringList lasttextList; QPixmap lastLastRightPixmap; // 用于存储上一次的 lastRightPixmap QStringList lastLasttextList; bool isUpdatingSettings; QPointer m_pWafer; // 声明Wafer指针 QPointer m_pWaffle; // 声明Waffle指针 QPointer m_pMaterialbox; // 声明materialbox指针 QPointer m_pBond; /**当前选中的group */ std::vector m_veCurrentSelectGroup; ST_CURRENT_SELECT_GROUP m_veCurrentSelectGroup_L; ST_CURRENT_SELECT_GROUP m_veCurrentSelectGroup_R; /**保存所有的后续使用 */ QStack m_allGroup; int m_nIdex = 0; QMap m_mapWaferMap; QMap m_mapWaffleMap; QMap m_mapMaterialBoxMap; QMap m_mapBondMap; //OperateMode Left_currentMode = ModeImage; //OperateMode Right_currentMode = ModeImage; //QPointer *m_pLeft_currentView; //QPointer *m_pRight_currentView; //QPoint mousePos; //double Left_previousScaleFactor; //double Right_previousScaleFactor; //TODO: 干啥用的? const int m_nLastLeft = 0; const int m_nCurrentRight = 1; const int m_nImageIndex = 1; const int m_nMaterialIndex = 2; }; #endif // MAINANDSECONDARYCAMERASWND_H