275 lines
9.2 KiB
C++
275 lines
9.2 KiB
C++
|
#include "frmQuit.h"
|
|||
|
#include <QTimer>
|
|||
|
#include "datavar.h"
|
|||
|
#include <winsock2.h>
|
|||
|
|
|||
|
frmQuit::frmQuit(QWidget* parent)
|
|||
|
: QWidget(parent)
|
|||
|
{
|
|||
|
ui.setupUi(this);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ޱ߿<DEB1>
|
|||
|
this->setWindowFlags(Qt::FramelessWindowHint);
|
|||
|
this->setAttribute(Qt::WA_TranslucentBackground);
|
|||
|
this->setWindowIcon(QIcon(":/Bitmaps/app.ico"));
|
|||
|
//ִ<>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>ۺ<EFBFBD><DBBA><EFBFBD>
|
|||
|
QTimer* p_timer = new QTimer(this);
|
|||
|
connect(p_timer, SIGNAL(timeout()), this, SLOT(timerEvent()));
|
|||
|
p_timer->start(200);
|
|||
|
}
|
|||
|
|
|||
|
void frmQuit::timerEvent()
|
|||
|
{
|
|||
|
dataVar::comm_state_buf = 1;
|
|||
|
QVector<QString> FlowProItemList_B = QVector<QString>(100);
|
|||
|
for (int i = 0; i < 20; i++)
|
|||
|
{
|
|||
|
FlowProItemList_B.clear();
|
|||
|
switch (i) {
|
|||
|
case 0:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B1 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B1->GetAllItemList_B1();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B2 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B2->GetAllItemList_B2();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B3 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B3->GetAllItemList_B3();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 3:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B4 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B4->GetAllItemList_B4();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 4:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B5 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B5->GetAllItemList_B5();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 5:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B6 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B6->GetAllItemList_B6();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 6:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B7 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B7->GetAllItemList_B7();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 7:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B8 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B8->GetAllItemList_B8();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 8:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B9 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B9->GetAllItemList_B9();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 9:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B10 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B10->GetAllItemList_B10();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 10:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B11 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B11->GetAllItemList_B11();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 11:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B12 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B12->GetAllItemList_B12();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 12:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B13 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B13->GetAllItemList_B13();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 13:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B14 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B14->GetAllItemList_B14();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 14:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B15 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B15->GetAllItemList_B15();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 15:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B16 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B16->GetAllItemList_B16();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 16:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B17 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B17->GetAllItemList_B17();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 17:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B18 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B18->GetAllItemList_B18();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 18:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B19 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B19->GetAllItemList_B19();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 19:
|
|||
|
if (dataVar::fProItemTab->TempDragListWidget_B20 != nullptr)
|
|||
|
{
|
|||
|
FlowProItemList_B = dataVar::fProItemTab->TempDragListWidget_B20->GetAllItemList_B20();
|
|||
|
QConfig::ToolBase[i]->m_FlowSortList = FlowProItemList_B;
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F>ر<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
dataVar::m_pWindow->slot_SaveProjectParam(1);
|
|||
|
if (dataVar::bol_connect == true)
|
|||
|
{
|
|||
|
dataVar::bol_connect = false;
|
|||
|
dataVar::sqlite.CloseDB(dataVar::soft_key, dataVar::database);
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
comm_keys.clear();
|
|||
|
comm_keys = gVariable::camera_variable_link.uniqueKeys();
|
|||
|
for (int k = 0; k < comm_keys.length(); k++)
|
|||
|
{
|
|||
|
QString key = comm_keys[k];
|
|||
|
if (gVariable::camera_variable_link.value(key).mindvision_framebuffer_value != nullptr)
|
|||
|
{
|
|||
|
CameraStop(gVariable::camera_variable_link.value(key).mindvision_haldle_value);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>Դ
|
|||
|
CameraUnInit(gVariable::camera_variable_link.value(key).mindvision_haldle_value);
|
|||
|
CameraAlignFree(gVariable::camera_variable_link.value(key).mindvision_framebuffer_value);
|
|||
|
}
|
|||
|
}
|
|||
|
//ͨ<><CDA8>I/O
|
|||
|
comm_keys.clear();
|
|||
|
comm_keys = gVariable::generalio_variable_link.uniqueKeys();
|
|||
|
for (int k = 0; k < comm_keys.length(); k++)
|
|||
|
{
|
|||
|
QString key = comm_keys[k];
|
|||
|
if (gVariable::generalio_variable_link.value(key).io_value != nullptr)
|
|||
|
{
|
|||
|
gVariable::generalio_variable_link.value(key).io_value->close();
|
|||
|
gVariable::generalio_variable_link.value(key).io_value->deleteLater();
|
|||
|
gVariable::GeneralIoVar.connect_state = 0;
|
|||
|
gVariable::GeneralIoVar.io_value = nullptr;
|
|||
|
gVariable::generalio_variable_link.insert(key, gVariable::GeneralIoVar);
|
|||
|
}
|
|||
|
}
|
|||
|
//PLCͨ<43><CDA8>
|
|||
|
comm_keys.clear();
|
|||
|
comm_keys = gVariable::plccommunicate_variable_link.uniqueKeys();
|
|||
|
for (int k = 0; k < comm_keys.length(); k++)
|
|||
|
{
|
|||
|
QString key = comm_keys[k];
|
|||
|
if (gVariable::plccommunicate_variable_link.value(key).mit_value != nullptr)
|
|||
|
{
|
|||
|
gVariable::plccommunicate_variable_link.value(key).mit_value->close();
|
|||
|
gVariable::plccommunicate_variable_link.value(key).mit_value->deleteLater();
|
|||
|
gVariable::PlcCommunicateVar.connect_state = 0;
|
|||
|
gVariable::PlcCommunicateVar.mit_value = nullptr;
|
|||
|
gVariable::plccommunicate_variable_link.insert(key, gVariable::PlcCommunicateVar);
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
comm_keys.clear();
|
|||
|
comm_keys = gVariable::serialport_variable_link.uniqueKeys();
|
|||
|
for (int k = 0; k < comm_keys.length(); k++)
|
|||
|
{
|
|||
|
QString key = comm_keys[k];
|
|||
|
if (gVariable::serialport_variable_link.value(key).serialport_value != nullptr)
|
|||
|
{
|
|||
|
gVariable::serialport_variable_link.value(key).serialport_value->close();
|
|||
|
gVariable::serialport_variable_link.value(key).serialport_value->deleteLater();
|
|||
|
}
|
|||
|
}
|
|||
|
//TCP/IPͨ<50><CDA8>
|
|||
|
comm_keys.clear();
|
|||
|
comm_keys = gVariable::sockettcpserver_variable_link.uniqueKeys();
|
|||
|
for (int k = 0; k < comm_keys.length(); k++)
|
|||
|
{
|
|||
|
QString key = comm_keys[k];
|
|||
|
if (gVariable::sockettcpserver_variable_link.value(key).server_value != nullptr)
|
|||
|
{
|
|||
|
gVariable::sockettcpserver_variable_link.value(key).server_value->close();
|
|||
|
gVariable::sockettcpserver_variable_link.value(key).server_value->deleteLater();
|
|||
|
}
|
|||
|
}
|
|||
|
comm_keys.clear();
|
|||
|
comm_keys = gVariable::sockettcpclient_variable_link.uniqueKeys();
|
|||
|
for (int k = 0; k < comm_keys.length(); k++)
|
|||
|
{
|
|||
|
QString key = comm_keys[k];
|
|||
|
if (gVariable::sockettcpclient_variable_link.value(key).client_value != nullptr)
|
|||
|
{
|
|||
|
gVariable::sockettcpclient_variable_link.value(key).client_value->close();
|
|||
|
gVariable::sockettcpclient_variable_link.value(key).client_value->deleteLater();
|
|||
|
gVariable::SocketTcpClientVar.connect_state = 0;
|
|||
|
gVariable::SocketTcpClientVar.client_value = nullptr;
|
|||
|
gVariable::sockettcpclient_variable_link.insert(key, gVariable::SocketTcpClientVar);
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>رռ<D8B1>¼Log
|
|||
|
emit dataVar::fProItemTab->sig_InfoClick();
|
|||
|
emit dataVar::fProItemTab->sig_Log("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>...");
|
|||
|
qApp->quit(); //<2F>˳<EFBFBD>ϵͳ<CFB5><CDB3>qApp<70><70>ָ<EFBFBD><D6B8>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>ָ<EFBFBD><D6B8>
|
|||
|
//<2F>رճ<D8B1><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
HANDLE hself = GetCurrentProcess();
|
|||
|
TerminateProcess(hself, 0);
|
|||
|
}
|
|||
|
|
|||
|
frmQuit::~frmQuit()
|
|||
|
{
|
|||
|
if (this != nullptr)
|
|||
|
{
|
|||
|
this->deleteLater();
|
|||
|
}
|
|||
|
}
|