You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
4.7 KiB
C

4 years ago
#ifndef _H_CMAINWIN_H_
#define _H_CMAINWIN_H_
#include <QMainWindow>
#include "ui_CMainWin.h"
#include "QUserBase.h"
#include "BaseSerialport.h"
#include <QTimer>
#include <QLabel>
#include "CDllCoreCtrl.h"
#include "CDllDetectorEngine.h"
#include "stationdb.h"
#include "AutoTrigger.h"
#include "QTestModeWid.h"
#include "iCoreCtrl.h"
#include "QModelMangerUI.h"
#include "QAboutUI.h"
#include "QDeviceMgrUI.h"
#include "QCamSetDlg.h"
#include "QCameraMgrUI.h"
#include "lpdesigner.h"
#include "CDllDesigner.h"
#include "QCryptokeyUI.h"
#include "lpImageCaliUI.h"
#include "QDiskCleanThread.h"
#include "RoiImgViewer.h"
#include "lpImageCaliUI4P.h"
4 years ago
struct StationInfo
{
int m_PLCID{ 0 };
bool m_bRunEnable{ false };
QString strModelName;
};
class CMainWin : public QMainWindow
{
Q_OBJECT
public:
CMainWin(QWidget *parent = Q_NULLPTR);
~CMainWin();
//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
void INewCameraImage(const QString& camKey, QImage img);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
void IVariantMapToUI(const QString& camKey, const QVariantMap& vMap);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
QVariant IGetVariantById(int id);
//Engine<6E><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
void IEngineResult(QVariantMap vMap);
bool sendResult(int nID, double angleValue, double centerX, double centerY);
4 years ago
public:
Q_SLOT void onAppanalysis(SComFrame frame);
void onHeartComm(SComFrame &frame);
Q_SLOT void onHeardBit();
Q_SLOT void onShowLog(int nID, QString strMsg);
Q_SLOT void onPopMenu(const QPoint& pt);
Q_SLOT void onSlotAddNewModel(QString strName);
Q_SLOT void onSlotDelOldModel(QString strName);
Q_SLOT void onActionClicked();
QString genSavePath(int stationID, QString modelName, QImage &img);
QString genSaveSrcImgPath(int stationID, QString modelName, QImage &img);
Q_SLOT void onImageScale(qreal value);
4 years ago
protected:
virtual void timerEvent(QTimerEvent *event);
virtual void closeEvent(QCloseEvent *event);
virtual void changeEvent(QEvent *event);
protected:
void onInitStatus();
void onUpdateStatus();
bool onInitCoreCtrl();
void onInitDevice();
void onInitUser();
void onInitSerial();
void onInitUI();
void onInitDiskClean();
QString SecondTimeString(quint64 value);
Q_SLOT void onLineseCheck(bool bFlag);
void saveImage(const QImage& m_pixmap, QString m_path, QString filename);
void onRecvComData(SComFrame frame);
4 years ago
signals:
void sgSelModel(int, QString);
void sgSendChangeUI(QString, QString);
void sgShowLog(int, QString);
void sgShowImg(int, QImage);
void sgShowSrcImg(QString strkey, QImage);
void sgRecvData(SComFrame frame);
4 years ago
private://<2F><>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD>
void SearchQmFile(const QString & strDir);
void SetTranslator(const QString strPath);
void SetLanguage(QString strLangage);
void rmTranslator();
private:
Q_SLOT void onSnapImage(int nCamera = -1);
Q_SLOT void onTrigImage();
Q_SLOT void onChangeUI(QString strUsr, int nLevel);
Q_SLOT void onLogInOut(QString strName, int level, int state);
Q_SLOT void onTestMode(int);
Q_SLOT void onShowImage(int ID, QImage img);
Q_SLOT void onShowName(QString ID, QString strName);
4 years ago
Q_SLOT void onLanguageChange(QString strLanguage);//<2F><>Ӣ<EFBFBD><D3A2><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
private:
Ui::CMainWin ui;
QTimer m_HeartBit;
QVector<QTranslator* > m_VecTranPtr;
QString m_strCurLanguage{ "Chinese" };
StationInfo m_StationInfo_1;
StationInfo m_StationInfo_2;
//status ״̬<D7B4><CCAC>
int m_TimerID_Status{ 0 };
QLabel *m_pLbCurrentTime{ nullptr };
QLabel *m_pLbOnLine{ nullptr };
QLabel *m_pLbConnect{ nullptr };
QLabel *m_pLbUser{ nullptr };
QLabel *m_pLbDiskSpace{ nullptr };
4 years ago
IUserCtrl *m_pUserCtrl{ nullptr };//<2F>û<EFBFBD><C3BB><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
ISerialPortTool *m_pSerialPort{ nullptr };//<2F><><EFBFBD><EFBFBD>ͨѶģ<D1B6><C4A3>
QLabel* m_pLabelInfo{ nullptr };
RoiImgViewer *m_ImgViewer_A{ nullptr };//չʾ<D5B9><CABE><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
RoiImgViewer *m_ImgViewer_B{ nullptr };//չʾ<D5B9><CABE><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
4 years ago
private:
//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
CDllCoreCtrl* m_pDllCoreCtrl{nullptr};
ICoreCtrl* m_pCoreCtrl{nullptr};
//<2F>궨ģ<EAB6A8><C4A3>
CDllDesigner* m_pDllDesigner{ nullptr };
IDetectorUI* m_pDesigner{ nullptr };
//engineģ<65><C4A3> <20><EFBFBD><E3B7A8><EFBFBD><EFBFBD>
CDllDetectorEngine* m_pDllDetectorEngine{nullptr};
IDetectorEngine* m_pDetectorEngine{nullptr};
private:
StationDB *m_db{nullptr};
class AutoTrigger *m_pCameraTrig{nullptr};
class AutoTrigger *m_pStatusTrig{ nullptr };
QTestModeWid m_testWid;
QModelMangerUI m_mangeWid;
QAboutUI m_aboutWid;
QDeviceMgrUI m_devMgrWid;
QCamSetDlg m_camSetWid;
QString m_strUserName;
QString m_strComName;
QCameraMgrUI m_CamMgrUI;
class IWfCtrl *m_pWfCtrl{ nullptr };
quint64 m_tickCount{ 0 };
int m_heartTimeOut{ 0 };
bool m_bPLCConnect{ false };
QCryptokeyUI *m_pCheckLineseUI{ nullptr };
lpImageCaliUI* m_pImageCaliUI{ nullptr };
lpImageCaliUI4P* m_pImageCaliUI4P{ nullptr };
QList<QDiskCleanThread*> m_pDCThreadList;
QStringList m_solotions;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
QTimer m_timerA;
QTimer m_timerB;
4 years ago
};
#endif