Files
2023-05-05 18:40:48 +08:00

141 lines
4.7 KiB
C++

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QCoreApplication>
#include <QDesktopServices>
#include <QUrl>
#include <QSettings>
#include <QFileDialog>
#include <QStyleFactory>
#include <QMessageBox>
#include <QDateTime>
#include <QTimer>
#include <QCryptographicHash>
#include <QUdpSocket>
#include "Sensors/fotricircam.h"
#include "Sensors/micasense.h"
#include "Sensors/jhgigecam.h"
#include "Sensors/azuredk.h"
#include "Sensors/velodyne.h"
#include "Platform/gd_plc.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
QString AppName;
QString StorePath;
FotricIRCAM *MyFotricIRCAM;
MicaSense *MyMicaSense;
JhGigeCam *MyJhGigeCam;
AzureDK *MyAzureDK;
Velodyne *MyVelodyne;
GD_PLC *MyGD_PLC;
bool is_use_plc_vlp_keys;
int FotricIRCAM_Mode;//0-不加载 1-加载但不联动 2-加载且联动
int MicaSense_Mode;
int JhGigeCam_Mode;
int AzureDK_Mode;
int Velodyne_Mode;
int GD_PLC_Mode;
QString FotricIRCAM_ExePath;
QString MicaSense_ExePath;
QString JhGigeCam_ExePath;
QString AzureDK_ExePath;
QString Velodyne_ExePath;
QString GD_PLC_ExePath;
private slots:
void on_action_Exit_triggered(){QCoreApplication::quit();};//导航栏退出
void on_action_OnTopHint_triggered(bool checked);//置顶 显示
void on_action_OpenStorePath_triggered(){QDesktopServices::openUrl(QUrl(StorePath,QUrl::TolerantMode));};//路径打开
void on_action_EditStorePath_triggered();//路径修改
void ReadIni();//读配置文件
void on_actionconifg_triggered();//conf文件编辑
void ShowSensorsLog(QString Sensor,QString Log);
void DelayFree(int msec);
void ForticCamInit();//模块初始化
void on_CB_FotricAllRun_stateChanged(int arg1);//联动按钮
void UpdateStatus_Fotric(bool,bool,bool);
void on_BT_FotricShow_clicked(){if(MyFotricIRCAM->IsHide) MyFotricIRCAM->CommonFunction(5);
else MyFotricIRCAM->CommonFunction(4);};//显示/隐藏
void on_BT_FotricInit_clicked();//连接
void on_BT_FotricCapture_clicked();//捕获
void on_BT_FotricCaptureTimer_clicked();//连续捕获
void MicaSenseInit();//模块初始化
void on_CB_MicasenseAllRun_stateChanged(int arg1);//联动按钮
void UpdateStatus_MicaSense(bool,QString,bool);
void on_BT_MicaSenseShow_clicked(){if(MyMicaSense->IsHide) MyMicaSense->CommonFunction(5);
else MyMicaSense->CommonFunction(4);};//显示/隐藏
void on_BT_MicaSenseCapture_clicked();//捕获
void on_CB_MicaSenseCaptureMode_currentTextChanged(const QString &arg1);//拍摄模式选择
void JhGigeCamInit();//模块初始化
void on_CB_JHGigeAllRun_stateChanged(int arg1);//联动按钮
void UpdateStatus_JhGigeCam(bool,bool,bool);
void on_BT_JHGigeShow_clicked(){if(MyJhGigeCam->IsHide) MyJhGigeCam->CommonFunction(5);
else MyJhGigeCam->CommonFunction(4);};//显示/隐藏
void on_BT_JHGigeInit_clicked();
void on_BT_JHGigeCapture_clicked();
void on_BT_JHGigeCaptureTimer_clicked();//持续捕获
void AzureDKInit();//模块初始化
void on_CB_AzureDKAllRun_stateChanged(int arg1);//联动按钮
void UpdateStatus_AzureDK(bool,bool,bool);
void on_BT_AzureDKShow_clicked(){if(MyAzureDK->IsHide) MyAzureDK->CommonFunction(5);
else MyAzureDK->CommonFunction(4);};//显示/隐藏
void on_BT_AzureDKInit_clicked();
void on_BT_AzureDKCapture_clicked();
void on_BT_AzureDKCaptureTimer_clicked();//持续捕获
void VelodyneInit();//模块初始化
void on_CB_VLPAllRun_stateChanged(int arg1);//联动按钮
void UpdateStatus_Velodyne(bool,bool);
void on_BT_VLPShow_clicked(){if(MyVelodyne->IsHide) MyVelodyne->CommonFunction(5);
else MyVelodyne->CommonFunction(4);};//显示/隐藏
void on_BT_VLPCapture_clicked();//持续捕获
void GDPLCInit();//模块初始化
void on_CB_GDPLCAllRun_stateChanged(int arg1);//联动按钮
void UpdateStatus_GDPLC(bool,bool);
void on_BT_GDPLCShow_clicked(){if(MyGD_PLC->IsHide) MyGD_PLC->CommonFunction(5);
else MyGD_PLC->CommonFunction(4);};//显示/隐藏
void on_BT_GDPLC_Run_clicked();//轨道PLC运行
void on_BT_MainControlCapture_clicked();//联动单帧
void on_BT_MainControlTimer_clicked();//联动定时
void stop_when_plc_run_finish(QString);
void vlp_control_key_points(QString);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H