123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #ifndef __JORIGINALMAINWND_H__
- #define __JORIGINALMAINWND_H__ 1
- #include <QMainWindow>
- #include <TypeDef.h>
- #include <QScrollArea>
- #include "CameraMaterialGroupWnd/CameraImage/CameraImageHandler.h"
- #include "Src/CameraBind.h"
- using FunSignaPo = std::function<void(int, JVision::ImageInfo)>;
- using FunSignaPoA = void (*)(int, JVision::ImageInfo);
- using FunSlotPo = std::function<void()>;
- using FunSlotPoA = void (*)();
- struct STR_TEMPLATE
- {
- QScrollArea* pView;
- std::vector<FunSlotPo> veSlotFun;
- std::vector<FunSignaPo> veSignalFun;
- };
- struct ST_CURRENT_SELECT_GROUP
- {
-
- Group* pSelectGroup;
-
- int nCurrentCameraId;
- int nGroupId;
-
- int nSelectLeft1;
- bool isBond;
-
- int nBindNumber;
- bool isInitialed;
- };
- class JOriginalMainWnd: public QMainWindow
- {
- Q_OBJECT
- public:
- explicit JOriginalMainWnd(QWidget* parent = nullptr);
- ~JOriginalMainWnd();
- public:
-
- virtual void InitMainCameraBind(CameraBind* pCameraBind) = 0;
-
- virtual void UnCameraBind() = 0;
-
- virtual void CameraConnectUpdateImageFun(int nIndex, Group* widget, bool isUnCameraBind = false) = 0;
- virtual void UpdateCameraDisplay0(int iCameraId, JVision::ImageInfo imageData) = 0;
- virtual void UpdateCameraDisplay1(int iCameraId, JVision::ImageInfo imageData) = 0;
- virtual void UpdateCameraDisplay2(int iCameraId, JVision::ImageInfo imageData) = 0;
- virtual void UpdateCameraDisplay3(int iCameraId, JVision::ImageInfo imageData) = 0;
- virtual void UpdateCameraDisplay4(int iCameraId, JVision::ImageInfo imageData) = 0;
-
-
- public:
- template<class Y>
- void CameraConnectUpdateImageFunA(Y calssFun,int nIndex, Group* widget, bool isUnCameraBind = false);
- template<class Y>
- void InitAllCamerPage(STR_TEMPLATE strFun,Y Fun);
-
-
- template <typename Y, typename T>
- void SwitchToConfigAAAAA(void (Y::* switchMethod)(const T&));
- public:
- std::vector<std::unique_ptr<CameraImageHandler>> m_manager;
-
- CameraBind* m_pMainCameraBind = nullptr;
- };
- template<class Y>
- void JOriginalMainWnd::CameraConnectUpdateImageFunA(Y calssFun, int nIndex, Group* widget, bool isUnCameraBind )
- {
- auto BinCamerasImage = [&](void (calssFun::* pCamerasImage)(const QPixmap& imageData))
- {
- if (isUnCameraBind)
- {
-
- disconnect(this, pCamerasImage, widget, &Group::UpDataImageShowSlots);
- }
- else
- {
-
- connect(widget, &Group::sendUpdateGroupState, this, &SingleCameraOperationWnd::checkSettings);
- connect(this, pCamerasImage, widget, &Group::UpDataImageShowSlots);
- }
- };
- if (nIndex == 0)
- {
- BinCamerasImage(&calssFun::UpDataImageShowSignals0);
- }
- else if (nIndex == 1)
- {
- BinCamerasImage(&calssFun::UpDataImageShowSignals1);
- }
- else if (nIndex == 2)
- {
- BinCamerasImage(&calssFun::UpDataImageShowSignals2);
- }
- else if (nIndex == 3)
- {
- BinCamerasImage(&calssFun::UpDataImageShowSignals3);
- }
- else if (nIndex == 4)
- {
- BinCamerasImage(&calssFun::UpDataImageShowSignals4);
- }
- }
- template <typename Y, typename T>
- void JOriginalMainWnd::SwitchToConfigAAAAA(void (Y::* switchMethod)(const T&))
- {
- int A = 10;
- }
- #endif
|