GD500机型代码
parent
5085b3c0ab
commit
0fdfe6e039
@ -1,68 +0,0 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"string": "cpp",
|
||||
"array": "cpp",
|
||||
"atomic": "cpp",
|
||||
"bit": "cpp",
|
||||
"*.tcc": "cpp",
|
||||
"cctype": "cpp",
|
||||
"chrono": "cpp",
|
||||
"clocale": "cpp",
|
||||
"cmath": "cpp",
|
||||
"compare": "cpp",
|
||||
"complex": "cpp",
|
||||
"concepts": "cpp",
|
||||
"condition_variable": "cpp",
|
||||
"cstdarg": "cpp",
|
||||
"cstddef": "cpp",
|
||||
"cstdint": "cpp",
|
||||
"cstdio": "cpp",
|
||||
"cstdlib": "cpp",
|
||||
"cstring": "cpp",
|
||||
"ctime": "cpp",
|
||||
"cwchar": "cpp",
|
||||
"cwctype": "cpp",
|
||||
"deque": "cpp",
|
||||
"list": "cpp",
|
||||
"map": "cpp",
|
||||
"set": "cpp",
|
||||
"unordered_map": "cpp",
|
||||
"unordered_set": "cpp",
|
||||
"vector": "cpp",
|
||||
"exception": "cpp",
|
||||
"algorithm": "cpp",
|
||||
"functional": "cpp",
|
||||
"iterator": "cpp",
|
||||
"memory": "cpp",
|
||||
"memory_resource": "cpp",
|
||||
"numeric": "cpp",
|
||||
"random": "cpp",
|
||||
"ratio": "cpp",
|
||||
"string_view": "cpp",
|
||||
"system_error": "cpp",
|
||||
"tuple": "cpp",
|
||||
"type_traits": "cpp",
|
||||
"utility": "cpp",
|
||||
"fstream": "cpp",
|
||||
"future": "cpp",
|
||||
"initializer_list": "cpp",
|
||||
"iomanip": "cpp",
|
||||
"iosfwd": "cpp",
|
||||
"iostream": "cpp",
|
||||
"istream": "cpp",
|
||||
"limits": "cpp",
|
||||
"mutex": "cpp",
|
||||
"new": "cpp",
|
||||
"numbers": "cpp",
|
||||
"ostream": "cpp",
|
||||
"semaphore": "cpp",
|
||||
"sstream": "cpp",
|
||||
"stdexcept": "cpp",
|
||||
"stop_token": "cpp",
|
||||
"streambuf": "cpp",
|
||||
"thread": "cpp",
|
||||
"cinttypes": "cpp",
|
||||
"typeindex": "cpp",
|
||||
"typeinfo": "cpp"
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
#include "ASyncQueue.h"
|
||||
|
||||
|
@ -0,0 +1,81 @@
|
||||
#pragma once
|
||||
#include<mutex>
|
||||
//#include<condition_variable>
|
||||
#include<list>
|
||||
#include<iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
template<class T> class ASyncQueue
|
||||
{
|
||||
public:
|
||||
ASyncQueue(int max_size);
|
||||
~ASyncQueue();
|
||||
void put(const T& val);
|
||||
void take(T& val);
|
||||
void clear();
|
||||
bool isEmpty();
|
||||
bool isFull();
|
||||
int count();
|
||||
public:
|
||||
string name;
|
||||
private:
|
||||
mutex lock;
|
||||
//condition_variable_any cv_full, cv_empty;
|
||||
list<T> q;
|
||||
int size;
|
||||
int max_size;
|
||||
};
|
||||
|
||||
using namespace std;
|
||||
|
||||
template<class T>
|
||||
ASyncQueue<T>::ASyncQueue(int max_size) :max_size(max_size)
|
||||
{
|
||||
}
|
||||
|
||||
template<class T>
|
||||
ASyncQueue<T>::~ASyncQueue()
|
||||
{
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void ASyncQueue<T>::put(const T& val)
|
||||
{
|
||||
lock_guard<mutex> locker(lock);
|
||||
q.emplace_back(val);
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void ASyncQueue<T>::take(T& val)
|
||||
{
|
||||
lock_guard<mutex> locker(lock);
|
||||
val = q.front();
|
||||
q.pop_front();
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void ASyncQueue<T>::clear()
|
||||
{
|
||||
lock_guard<mutex> locker(lock);
|
||||
q.clear();
|
||||
}
|
||||
|
||||
template<class T>
|
||||
bool ASyncQueue<T>::isEmpty()
|
||||
{
|
||||
return q.size() == 0;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
bool ASyncQueue<T>::isFull()
|
||||
{
|
||||
return q.size() == max_size;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
int ASyncQueue<T>::count()
|
||||
{
|
||||
lock_guard<mutex> locker(lock);
|
||||
return q.size();
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
#include "AlarmInfo.h"
|
||||
|
||||
AlarmInfo::AlarmInfo()
|
||||
{
|
||||
}
|
||||
|
||||
AlarmInfo::~AlarmInfo()
|
||||
{
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
#include <iostream>
|
||||
class AlarmInfo
|
||||
{
|
||||
public:
|
||||
AlarmInfo();
|
||||
~AlarmInfo();
|
||||
|
||||
public:
|
||||
std::string alarm_start; //报警发生时间
|
||||
std::string alarm_handle; //报警处理时间
|
||||
std::string alarm_msg; //报警信息
|
||||
int alarm_code; //报警代码
|
||||
};
|
@ -0,0 +1,166 @@
|
||||
#include "CaptureThread.h"
|
||||
#include "common.h"
|
||||
#include "exportData.h"
|
||||
|
||||
extern bool g_debug_mode; //相机调试模式,工作模式必须停止状态才能打开
|
||||
extern SyncQueue<_XMLExportDataInfo>* export_XMLData_Info_queue;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
CaptureThread::CaptureThread(Device* pCurrDev, bool boTerminated, FunctionInterface* pFI_, int Num) :
|
||||
pDev_(pCurrDev), boTerminated_(boTerminated), requestPendingForDisplay_(INVALID_ID), pFI_(pFI_), Local_Num(Num)
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
p_unit_queue = new ASyncQueue<cv::Mat>(Unit_Queue_Size);
|
||||
}
|
||||
|
||||
void CaptureThread::fpsTimeout(void)
|
||||
{
|
||||
uint64_t delta = m_cntGrabbedImages - m_cntLastGrabbedImages;
|
||||
m_cntLastGrabbedImages = m_cntGrabbedImages;
|
||||
QString data = QString("%1").arg(delta);
|
||||
emit updateStatistics(data.left(4), Local_Num);
|
||||
}
|
||||
|
||||
CaptureThread::~CaptureThread()
|
||||
{
|
||||
delete p_unit_queue;
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
void CaptureThread::process(void)
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
try
|
||||
{
|
||||
//Line5回调
|
||||
mvIMPACT::acquire::GenICam::EventControl pEventCtrl_(pDev_);
|
||||
//pEventCtrl_.eventSelector.writeS("Line5FallingEdge");
|
||||
//pEventCtrl_.eventNotification.writeS("Off");
|
||||
//pEventCtrl_.eventSelector.writeS("Line5RisingEdge");
|
||||
//pEventCtrl_.eventNotification.writeS("Off");
|
||||
pEventCtrl_.eventSelector.writeS("Line5AnyEdge");
|
||||
#ifdef IMM_PROCESS
|
||||
pEventCtrl_.eventNotification.writeS("Off");
|
||||
#else
|
||||
pEventCtrl_.eventNotification.writeS("On");
|
||||
#endif
|
||||
|
||||
#ifndef IMM_PROCESS
|
||||
EventCallback eventCallback(&pEventCtrl_);
|
||||
eventCallback.p_unit_queue_ = p_unit_queue;
|
||||
#ifdef SYNC_CAMERA
|
||||
eventCallback.p_image_sync_arr_ = p_image_sync_arr;
|
||||
eventCallback.p_image_sync_queue_ = p_image_sync_queue;
|
||||
#else
|
||||
eventCallback.p_image_queue_ = p_image_queue;
|
||||
#endif
|
||||
eventCallback.p_result_wait_queue_ = p_result_wait_queue;
|
||||
eventCallback.p_shooted_queue_ = p_shooted_queue;
|
||||
eventCallback.p_double_queue_ = p_double_queue;
|
||||
eventCallback.m_pMVCamera = pDev_;
|
||||
eventCallback.pCaptureThread = this;
|
||||
eventCallback.registerComponent(pEventCtrl_.eventLine5AnyEdge);
|
||||
#endif
|
||||
|
||||
m_threadFunc.m_pMVCamera = pDev_;
|
||||
m_threadFunc.p_result_queue_ = p_result_queue;
|
||||
m_threadFunc.p_double_queue_ = p_double_queue;
|
||||
|
||||
//相机掉线回调
|
||||
CIwtCameraLostCallbackMV cam_lost_cb;
|
||||
cam_lost_cb.channel_ = Local_Num;
|
||||
if (cam_lost_cb.registerComponent(pDev_->state) != true)
|
||||
{
|
||||
std::cout << "ERROR: Unable to register the camera's lost CallBack function!\n";
|
||||
}
|
||||
//图像采集循环
|
||||
TDMR_ERROR result = DMR_NO_ERROR;
|
||||
while ((result = static_cast<TDMR_ERROR>(pFI_->imageRequestSingle())) == DMR_NO_ERROR) {};
|
||||
if (result != DEV_NO_FREE_REQUEST_AVAILABLE)
|
||||
{
|
||||
qDebug() << "'FunctionInterface.imageRequestSingle' returned with an unexpected result: " << QString::fromStdString(mvIMPACT::acquire::ImpactAcquireException::getErrorCodeAsString(result));
|
||||
}
|
||||
manuallyStartAcquisitionIfNeeded(pDev_, *pFI_);
|
||||
int cnt = 0;
|
||||
|
||||
// run thread loop
|
||||
mvIMPACT::acquire::Statistics statistics(pDev_);
|
||||
mvIMPACT::acquire::Request* pRequest = 0;
|
||||
mvIMPACT::acquire::Request* pPreviousRequest = nullptr;
|
||||
const unsigned int timeout_ms = 100;
|
||||
Ready = true;
|
||||
while (!boTerminated_)
|
||||
{
|
||||
const int requestNr = pFI_->imageRequestWaitFor(timeout_ms);
|
||||
pRequest = pFI_->isRequestNrValid(requestNr) ? pFI_->getRequest(requestNr) : 0;
|
||||
if (pRequest)
|
||||
{
|
||||
if (pRequest->isOK())
|
||||
{
|
||||
// do something with the image
|
||||
int openCVDataType = CV_8UC1;
|
||||
if ((pRequest->imagePixelFormat.read() == ibpfBGR888Packed) || (pRequest->imagePixelFormat.read() == ibpfRGB888Packed))
|
||||
openCVDataType = CV_8UC3;
|
||||
cv::Mat openCVImage(cv::Size(pRequest->imageWidth.read(), pRequest->imageHeight.read()), openCVDataType, pRequest->imageData.read(), pRequest->imageLinePitch.read());
|
||||
cv::Mat image_clone = openCVImage.clone();
|
||||
if (!g_debug_mode)
|
||||
{
|
||||
#ifdef IMM_PROCESS
|
||||
p_image_queue->put(std::make_pair(1, image_clone)); //放入临时队列
|
||||
#else
|
||||
p_unit_queue->put(image_clone); //放入临时队列
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
p_debug_queue->put(image_clone); //放入调试队列
|
||||
}
|
||||
cnt++;
|
||||
// display some statistics
|
||||
if (cnt % 10 == 0)
|
||||
{
|
||||
QString data = QString::fromStdString(statistics.framesPerSecond.readS());
|
||||
emit updateStatistics(data.left(4), Local_Num);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// some error: pRequest->requestResult.readS() will return a string representation
|
||||
}
|
||||
// this image has been used thus the buffer is no longer needed...
|
||||
if (pPreviousRequest)
|
||||
{
|
||||
// this image has been displayed thus the buffer is no longer needed...
|
||||
pPreviousRequest->unlock();
|
||||
}
|
||||
pPreviousRequest = pRequest;
|
||||
// send a new image request into the capture queue
|
||||
pFI_->imageRequestSingle();
|
||||
}
|
||||
#if defined (IMM_FEED_BACK) || defined (CAP_FEED_BACK)
|
||||
m_threadFunc.SendFeedBack(ImageCap);
|
||||
#endif
|
||||
}
|
||||
manuallyStopAcquisitionIfNeeded(pDev_, *pFI_);
|
||||
if (pRequest)
|
||||
{
|
||||
pRequest->unlock();
|
||||
}
|
||||
pFI_->imageRequestReset(0, 0);
|
||||
}
|
||||
catch (const ImpactAcquireException& e)
|
||||
{
|
||||
emit error(QString::fromStdString(e.getErrorCodeAsString()));
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
int CaptureThread::getPendingRequestNr(void)
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
QMutexLocker lockedScope(&lock_);
|
||||
int result = requestPendingForDisplay_;
|
||||
// Reset the ID of the request to tell the capture loop that this request has already been
|
||||
// picked up and someone else will take care of it from now on.
|
||||
requestPendingForDisplay_ = INVALID_ID;
|
||||
return result;
|
||||
}
|
@ -0,0 +1,268 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef CaptureThreadH
|
||||
#define CaptureThreadH CaptureThreadH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "balluffcamera.h"
|
||||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include <QTimer>
|
||||
#include <qdebug.h>
|
||||
|
||||
#include "SyncQueue.h"
|
||||
#include "ASyncQueue.h"
|
||||
|
||||
#include "apps/Common/exampleHelper.h"
|
||||
#include <apps/Common/qtIncludePrologue.h>
|
||||
#include <apps/Common/qtIncludeEpilogue.h>
|
||||
#include <opencv2/opencv.hpp>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern SingleCamInfoStruct SingleCamInfo[NumberOfSupportedCameras];
|
||||
extern int work_camera_nums;
|
||||
|
||||
class CaptureThread_Func
|
||||
{
|
||||
public:
|
||||
Device* m_pMVCamera;
|
||||
ASyncQueue<bool>* p_result_queue_;
|
||||
ASyncQueue<bool>* p_double_queue_;
|
||||
void SendFeedBack(int OpID)
|
||||
{
|
||||
bool send_ng = false;
|
||||
bool send_ok = false;
|
||||
if (OpID == EdgeEvent)
|
||||
{
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
if (p_double_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_double_queue_->take(temp);
|
||||
send_ng = true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
if (p_result_queue_->count() > 0)
|
||||
{
|
||||
bool result;
|
||||
p_result_queue_->take(result);
|
||||
if (!result)
|
||||
{
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
p_double_queue_->put(true);
|
||||
#endif
|
||||
send_ng = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
send_ok = true;
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
mvIMPACT::acquire::GenICam::DigitalIOControl mvDIOC(m_pMVCamera);
|
||||
if (send_ng) {
|
||||
mvDIOC.userOutputSelector.writeS("UserOutput0");
|
||||
mvIMPACT::acquire::TBoolean tb = mvDIOC.userOutputValue.read();
|
||||
if (tb == bFalse)
|
||||
mvDIOC.userOutputValue.write(bTrue);
|
||||
else
|
||||
mvDIOC.userOutputValue.write(bFalse);
|
||||
}
|
||||
else if (send_ok)
|
||||
{
|
||||
mvDIOC.userOutputSelector.writeS("UserOutput1");
|
||||
mvIMPACT::acquire::TBoolean tb = mvDIOC.userOutputValue.read();
|
||||
if (tb == bFalse)
|
||||
mvDIOC.userOutputValue.write(bTrue);
|
||||
else
|
||||
mvDIOC.userOutputValue.write(bFalse);
|
||||
}
|
||||
}
|
||||
catch (const ImpactAcquireException& e)
|
||||
{
|
||||
std::cout << "(error code: " << e.getErrorCodeAsString() << "). Press [ENTER] to end the application..." << std::endl;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class CaptureThread : public QObject
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CaptureThread(Device* pCurrDev, bool boTerminated, FunctionInterface* pFi, int Num);
|
||||
CaptureThread::~CaptureThread(void);
|
||||
void terminate(void)
|
||||
{
|
||||
boTerminated_ = true;
|
||||
}
|
||||
int getPendingRequestNr();
|
||||
|
||||
signals:
|
||||
void error(QString err);
|
||||
void finished(void);
|
||||
void requestReady(void);
|
||||
void updateStatistics(const QString& data, int Num);
|
||||
|
||||
private slots:
|
||||
void process(void);
|
||||
void fpsTimeout(void);
|
||||
|
||||
public:
|
||||
int Local_Num;
|
||||
QTimer* m_Timer;
|
||||
uint64_t m_cntGrabbedImages = 0;
|
||||
uint64_t m_cntLastGrabbedImages = 0;
|
||||
#ifdef SYNC_CAMERA
|
||||
ImageSyncArr* p_image_sync_arr;
|
||||
SyncQueue<std::vector<std::pair<int, cv::Mat>>>* p_image_sync_queue;
|
||||
#else
|
||||
SyncQueue<std::pair<int, cv::Mat> >* p_image_queue;
|
||||
#endif
|
||||
ASyncQueue<cv::Mat>* p_unit_queue;
|
||||
ASyncQueue<bool>* p_result_queue;
|
||||
ASyncQueue<bool>* p_result_wait_queue;
|
||||
ASyncQueue<bool>* p_double_queue;
|
||||
ASyncQueue<bool>* p_shooted_queue;
|
||||
SyncQueue<cv::Mat>* p_debug_queue;
|
||||
bool Ready = false;
|
||||
CaptureThread_Func m_threadFunc;
|
||||
private:
|
||||
Device* pDev_;
|
||||
volatile bool boTerminated_;
|
||||
int requestPendingForDisplay_;
|
||||
FunctionInterface* pFI_;
|
||||
QMutex lock_;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//================= Camera's property callback ================================
|
||||
//=============================================================================
|
||||
class EventCallback : public mvIMPACT::acquire::ComponentCallback
|
||||
{
|
||||
public:
|
||||
ASyncQueue<cv::Mat>* p_unit_queue_;
|
||||
#ifdef SYNC_CAMERA
|
||||
ImageSyncArr* p_image_sync_arr_;
|
||||
SyncQueue<std::vector<std::pair<int, cv::Mat>>>* p_image_sync_queue_;
|
||||
#else
|
||||
SyncQueue<std::pair<int, cv::Mat> >* p_image_queue_;
|
||||
#endif
|
||||
ASyncQueue<bool>* p_result_wait_queue_;
|
||||
ASyncQueue<bool>* p_shooted_queue_;
|
||||
ASyncQueue<bool>* p_double_queue_;
|
||||
explicit EventCallback(void* pUserData = 0) : ComponentCallback(pUserData) {}
|
||||
Device* m_pMVCamera;
|
||||
CaptureThread* pCaptureThread = NULL;
|
||||
int count = 0;
|
||||
|
||||
virtual void execute(Component& c, void* pUserData)
|
||||
{
|
||||
try
|
||||
{
|
||||
// re-generating the object/data previously attached to the callback object. This could now be used to call a certain member function e.g. to update a class instance about this event!
|
||||
mvIMPACT::acquire::GenICam::EventControl* ec = reinterpret_cast<mvIMPACT::acquire::GenICam::EventControl*>(pUserData);
|
||||
// Execute the followings if the component is a property.
|
||||
if (c.isProp())
|
||||
{
|
||||
mvIMPACT::acquire::GenICam::DigitalIOControl mvDIOC(m_pMVCamera);
|
||||
mvDIOC.lineSelector.writeS("Line5");
|
||||
if (mvDIOC.lineStatus.read())
|
||||
{
|
||||
#ifdef IMM_FEED_BACK
|
||||
if (p_shooted_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
}
|
||||
#elif defined ONE_TIME_SHIFT
|
||||
if (
|
||||
p_shooted_queue_->count() > 0
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
|| p_double_queue_->count() > 0
|
||||
#endif
|
||||
)
|
||||
{
|
||||
if (p_shooted_queue_->count() > 0) {
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
}
|
||||
pCaptureThread->m_threadFunc.SendFeedBack(EdgeEvent);
|
||||
}
|
||||
#else
|
||||
if (p_result_wait_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_result_wait_queue_->take(temp);
|
||||
pCaptureThread->m_threadFunc.SendFeedBack(EdgeEvent);
|
||||
}
|
||||
if (p_shooted_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
p_result_wait_queue_->put(true);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
int unit_count = p_unit_queue_->count();
|
||||
if (unit_count > 0)
|
||||
{
|
||||
cv::Mat long_image;
|
||||
for (int i = 0; i < unit_count; i++)
|
||||
{
|
||||
cv::Mat image;
|
||||
p_unit_queue_->take(image);
|
||||
if (0 == i)
|
||||
{
|
||||
long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type());
|
||||
}
|
||||
cv::Rect r(0, i * image.rows, image.cols, image.rows);
|
||||
cv::Mat roi = long_image(r);
|
||||
image.copyTo(roi);
|
||||
}
|
||||
#ifdef SYNC_CAMERA
|
||||
{
|
||||
std::lock_guard<std::mutex> locker(p_image_sync_arr_->lock);
|
||||
p_image_sync_arr_->image_sync_arr.at(pCaptureThread->Local_Num) = std::make_pair(unit_count, long_image);
|
||||
p_image_sync_arr_->collect_cnt++;
|
||||
if (p_image_sync_arr_->collect_cnt == work_camera_nums)
|
||||
{
|
||||
p_image_sync_queue_->put(p_image_sync_arr_->image_sync_arr);
|
||||
p_image_sync_arr_->collect_cnt = 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
p_image_queue_->put(std::make_pair(unit_count, long_image));
|
||||
#endif
|
||||
p_shooted_queue_->put(true);
|
||||
}
|
||||
p_unit_queue_->clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (const ImpactAcquireException& e)
|
||||
{
|
||||
qDebug() << "Error";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class CIwtCameraLostCallbackMV : public mvIMPACT::acquire::ComponentCallback
|
||||
{
|
||||
public:
|
||||
CIwtCameraLostCallbackMV() : ComponentCallback() {}
|
||||
int channel_;
|
||||
virtual void execute(mvIMPACT::acquire::Component& c, void* pDummy)
|
||||
{
|
||||
PropertyIDeviceState p(c);
|
||||
std::cout << p.name() << " = " << p.readS() << endl;
|
||||
SingleCamInfo[channel_].OffLine = true;
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
#endif // CaptureThreadH
|
@ -0,0 +1,207 @@
|
||||
#include "CaptureThreadBasler.h"
|
||||
#include <QtWidgets/QApplication>
|
||||
#include "PLCDevice.h"
|
||||
#include "common.h"
|
||||
#include <qdebug.h>
|
||||
#include <exportData.h>
|
||||
extern SyncQueue<_XMLExportDataInfo>* export_XMLData_Info_queue;
|
||||
extern PLCDevice* m_PLCDevice;
|
||||
//-----------------------------------------------------------------------------
|
||||
CaptureThreadBasler::CaptureThreadBasler(Pylon::CBaslerUniversalInstantCamera* pCurrDev, bool boTerminated, int Num, int shoot) :
|
||||
pDev_(pCurrDev), boTerminated_(boTerminated), Local_Num(Num)
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
p_unit_queue = new ASyncQueue<cv::Mat>(Unit_Queue_Size);
|
||||
Shoot_Num = shoot;
|
||||
}
|
||||
CaptureThreadBasler::~CaptureThreadBasler()
|
||||
{
|
||||
delete p_unit_queue;
|
||||
}
|
||||
//-----------------------------------------------------------------------------
|
||||
void CaptureThreadBasler::process(void)
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
bool last_high = false;
|
||||
bool last_result = false;
|
||||
|
||||
CSampleConfigurationEventHandler* CfgEvent = NULL;
|
||||
CfgEvent = new CSampleConfigurationEventHandler;
|
||||
CfgEvent->channel_ = Local_Num;
|
||||
pDev_->RegisterConfiguration(CfgEvent, Pylon::RegistrationMode_Append, Pylon::Cleanup_None);
|
||||
|
||||
CSampleImageEventHandler ImageEvent;
|
||||
#ifdef SYNC_CAMERA
|
||||
ImageEvent.p_image_sync_arr_ = p_image_sync_arr;
|
||||
ImageEvent.p_image_sync_queue_ = p_image_sync_queue;
|
||||
#else
|
||||
ImageEvent.p_image_queue_ = p_image_queue;
|
||||
#endif
|
||||
ImageEvent.p_unit_queue_ = p_unit_queue;
|
||||
ImageEvent.p_shooted_queue_ = p_shooted_queue;
|
||||
ImageEvent.p_debug_queue_ = p_debug_queue;
|
||||
ImageEvent.m_cntGrabbedImages_ = &m_cntGrabbedImages;
|
||||
ImageEvent.Shoot_Num_ = Shoot_Num;
|
||||
ImageEvent.pDev__ = pDev_;
|
||||
pDev_->RegisterImageEventHandler(&ImageEvent, Pylon::RegistrationMode_Append, Pylon::Cleanup_None);
|
||||
|
||||
CSampleCameraEventHandler BurstEvent;
|
||||
#ifdef SYNC_CAMERA
|
||||
BurstEvent.p_image_sync_arr_ = p_image_sync_arr;
|
||||
BurstEvent.p_image_sync_queue_ = p_image_sync_queue;
|
||||
#else
|
||||
BurstEvent.p_image_queue_ = p_image_queue;
|
||||
#endif
|
||||
BurstEvent.p_unit_queue_ = p_unit_queue;
|
||||
BurstEvent.p_result_wait_queue_ = p_result_wait_queue;
|
||||
BurstEvent.p_result_queue_ = p_result_queue;
|
||||
BurstEvent.p_shooted_queue_ = p_shooted_queue;
|
||||
BurstEvent.p_double_queue_ = p_double_queue;
|
||||
BurstEvent.pDev__ = pDev_;
|
||||
BurstEvent.pCaptureThreadBasler = this;
|
||||
|
||||
try
|
||||
{
|
||||
m_threadFunc.pDev__ = pDev_;
|
||||
m_threadFunc.p_result_queue_ = p_result_queue;
|
||||
m_threadFunc.p_double_queue_ = p_double_queue;
|
||||
m_threadFunc.m_IOTimer_ = m_IOTimer;
|
||||
#ifndef USB_BASLER_NEW_FW
|
||||
if (pDev_->TriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameBurstStart))
|
||||
{
|
||||
pDev_->TriggerMode.SetValue(Basler_UniversalCameraParams::TriggerMode_On);
|
||||
pDev_->TriggerSource.SetValue(Basler_UniversalCameraParams::TriggerSource_Line1);
|
||||
pDev_->TriggerActivation.SetValue(Basler_UniversalCameraParams::TriggerActivation_RisingEdge);
|
||||
pDev_->AcquisitionBurstFrameCount.SetValue(Shoot_Num);
|
||||
if (pDev_->EventSelector.TrySetValue(Basler_UniversalCameraParams::EventSelector_FrameBurstStart))
|
||||
{
|
||||
if (!pDev_->EventNotification.TrySetValue(Basler_UniversalCameraParams::EventNotification_On))
|
||||
{
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_GenICamEvent);
|
||||
}
|
||||
|
||||
m_IOTimer = new QTimer();
|
||||
connect(m_IOTimer, SIGNAL(timeout()), this, SLOT(ioTimeout()));
|
||||
m_IOTimer->setSingleShot(true);
|
||||
BurstEvent.ioTimer = m_IOTimer;
|
||||
pDev_->RegisterCameraEventHandler(&BurstEvent, "EventFrameBurstStartData", eMyFrameBurstStartEvent, Pylon::RegistrationMode_Append, Pylon::Cleanup_None);
|
||||
}
|
||||
|
||||
if (pDev_->EventSelector.TrySetValue("Line1RisingEdge"))
|
||||
{
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_Off);
|
||||
}
|
||||
if (pDev_->EventSelector.TrySetValue("Line1FallingEdge"))
|
||||
{
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_Off);
|
||||
}
|
||||
}
|
||||
#else
|
||||
/*Set here*/
|
||||
if (pDev_->TriggerSelector.TrySetValue(Basler_UniversalCameraParams::TriggerSelector_FrameBurstStart))
|
||||
{
|
||||
pDev_->TriggerMode.SetValue(Basler_UniversalCameraParams::TriggerMode_Off);
|
||||
if (pDev_->EventSelector.TrySetValue(Basler_UniversalCameraParams::EventSelector_FrameBurstStart))
|
||||
{
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_Off);
|
||||
}
|
||||
}
|
||||
|
||||
pDev_->RegisterCameraEventHandler(&BurstEvent, "EventLine1RisingEdgeData", Line1RisingEdge, Pylon::RegistrationMode_Append, Pylon::Cleanup_None);
|
||||
pDev_->EventSelector.SetValue("Line1RisingEdge");
|
||||
#ifdef IMM_PROCESS
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_Off);
|
||||
#else
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_On);
|
||||
#endif
|
||||
pDev_->RegisterCameraEventHandler(&BurstEvent, "EventLine1FallingEdgeData", Line1FallingEdge, Pylon::RegistrationMode_Append, Pylon::Cleanup_None);
|
||||
pDev_->EventSelector.SetValue("Line1FallingEdge");
|
||||
#ifdef IMM_PROCESS
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_Off);
|
||||
#else
|
||||
pDev_->EventNotification.SetValue(Basler_UniversalCameraParams::EventNotification_On);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
const unsigned int timeout_ms = 100;
|
||||
// This smart pointer will receive the grab result data.
|
||||
Pylon::CGrabResultPtr ptrGrabResult;
|
||||
|
||||
pDev_->StartGrabbing();
|
||||
|
||||
m_Timer = new QTimer();
|
||||
connect(m_Timer, SIGNAL(timeout()), this, SLOT(fpsTimeout()));
|
||||
m_Timer->start(1000);
|
||||
Ready = true;
|
||||
while (!boTerminated_)
|
||||
{
|
||||
// Retrieve grab results and notify the camera event and image event handlers.
|
||||
pDev_->RetrieveResult(timeout_ms, ptrGrabResult, Pylon::TimeoutHandling_Return);
|
||||
#if defined (IMM_FEED_BACK) || defined (CAP_FEED_BACK)
|
||||
m_threadFunc.SendFeedBack(ImageCap);
|
||||
#endif
|
||||
QCoreApplication::processEvents();//Make sure the timer is triggered
|
||||
}
|
||||
#ifndef USB_BASLER_NEW_FW
|
||||
// Disable sending Event Overrun events.
|
||||
if (pDev_->EventSelector.TrySetValue(Basler_UniversalCameraParams::EventSelector_FrameBurstStart))
|
||||
{
|
||||
pDev_->EventNotification.TrySetValue(Basler_UniversalCameraParams::EventNotification_Off);
|
||||
}
|
||||
if (m_IOTimer) delete m_IOTimer;
|
||||
#endif
|
||||
if (m_Timer) delete m_Timer;
|
||||
pDev_->StopGrabbing();
|
||||
pDev_->Close();
|
||||
pDev_->DeregisterConfiguration(CfgEvent);
|
||||
pDev_->DeregisterImageEventHandler(&ImageEvent);
|
||||
#ifndef USB_BASLER_NEW_FW
|
||||
pDev_->DeregisterCameraEventHandler(&BurstEvent, "EventFrameBurstStartData");
|
||||
#else
|
||||
pDev_->DeregisterCameraEventHandler(&BurstEvent, "EventLine1RisingEdgeData");
|
||||
pDev_->DeregisterCameraEventHandler(&BurstEvent, "EventLine1FallingEdgeData");
|
||||
#endif
|
||||
}
|
||||
catch (const Pylon::GenericException& e)
|
||||
{
|
||||
emit error(QString::fromStdString(e.GetDescription()));
|
||||
std::cout << e.GetSourceLine() << e.GetDescription() << std::endl;
|
||||
if (pDev_->IsCameraDeviceRemoved())
|
||||
{
|
||||
cout << "The camera has been removed from the computer." << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
pDev_->StopGrabbing();
|
||||
pDev_->GrabCameraEvents = false;
|
||||
pDev_->Close();
|
||||
pDev_->DeregisterConfiguration(CfgEvent);
|
||||
pDev_->DeregisterImageEventHandler(&ImageEvent);
|
||||
#ifndef USB_BASLER_NEW_FW
|
||||
pDev_->DeregisterCameraEventHandler(&BurstEvent, "EventFrameBurstStartData");
|
||||
#else
|
||||
pDev_->DeregisterCameraEventHandler(&BurstEvent, "EventLine1RisingEdgeData");
|
||||
pDev_->DeregisterCameraEventHandler(&BurstEvent, "EventLine1FallingEdgeData");
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void CaptureThreadBasler::fpsTimeout()
|
||||
{
|
||||
uint64_t delta = m_cntGrabbedImages - m_cntLastGrabbedImages;
|
||||
m_cntLastGrabbedImages = m_cntGrabbedImages;
|
||||
QString data = QString("%1").arg(delta);
|
||||
emit updateStatistics(data.left(4), Local_Num);
|
||||
}
|
||||
|
||||
void CaptureThreadBasler::ioTimeout()
|
||||
{
|
||||
pDev_->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1);
|
||||
pDev_->UserOutputValue.SetValue(false);
|
||||
|
||||
pDev_->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3);
|
||||
pDev_->UserOutputValue.SetValue(false);
|
||||
|
||||
}
|
@ -0,0 +1,388 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef CaptureThreadBaslerH
|
||||
#define CaptureThreadBaslerH CaptureThreadBaslerH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "baslercamera.h"
|
||||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include <QTimer>
|
||||
#include <qdebug.h>
|
||||
|
||||
#include "SyncQueue.h"
|
||||
#include "ASyncQueue.h"
|
||||
#include "common.h"
|
||||
#include <opencv2/opencv.hpp>
|
||||
|
||||
extern bool g_debug_mode;
|
||||
extern int work_camera_nums;
|
||||
extern SingleCamInfoStruct SingleCamInfo[NumberOfSupportedCameras];
|
||||
enum MyEvents
|
||||
{
|
||||
eMyFrameBurstStartEvent = 100,
|
||||
Line1RisingEdge = 200,
|
||||
Line1FallingEdge = 300
|
||||
// More events can be added here.
|
||||
};
|
||||
|
||||
class CaptureThreadBasler_Func
|
||||
{
|
||||
public:
|
||||
Pylon::CBaslerUniversalInstantCamera* pDev__;
|
||||
ASyncQueue<bool>* p_result_queue_;
|
||||
ASyncQueue<bool>* p_double_queue_;
|
||||
QTimer* m_IOTimer_ = NULL;
|
||||
void SendFeedBack(int OpID)
|
||||
{
|
||||
bool send_ng = false;
|
||||
bool send_ok = false;
|
||||
if (OpID == EdgeEvent)
|
||||
{
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
if (p_double_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_double_queue_->take(temp);
|
||||
send_ng = true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
if (p_result_queue_->count() > 0)
|
||||
{
|
||||
bool result;
|
||||
p_result_queue_->take(result);
|
||||
if (!result) {
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
p_double_queue_->put(true);
|
||||
#endif
|
||||
send_ng = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
send_ok = true;
|
||||
}
|
||||
}
|
||||
#ifndef USB_BASLER_NEW_FW
|
||||
if (send_ng) {
|
||||
pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3);
|
||||
pDev__->UserOutputValue.SetValue(true);
|
||||
}
|
||||
else if (send_ok) {
|
||||
pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1);
|
||||
pDev__->UserOutputValue.SetValue(true);
|
||||
}
|
||||
m_IOTimer_->start(StrobeLineTime / 2000);
|
||||
#else
|
||||
if (send_ng) {
|
||||
pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput3);
|
||||
pDev__->UserOutputValue.SetValue(false);
|
||||
pDev__->UserOutputValue.SetValue(true);
|
||||
}
|
||||
else if (send_ok) {
|
||||
pDev__->UserOutputSelector.SetValue(Basler_UniversalCameraParams::UserOutputSelector_UserOutput1);
|
||||
pDev__->UserOutputValue.SetValue(false);
|
||||
pDev__->UserOutputValue.SetValue(true);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class CaptureThreadBasler : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CaptureThreadBasler(Pylon::CBaslerUniversalInstantCamera* pCurrDev, bool boTerminated, int Num, int shoot);
|
||||
CaptureThreadBasler::~CaptureThreadBasler(void);
|
||||
void terminate(void)
|
||||
{
|
||||
boTerminated_ = true;
|
||||
}
|
||||
|
||||
signals:
|
||||
void error(QString err);
|
||||
void finished(void);
|
||||
void requestReady(void);
|
||||
void updateStatistics(const QString& data, int Num);
|
||||
|
||||
private slots:
|
||||
void process(void);
|
||||
void fpsTimeout(void);
|
||||
void ioTimeout(void);
|
||||
|
||||
public:
|
||||
int Local_Num;
|
||||
int Shoot_Num;
|
||||
#ifdef SYNC_CAMERA
|
||||
ImageSyncArr* p_image_sync_arr;
|
||||
SyncQueue<std::vector<std::pair<int, cv::Mat>>>* p_image_sync_queue;
|
||||
#else
|
||||
SyncQueue<std::pair<int, cv::Mat> >* p_image_queue;
|
||||
#endif
|
||||
ASyncQueue<cv::Mat>* p_unit_queue;
|
||||
ASyncQueue<bool>* p_result_queue;
|
||||
ASyncQueue<bool>* p_result_wait_queue;
|
||||
ASyncQueue<bool>* p_double_queue;
|
||||
ASyncQueue<bool>* p_shooted_queue;
|
||||
SyncQueue<cv::Mat>* p_debug_queue;
|
||||
QTimer* m_Timer = NULL, * m_IOTimer = NULL;
|
||||
uint64_t m_cntGrabbedImages = 0;
|
||||
uint64_t m_cntLastGrabbedImages = 0;
|
||||
bool Ready = false;
|
||||
CaptureThreadBasler_Func m_threadFunc;
|
||||
private:
|
||||
Pylon::CBaslerUniversalInstantCamera* pDev_;
|
||||
volatile bool boTerminated_;
|
||||
QMutex lock_;
|
||||
};
|
||||
//-----------------------------------------------------------------------------
|
||||
class CSampleConfigurationEventHandler : public Pylon::CBaslerUniversalConfigurationEventHandler //CConfigurationEventHandler
|
||||
{
|
||||
public:
|
||||
int channel_;
|
||||
// This method is called from a different thread when the camera device removal has been detected.
|
||||
void OnCameraDeviceRemoved(Pylon::CBaslerUniversalInstantCamera& camera)
|
||||
{
|
||||
SingleCamInfo[channel_].OffLine = true;
|
||||
}
|
||||
};
|
||||
|
||||
// Example handler for camera events.
|
||||
class CSampleCameraEventHandler : public Pylon::CBaslerUniversalCameraEventHandler
|
||||
{
|
||||
public:
|
||||
QTimer* ioTimer;
|
||||
ASyncQueue<cv::Mat>* p_unit_queue_;
|
||||
ASyncQueue<bool>* p_result_wait_queue_;
|
||||
ASyncQueue<bool>* p_result_queue_;
|
||||
ASyncQueue<bool>* p_double_queue_;
|
||||
ASyncQueue<bool>* p_shooted_queue_;
|
||||
#ifdef SYNC_CAMERA
|
||||
ImageSyncArr* p_image_sync_arr_;
|
||||
SyncQueue<std::vector<std::pair<int, cv::Mat>>>* p_image_sync_queue_;
|
||||
#else
|
||||
SyncQueue<std::pair<int, cv::Mat> >* p_image_queue_;
|
||||
#endif
|
||||
Pylon::CBaslerUniversalInstantCamera* pDev__;
|
||||
CaptureThreadBasler* pCaptureThreadBasler = NULL;
|
||||
// Only very short processing tasks should be performed by this method. Otherwise, the event notification will block the
|
||||
// processing of images.
|
||||
virtual void OnCameraEvent(Pylon::CBaslerUniversalInstantCamera& camera, intptr_t userProvidedId, GenApi::INode* pNode)
|
||||
{
|
||||
switch (userProvidedId)
|
||||
{
|
||||
#ifndef USB_BASLER_NEW_FW
|
||||
case eMyFrameBurstStartEvent:
|
||||
{
|
||||
#ifdef IMM_FEED_BACK
|
||||
if (p_shooted_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
}
|
||||
#elif defined ONE_TIME_SHIFT
|
||||
if (
|
||||
p_shooted_queue_->count() > 0
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
|| p_double_queue_->count() > 0
|
||||
#endif
|
||||
)
|
||||
{
|
||||
if (p_shooted_queue_->count() > 0) {
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
}
|
||||
pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent);
|
||||
}
|
||||
#else
|
||||
if (p_unit_queue_->count() > 0) {
|
||||
int unit_count = p_unit_queue_->count();
|
||||
cv::Mat long_image;
|
||||
for (int i = 0; i < unit_count; i++)
|
||||
{
|
||||
cv::Mat image;
|
||||
p_unit_queue_->take(image);
|
||||
if (0 == i)
|
||||
{
|
||||
long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type());
|
||||
}
|
||||
cv::Rect r(0, i * image.rows, image.cols, image.rows);
|
||||
cv::Mat roi = long_image(r);
|
||||
image.copyTo(roi);
|
||||
}
|
||||
p_image_queue_->put(std::make_pair(unit_count, long_image));
|
||||
p_shooted_queue_->put(true);
|
||||
p_unit_queue_->clear();
|
||||
}
|
||||
if (p_result_wait_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_result_wait_queue_->take(temp);
|
||||
pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent);
|
||||
}
|
||||
if (p_shooted_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
p_result_wait_queue_->put(true);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
#else
|
||||
case Line1RisingEdge:
|
||||
{
|
||||
#ifdef IMM_FEED_BACK
|
||||
if (p_shooted_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
}
|
||||
#elif defined ONE_TIME_SHIFT
|
||||
if (
|
||||
p_shooted_queue_->count() > 0
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
|| p_double_queue_->count() > 0
|
||||
#endif
|
||||
)
|
||||
{
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent);
|
||||
}
|
||||
#else
|
||||
if (p_result_wait_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_result_wait_queue_->take(temp);
|
||||
pCaptureThreadBasler->m_threadFunc.SendFeedBack(EdgeEvent);
|
||||
}
|
||||
if (p_shooted_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_shooted_queue_->take(temp);
|
||||
p_result_wait_queue_->put(true);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
case Line1FallingEdge:
|
||||
{
|
||||
int unit_count = p_unit_queue_->count();
|
||||
if (unit_count > 0)
|
||||
{
|
||||
cv::Mat long_image;
|
||||
for (int i = 0; i < unit_count; i++)
|
||||
{
|
||||
cv::Mat image;
|
||||
p_unit_queue_->take(image);
|
||||
if (0 == i)
|
||||
{
|
||||
long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type());
|
||||
}
|
||||
cv::Rect r(0, i * image.rows, image.cols, image.rows);
|
||||
cv::Mat roi = long_image(r);
|
||||
image.copyTo(roi);
|
||||
}
|
||||
#ifdef SYNC_CAMERA
|
||||
{
|
||||
std::lock_guard<std::mutex> locker(p_image_sync_arr_->lock);
|
||||
p_image_sync_arr_->image_sync_arr.at(pCaptureThreadBasler->Local_Num) = std::make_pair(unit_count, long_image);
|
||||
p_image_sync_arr_->collect_cnt++;
|
||||
if (p_image_sync_arr_->collect_cnt == work_camera_nums)
|
||||
{
|
||||
p_image_sync_queue_->put(p_image_sync_arr_->image_sync_arr);
|
||||
p_image_sync_arr_->collect_cnt = 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
p_image_queue_->put(std::make_pair(unit_count, long_image));
|
||||
#endif
|
||||
p_shooted_queue_->put(true);
|
||||
}
|
||||
p_unit_queue_->clear();
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class CSampleImageEventHandler : public Pylon::CBaslerUniversalImageEventHandler
|
||||
{
|
||||
public:
|
||||
ASyncQueue<cv::Mat>* p_unit_queue_;
|
||||
#ifdef SYNC_CAMERA
|
||||
ImageSyncArr* p_image_sync_arr_;
|
||||
SyncQueue<std::vector<std::pair<int, cv::Mat>>>* p_image_sync_queue_;
|
||||
#else
|
||||
SyncQueue<std::pair<int, cv::Mat> >* p_image_queue_;
|
||||
#endif
|
||||
SyncQueue<cv::Mat>* p_debug_queue_;
|
||||
ASyncQueue<bool>* p_shooted_queue_;
|
||||
Pylon::CBaslerUniversalInstantCamera* pDev__;
|
||||
uint64_t* m_cntGrabbedImages_;
|
||||
int Shoot_Num_;
|
||||
virtual void OnImageGrabbed(Pylon::CBaslerUniversalInstantCamera& camera, const Pylon::CBaslerUniversalGrabResultPtr& ptrGrabResult)
|
||||
{
|
||||
// Create a pylon ImageFormatConverter object.
|
||||
Pylon::CImageFormatConverter formatConverter;
|
||||
|
||||
// Specify the output pixel format.
|
||||
formatConverter.OutputPixelFormat = Pylon::PixelType_Mono8;
|
||||
|
||||
cv::Mat openCvImage;
|
||||
|
||||
// Create a PylonImage that will be used to create OpenCV images later.
|
||||
Pylon::CPylonImage pylonImage;
|
||||
|
||||
// Convert the grabbed buffer to a pylon image.
|
||||
formatConverter.Convert(pylonImage, ptrGrabResult);
|
||||
|
||||
// Create an OpenCV image from a pylon image.
|
||||
openCvImage = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC1, (uint8_t*)pylonImage.GetBuffer());
|
||||
cv::Mat image_clone = openCvImage.clone();
|
||||
if (!g_debug_mode)
|
||||
{
|
||||
#ifdef IMM_PROCESS
|
||||
p_image_queue_->put(std::make_pair(1, image_clone));
|
||||
#else
|
||||
p_unit_queue_->put(image_clone);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
p_debug_queue_->put(image_clone);
|
||||
}
|
||||
(*m_cntGrabbedImages_)++;
|
||||
#ifndef IMM_PROCESS
|
||||
#ifndef USB_BASLER_NEW_FW
|
||||
int unit_count = p_unit_queue_->count();
|
||||
if (unit_count == Shoot_Num_)
|
||||
{
|
||||
cv::Mat long_image;
|
||||
for (int i = 0; i < unit_count; i++)
|
||||
{
|
||||
cv::Mat image;
|
||||
p_unit_queue_->take(image);
|
||||
if (0 == i)
|
||||
{
|
||||
long_image = cv::Mat::zeros(image.rows * unit_count, image.cols, image.type());
|
||||
}
|
||||
cv::Rect r(0, i * image.rows, image.cols, image.rows);
|
||||
cv::Mat roi = long_image(r);
|
||||
image.copyTo(roi);
|
||||
}
|
||||
p_image_queue_->put(std::make_pair(unit_count, long_image));
|
||||
p_shooted_queue_->put(true);
|
||||
DEBUG(" unit_count\n");
|
||||
p_unit_queue_->clear();
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
#endif // CaptureThreadBasler
|
@ -0,0 +1,107 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef CaptureThreadHIKH
|
||||
#define CaptureThreadHIKH CaptureThreadHIKH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "hikcamera.h"
|
||||
#include "common.h"
|
||||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include <functional>
|
||||
#include <QTimer>
|
||||
|
||||
#include "SyncQueue.h"
|
||||
#include "ASyncQueue.h"
|
||||
|
||||
#include <opencv2/opencv.hpp>
|
||||
|
||||
class CaptureThreadHIK_Func
|
||||
{
|
||||
public:
|
||||
void* CamHandle_;
|
||||
ASyncQueue<bool>* p_result_queue_;
|
||||
ASyncQueue<bool>* p_double_queue_;
|
||||
void SendFeedBack(int OpID)
|
||||
{
|
||||
bool send_ng = false;
|
||||
bool send_ok = false;
|
||||
if (OpID == EdgeEvent)
|
||||
{
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
if (p_double_queue_->count() > 0)
|
||||
{
|
||||
bool temp;
|
||||
p_double_queue_->take(temp);
|
||||
send_ng = true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
if (p_result_queue_->count() > 0)
|
||||
{
|
||||
bool result;
|
||||
p_result_queue_->take(result);
|
||||
if (!result)
|
||||
{
|
||||
#if defined DOUBLE_FEED_BACK
|
||||
p_double_queue_->put(true);
|
||||
#endif
|
||||
send_ng = true;
|
||||
}
|
||||
}
|
||||
if (send_ng)
|
||||
{
|
||||
MV_CC_SetEnumValue(CamHandle_, "LineSelector", 1);
|
||||
MV_CC_SetCommandValue(CamHandle_, "LineTriggerSoftware");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class CaptureThreadHIK : public QObject
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CaptureThreadHIK(void* camhandle, bool boTerminated, int Num);
|
||||
CaptureThreadHIK::~CaptureThreadHIK(void);
|
||||
void terminate(void)
|
||||
{
|
||||
boTerminated_ = true;
|
||||
}
|
||||
|
||||
signals:
|
||||
void error(QString err);
|
||||
void finished(void);
|
||||
void requestReady(void);
|
||||
void updateStatistics(const QString& data, int Num);
|
||||
|
||||
private slots:
|
||||
void process(void);
|
||||
void fpsTimeout(void);
|
||||
public:
|
||||
int Local_Num;
|
||||
#ifdef SYNC_CAMERA
|
||||
ImageSyncArr* p_image_sync_arr;
|
||||
SyncQueue<std::vector<std::pair<int, cv::Mat>>>* p_image_sync_queue;
|
||||
#else
|
||||
SyncQueue<std::pair<int, cv::Mat> >* p_image_queue;
|
||||
#endif
|
||||
ASyncQueue<cv::Mat>* p_unit_queue;
|
||||
ASyncQueue<bool>* p_result_queue;
|
||||
ASyncQueue<bool>* p_result_wait_queue;
|
||||
ASyncQueue<bool>* p_double_queue;
|
||||
ASyncQueue<bool>* p_shooted_queue;
|
||||
SyncQueue<cv::Mat>* p_debug_queue;
|
||||
void* CamHandle;
|
||||
QTimer* m_Timer;
|
||||
uint64_t m_cntGrabbedImages = 0;
|
||||
uint64_t m_cntLastGrabbedImages = 0;
|
||||
bool Ready = false;
|
||||
CaptureThreadHIK_Func m_threadFunc;
|
||||
private:
|
||||
MV_FRAME_OUT_INFO_EX stFrameInfo;
|
||||
unsigned char* g_pImage_buf;
|
||||
volatile bool boTerminated_;
|
||||
QMutex lock_;
|
||||
};
|
||||
#endif // CaptureThreadHIKH
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,286 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;cxx;c;def</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Form Files">
|
||||
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
|
||||
<Extensions>ui</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>moc;h;cpp</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Debug">
|
||||
<UniqueIdentifier>{21a337b6-7c4c-4375-86e6-fb668dce746e}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Release">
|
||||
<UniqueIdentifier>{65773ffc-5f94-4329-b62b-afc0b9e58efa}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="cigarette.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="dialogsetuppasswd.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="dialogsetup.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="basecamera.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SyncQueue.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="alg_jd.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="balluffcamera.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="plcsetup.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CaptureThread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="plc_item.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="db_label.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="alarmdialog.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="AlarmInfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="common.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="debugthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="dialogin.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ASyncQueue.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="baslercamera.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="workthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CaptureThreadBasler.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="hikcamera.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CaptureThreadHIK.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PLC\PLCDevice.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="threadSend.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="camera_glue.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="change_shift.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="output_statistic.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Logthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Cleanthread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="threadReceive.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="exportData.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="tinyxml2.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="threadSendTCP.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SyncWorkThread.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="cigarette.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="cigarette.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtRcc Include="cigarette.qrc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</QtRcc>
|
||||
<QtMoc Include="dialogsetuppasswd.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="dialogsetuppasswd.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="dialogsetup.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="dialogsetup.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="plcsetup.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="plcsetup.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="CaptureThread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="db_label.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="alarmdialog.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="alarmdialog.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="debugthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="dialogin.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="dialogin.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="workthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CaptureThreadBasler.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="savethread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="CaptureThreadHIK.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<CustomBuild Include="threadSend.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</CustomBuild>
|
||||
<QtMoc Include="camera_glue.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="camera_glue.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="change_shift.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="change_shift.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="output_statistic.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtUic Include="output_statistic.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</QtUic>
|
||||
<QtMoc Include="Logthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="Cleanthread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="threadReceive.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="exportData.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
<QtMoc Include="SyncWorkThread.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="basecamera.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SyncQueue.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="alg_jd.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="balluffcamera.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="plc_item.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="AlarmInfo.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ASyncQueue.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="baslercamera.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="hikcamera.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="PLC\PLCDevice.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="tinyxml2.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FtpManager.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="threadSendTCP.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<QTDIR>C:\Qt\5.15.2\msvc2019_64</QTDIR>
|
||||
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bD:\Qt\5.15.2\msvc2019_64\bin%3b$(PATH)</LocalDebuggerEnvironment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<QTDIR>C:\Qt\5.15.2\msvc2019_64</QTDIR>
|
||||
<LocalDebuggerEnvironment>PATH=$(QTDIR)\bin%3bD:\Qt\5.15.2\msvc2019_64\bin%3b$(PATH)</LocalDebuggerEnvironment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<QtLastBackgroundBuild>2024-06-18T03:41:53.0670120Z</QtLastBackgroundBuild>
|
||||
<QtTouchProperty>
|
||||
</QtTouchProperty>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<QtLastBackgroundBuild>2024-06-18T03:41:53.1118616Z</QtLastBackgroundBuild>
|
||||
<QtTouchProperty>
|
||||
</QtTouchProperty>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<QtLastBackgroundBuild>2024-06-18T03:41:53.3131922Z</QtLastBackgroundBuild>
|
||||
<QtTouchProperty>
|
||||
</QtTouchProperty>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<QtLastBackgroundBuild>2024-06-18T03:41:53.3450829Z</QtLastBackgroundBuild>
|
||||
<QtTouchProperty>
|
||||
</QtTouchProperty>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -0,0 +1,60 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>C:\Users\FD\AppData\Local\Temp\iige4dcj.z1o;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtGui;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtNetwork;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore;C:\Users\FD\AppData\Local\Temp\iige4dcj.z1o;/include;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_RUNTIME_>MultiThreadedDebugDLL</Qt_RUNTIME_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Widgetsd.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Guid.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Networkd.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Cored.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\qtmaind.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Qt5.14.2/Docs/Qt-5.14.2</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Qt5.14.2/Examples/Qt-5.14.2</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Qt5.14.2/Examples/Qt-5.14.2</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.14.2</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);.\GeneratedFiles\Debug;.\GeneratedFiles</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>5.14.2_msvc2017_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;network;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/Project/ItemDefinitionGroup/ClCompile/PreprocessorDefinitions;INCLUDEPATH=/Project/ItemDefinitionGroup/ClCompile/AdditionalIncludeDirectories;STDCPP=/Project/ItemDefinitionGroup/ClCompile/LanguageStandard;RUNTIME=/Project/ItemDefinitionGroup/ClCompile/RuntimeLibrary;CL_OPTIONS=/Project/ItemDefinitionGroup/ClCompile/AdditionalOptions;LIBS=/Project/ItemDefinitionGroup/Link/AdditionalDependencies;LINK_OPTIONS=/Project/ItemDefinitionGroup/Link/AdditionalOptions</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>debug</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.14.2</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>14</QtVersionMinor>
|
||||
<QtVersionPatch>2</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -0,0 +1,7 @@
|
||||
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
|
||||
QMAKE_CXX.QMAKE_MSC_VER = 1939
|
||||
QMAKE_CXX.QMAKE_MSC_FULL_VER = 193933523
|
||||
QMAKE_CXX.COMPILER_MACROS = \
|
||||
QT_COMPILER_STDCXX \
|
||||
QMAKE_MSC_VER \
|
||||
QMAKE_MSC_FULL_VER
|
@ -0,0 +1 @@
|
||||
C:\Users\FD\AppData\Local\Temp\o3qvo423.oqm.designtime.props
|
@ -0,0 +1 @@
|
||||
This is a dummy file needed to create ./moc_predefs.h
|
@ -0,0 +1,25 @@
|
||||
QT_SYSROOT:
|
||||
QT_INSTALL_PREFIX:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64
|
||||
QT_INSTALL_ARCHDATA:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64
|
||||
QT_INSTALL_DATA:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64
|
||||
QT_INSTALL_DOCS:C:/Qt/Qt5.14.2/Docs/Qt-5.14.2
|
||||
QT_INSTALL_HEADERS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include
|
||||
QT_INSTALL_LIBS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/lib
|
||||
QT_INSTALL_LIBEXECS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin
|
||||
QT_INSTALL_BINS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin
|
||||
QT_INSTALL_TESTS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/tests
|
||||
QT_INSTALL_PLUGINS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/plugins
|
||||
QT_INSTALL_IMPORTS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/imports
|
||||
QT_INSTALL_QML:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/qml
|
||||
QT_INSTALL_TRANSLATIONS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/translations
|
||||
QT_INSTALL_CONFIGURATION:
|
||||
QT_INSTALL_EXAMPLES:C:/Qt/Qt5.14.2/Examples/Qt-5.14.2
|
||||
QT_INSTALL_DEMOS:C:/Qt/Qt5.14.2/Examples/Qt-5.14.2
|
||||
QT_HOST_PREFIX:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64
|
||||
QT_HOST_DATA:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64
|
||||
QT_HOST_BINS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin
|
||||
QT_HOST_LIBS:C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/lib
|
||||
QMAKE_SPEC:win32-msvc
|
||||
QMAKE_XSPEC:win32-msvc
|
||||
QMAKE_VERSION:3.1
|
||||
QT_VERSION:5.14.2
|
@ -0,0 +1 @@
|
||||
Info: creating stash file C:\Users\FD\AppData\Local\Temp\iige4dcj.z1o\.qmake.stash
|
@ -0,0 +1,2 @@
|
||||
CONFIG += no_fixpath
|
||||
QT += core network gui widgets
|
@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid></ProjectGuid>
|
||||
<RootNamespace>qtvars</RootNamespace>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<OutputDirectory>.\</OutputDirectory>
|
||||
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
|
||||
<CharacterSet>NotSet</CharacterSet>
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PrimaryOutput>qtvars</PrimaryOutput>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings" />
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\</OutDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">qtvars</TargetName>
|
||||
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>C:\Users\FD\AppData\Local\Temp\iige4dcj.z1o;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtGui;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtNetwork;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore;C:\Users\FD\AppData\Local\Temp\iige4dcj.z1o;/include;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus %(AdditionalOptions)</AdditionalOptions>
|
||||
<AssemblerListingLocation>.\</AssemblerListingLocation>
|
||||
<BrowseInformation>false</BrowseInformation>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<ObjectFileName>.\</ObjectFileName>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_NETWORK_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessToFile>false</PreprocessToFile>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Widgetsd.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Guid.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Networkd.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Cored.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\qtmaind.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
|
||||
<DataExecutionPrevention>true</DataExecutionPrevention>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<IgnoreImportLibrary>true</IgnoreImportLibrary>
|
||||
<OutputFile>$(OutDir)\qtvars.exe</OutputFile>
|
||||
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</Link>
|
||||
<Midl>
|
||||
<DefaultCharType>Unsigned</DefaultCharType>
|
||||
<EnableErrorChecks>None</EnableErrorChecks>
|
||||
<WarningLevel>0</WarningLevel>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -BxC:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -W0 -E C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\features\data\dummy.cpp 2>NUL >moc_predefs.h</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">moc_predefs.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets" />
|
||||
</Project>
|
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="moc_predefs.h.cbt">
|
||||
<Filter>Generated Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,60 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_NETWORK_LIB;QT_CORE_LIB</Qt_DEFINES_>
|
||||
<Qt_INCLUDEPATH_>C:\Users\FD\AppData\Local\Temp\iige4dcj.z1o;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtWidgets;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtGui;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtANGLE;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtNetwork;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\include\QtCore;C:\Users\FD\AppData\Local\Temp\iige4dcj.z1o;/include;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
|
||||
<Qt_STDCPP_></Qt_STDCPP_>
|
||||
<Qt_RUNTIME_>MultiThreadedDebugDLL</Qt_RUNTIME_>
|
||||
<Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus</Qt_CL_OPTIONS_>
|
||||
<Qt_LIBS_>C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Widgetsd.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Guid.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Networkd.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\Qt5Cored.lib;C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\qtmaind.lib;shell32.lib</Qt_LIBS_>
|
||||
<Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
|
||||
<QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
|
||||
<QMake_QT_INSTALL_PREFIX_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_INSTALL_PREFIX_>
|
||||
<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_INSTALL_ARCHDATA_>
|
||||
<QMake_QT_INSTALL_DATA_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_INSTALL_DATA_>
|
||||
<QMake_QT_INSTALL_DOCS_>C:/Qt/Qt5.14.2/Docs/Qt-5.14.2</QMake_QT_INSTALL_DOCS_>
|
||||
<QMake_QT_INSTALL_HEADERS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/include</QMake_QT_INSTALL_HEADERS_>
|
||||
<QMake_QT_INSTALL_LIBS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/lib</QMake_QT_INSTALL_LIBS_>
|
||||
<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin</QMake_QT_INSTALL_LIBEXECS_>
|
||||
<QMake_QT_INSTALL_BINS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin</QMake_QT_INSTALL_BINS_>
|
||||
<QMake_QT_INSTALL_TESTS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/tests</QMake_QT_INSTALL_TESTS_>
|
||||
<QMake_QT_INSTALL_PLUGINS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/plugins</QMake_QT_INSTALL_PLUGINS_>
|
||||
<QMake_QT_INSTALL_IMPORTS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/imports</QMake_QT_INSTALL_IMPORTS_>
|
||||
<QMake_QT_INSTALL_QML_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/qml</QMake_QT_INSTALL_QML_>
|
||||
<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
|
||||
<QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
|
||||
<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Qt5.14.2/Examples/Qt-5.14.2</QMake_QT_INSTALL_EXAMPLES_>
|
||||
<QMake_QT_INSTALL_DEMOS_>C:/Qt/Qt5.14.2/Examples/Qt-5.14.2</QMake_QT_INSTALL_DEMOS_>
|
||||
<QMake_QT_HOST_PREFIX_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_HOST_PREFIX_>
|
||||
<QMake_QT_HOST_DATA_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64</QMake_QT_HOST_DATA_>
|
||||
<QMake_QT_HOST_BINS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/bin</QMake_QT_HOST_BINS_>
|
||||
<QMake_QT_HOST_LIBS_>C:/Qt/Qt5.14.2/5.14.2/msvc2017_64/lib</QMake_QT_HOST_LIBS_>
|
||||
<QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
|
||||
<QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
|
||||
<QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
|
||||
<QMake_QT_VERSION_>5.14.2</QMake_QT_VERSION_>
|
||||
<Qt_INCLUDEPATH_
|
||||
>$(Qt_INCLUDEPATH_);.\GeneratedFiles\Debug;.\GeneratedFiles</Qt_INCLUDEPATH_>
|
||||
<QtBkup_QtInstall
|
||||
>5.14.2_msvc2017_64</QtBkup_QtInstall>
|
||||
<QtBkup_QtModules
|
||||
>core;network;gui;widgets</QtBkup_QtModules>
|
||||
<QtBkup_QtPathBinaries
|
||||
>bin</QtBkup_QtPathBinaries>
|
||||
<QtBkup_QtPathLibraryExecutables
|
||||
>bin</QtBkup_QtPathLibraryExecutables>
|
||||
<QtBkup_QtHeaderSearchPath
|
||||
></QtBkup_QtHeaderSearchPath>
|
||||
<QtBkup_QtLibrarySearchPath
|
||||
></QtBkup_QtLibrarySearchPath>
|
||||
<QtBkup_QtVars
|
||||
>DEFINES=/Project/ItemDefinitionGroup/ClCompile/PreprocessorDefinitions;INCLUDEPATH=/Project/ItemDefinitionGroup/ClCompile/AdditionalIncludeDirectories;STDCPP=/Project/ItemDefinitionGroup/ClCompile/LanguageStandard;RUNTIME=/Project/ItemDefinitionGroup/ClCompile/RuntimeLibrary;CL_OPTIONS=/Project/ItemDefinitionGroup/ClCompile/AdditionalOptions;LIBS=/Project/ItemDefinitionGroup/Link/AdditionalDependencies;LINK_OPTIONS=/Project/ItemDefinitionGroup/Link/AdditionalOptions</QtBkup_QtVars>
|
||||
<QtBkup_QMakeCodeLines
|
||||
></QtBkup_QMakeCodeLines>
|
||||
<QtBkup_QtBuildConfig
|
||||
>debug</QtBkup_QtBuildConfig>
|
||||
<QtVersion>5.14.2</QtVersion>
|
||||
<QtVersionMajor>5</QtVersionMajor>
|
||||
<QtVersionMinor>14</QtVersionMinor>
|
||||
<QtVersionPatch>2</QtVersionPatch>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
#include <QObject>
|
||||
class CleanWorkThread : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CleanWorkThread(QObject* parent = nullptr);
|
||||
~CleanWorkThread();
|
||||
public slots:
|
||||
void startWork();
|
||||
void startWorkAuto();
|
||||
void doWork();
|
||||
void setSelAuto();
|
||||
void setSel();
|
||||
signals:
|
||||
void workFinished();
|
||||
void workStart();
|
||||
void workStartAuto();
|
||||
public:
|
||||
qint64 DirFileSize(const QString& path);
|
||||
void CleanImageFile(const QString& path, const qint64& delDays);
|
||||
private:
|
||||
int delSelection;
|
||||
};
|
@ -0,0 +1,27 @@
|
||||
#include "CommonGUIFunctions.h"
|
||||
|
||||
#include "wxIncludePrologue.h"
|
||||
#include <wx/progdlg.h>
|
||||
#include "wxIncludeEpilogue.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void UpdateDeviceListWithProgressMessage( wxWindow* pParent, const mvIMPACT::acquire::DeviceManager& devMgr )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
static const int MAX_TIME_MS = 10000;
|
||||
wxProgressDialog progressDialog( wxT( "Scanning For Drivers, Interfaces and Devices" ),
|
||||
wxT( "Scanning for drivers, interfaces and devices...\n\nThis dialog will disappear automatically once this operation completes!" ),
|
||||
MAX_TIME_MS, // range
|
||||
pParent,
|
||||
wxPD_AUTO_HIDE | wxPD_APP_MODAL | wxPD_ELAPSED_TIME );
|
||||
UpdateDeviceListThread thread( devMgr );
|
||||
thread.Create();
|
||||
thread.Run();
|
||||
while( thread.IsRunning() )
|
||||
{
|
||||
wxMilliSleep( 100 );
|
||||
progressDialog.Pulse();
|
||||
}
|
||||
thread.Wait();
|
||||
progressDialog.Update( MAX_TIME_MS );
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef CommonGUIFunctionsH
|
||||
#define CommonGUIFunctionsH CommonGUIFunctionsH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <mvIMPACT_CPP/mvIMPACT_acquire.h>
|
||||
|
||||
#include "wxIncludePrologue.h"
|
||||
#include <wx/thread.h>
|
||||
#include "wxIncludeEpilogue.h"
|
||||
|
||||
class wxWindow;
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation UpdateDeviceListThread =====================
|
||||
//=============================================================================
|
||||
//------------------------------------------------------------------------------
|
||||
class UpdateDeviceListThread : public wxThread
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
const mvIMPACT::acquire::DeviceManager& devMgr_;
|
||||
protected:
|
||||
void* Entry( void )
|
||||
{
|
||||
devMgr_.updateDeviceList();
|
||||
return 0;
|
||||
}
|
||||
public:
|
||||
explicit UpdateDeviceListThread( const mvIMPACT::acquire::DeviceManager& devMgr ) : wxThread( wxTHREAD_JOINABLE ),
|
||||
devMgr_( devMgr ) {}
|
||||
};
|
||||
|
||||
void UpdateDeviceListWithProgressMessage( wxWindow* pParent, const mvIMPACT::acquire::DeviceManager& devMgr );
|
||||
|
||||
#endif // CommonGUIFunctionsH
|
@ -0,0 +1,12 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef InfoH
|
||||
#define InfoH InfoH
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#define COMPANY_NAME wxT("MATRIX VISION GmbH")
|
||||
#define COMPANY_WEBSITE wxT("www.matrix-vision.com")
|
||||
#define COMPANY_SUPPORT_MAIL wxT("mailto:support@matrix-vision.com")
|
||||
#define CURRENT_YEAR wxT("2020")
|
||||
#define VERSION_STRING wxT("2.39.0.2982")
|
||||
|
||||
#endif // InfoH
|
@ -0,0 +1,22 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef ProxyResolverContextH
|
||||
#define ProxyResolverContextH ProxyResolverContextH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <string>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class ProxyResolverContext
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
struct ProxyResolverContextImpl* pImpl_;
|
||||
public:
|
||||
explicit ProxyResolverContext( const std::wstring& userAgent = std::wstring(), const std::wstring& url = std::wstring() );
|
||||
~ProxyResolverContext();
|
||||
|
||||
std::wstring GetProxy( unsigned int index ) const;
|
||||
unsigned int GetProxyPort( unsigned int index ) const;
|
||||
};
|
||||
|
||||
bool IsCurrentUserLocalAdministrator( void );
|
||||
|
||||
#endif // ProxyResolverContextH
|
@ -0,0 +1,39 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifndef aviexceptionH
|
||||
#define aviexceptionH aviexceptionH
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include <string>
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
class AVIException
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
public:
|
||||
virtual const char* what() const = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
class AEUnsupportedCodec : public AVIException
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
public:
|
||||
const char* what() const
|
||||
{
|
||||
return "Unsupported codec";
|
||||
}
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
class AVIWrapperException : public AVIException
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
std::string m_errorString;
|
||||
public:
|
||||
AVIWrapperException( const char* pError ) : m_errorString( pError ) {}
|
||||
const char* what() const
|
||||
{
|
||||
return m_errorString.c_str();
|
||||
}
|
||||
};
|
||||
|
||||
#endif // aviexceptionH
|
@ -0,0 +1,173 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include "avihelper.h"
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
using namespace std;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Builds an error string from an AVI error code.
|
||||
\param error The error code to be converted.
|
||||
|
||||
Helper function to convert an AVI error code into a string.
|
||||
*/
|
||||
string AVIErrorToString( HRESULT error )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
string errormsg( "AVI error '" );
|
||||
switch( error )
|
||||
{
|
||||
case AVIERR_BADFLAGS :
|
||||
errormsg.append( "AVIERR_BADFLAGS" );
|
||||
break;
|
||||
case AVIERR_BADFORMAT :
|
||||
errormsg.append( "AVIERR_BADFORMAT" );
|
||||
break;
|
||||
case AVIERR_BADHANDLE :
|
||||
errormsg.append( "AVIERR_BADHANDLE" );
|
||||
break;
|
||||
case AVIERR_BADPARAM :
|
||||
errormsg.append( "AVIERR_BADPARAM" );
|
||||
break;
|
||||
case AVIERR_BADSIZE :
|
||||
errormsg.append( "AVIERR_BADSIZE" );
|
||||
break;
|
||||
case AVIERR_BUFFERTOOSMALL :
|
||||
errormsg.append( "AVIERR_BUFFERTOOSMALL" );
|
||||
break;
|
||||
case AVIERR_CANTCOMPRESS :
|
||||
errormsg.append( "AVIERR_CANTCOMPRESS" );
|
||||
break;
|
||||
case AVIERR_COMPRESSOR :
|
||||
errormsg.append( "AVIERR_COMPRESSOR" );
|
||||
break;
|
||||
case AVIERR_NOCOMPRESSOR :
|
||||
errormsg.append( "AVIERR_NOCOMPRESSOR" );
|
||||
break;
|
||||
case AVIERR_NODATA :
|
||||
errormsg.append( "AVIERR_NODATA" );
|
||||
break;
|
||||
case AVIERR_FILEOPEN :
|
||||
errormsg.append( "AVIERR_FILEOPEN" );
|
||||
break;
|
||||
case AVIERR_FILEREAD :
|
||||
errormsg.append( "AVIERR_FILEREAD" );
|
||||
break;
|
||||
case AVIERR_FILEWRITE :
|
||||
errormsg.append( "AVIERR_FILEWRITE" );
|
||||
break;
|
||||
case AVIERR_INTERNAL :
|
||||
errormsg.append( "AVIERR_INTERNAL" );
|
||||
break;
|
||||
case AVIERR_MEMORY :
|
||||
errormsg.append( "AVIERR_MEMORY" );
|
||||
break;
|
||||
case AVIERR_READONLY :
|
||||
errormsg.append( "AVIERR_READONLY" );
|
||||
break;
|
||||
case AVIERR_UNSUPPORTED :
|
||||
errormsg.append( "AVIERR_UNSUPPORTED" );
|
||||
break;
|
||||
case AVIERR_USERABORT :
|
||||
errormsg.append( "AVIERR_USERABORT" );
|
||||
break;
|
||||
case REGDB_E_CLASSNOTREG :
|
||||
errormsg.append( "REGDB_E_CLASSNOTREG" );
|
||||
break;
|
||||
default:
|
||||
return "Unrecognized error";
|
||||
}
|
||||
return( errormsg.append( "' occurred" ) );
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Builds a test image.
|
||||
\param pData Pointer to the memory in which to build the test image.
|
||||
\param width The width of the test image.
|
||||
\param height The height of the test image.
|
||||
\param bytespp The bytes per pixel of the test image.
|
||||
|
||||
This function is only needed for testing purposes. It builds a moving vertical
|
||||
grey ramp in the memory pointed to by \e pData. In each new image will move one
|
||||
pixel to the right in order to simulate movement.
|
||||
*/
|
||||
void BuildTestImage( unsigned char* pData, int width, int height, int bytespp )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
static int count = 0;
|
||||
unsigned char* p = pData;
|
||||
|
||||
for( int i = 0; i < height; i++ )
|
||||
{
|
||||
for( int j = 0; j < width; j++ )
|
||||
{
|
||||
for( int x = 0; x < bytespp; x++ )
|
||||
{
|
||||
p[x] = static_cast<unsigned char>( j + count % 256 );
|
||||
}
|
||||
p += bytespp;
|
||||
}
|
||||
}
|
||||
++count;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Convertes a user selected codec into the corresponding 4 character code
|
||||
\param codec The codec to be converted.
|
||||
*/
|
||||
DWORD CodecToFourccCode( CODEC_T codec )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
switch( codec )
|
||||
{
|
||||
case codecNoCompression:
|
||||
return mmioFOURCC( 'D', 'I', 'B', ' ' );
|
||||
case codecMorganMjpg:
|
||||
return mmioFOURCC( 'M', 'J', 'P', 'G' );
|
||||
case codecMorganMjpg2000:
|
||||
return mmioFOURCC( 'M', 'J', '2', 'C' );
|
||||
case codecIntelJpg:
|
||||
return mmioFOURCC( 'M', 'J', 'P', 'G' );
|
||||
case codecHuffYUV:
|
||||
return mmioFOURCC( 'H', 'F', 'Y', 'U' );
|
||||
case codecDivx5:
|
||||
return mmioFOURCC( 'd', 'i', 'v', 'x' );
|
||||
case codec3ivx:
|
||||
return mmioFOURCC( '3', 'i', 'v', '2' );
|
||||
case codecMjpg2:
|
||||
return mmioFOURCC( 'e', 'm', '2', 'v' );
|
||||
case codecPicVideoWavelet:
|
||||
return mmioFOURCC( 'p', 'v', 'w', '2' );
|
||||
case codecPicVideoMjpg:
|
||||
return mmioFOURCC( 'm', 'j', 'p', 'x' );
|
||||
case codecPicVideoLossLessJpg:
|
||||
return mmioFOURCC( 'p', 'i', 'm', 'j' );
|
||||
case codecMSVideo:
|
||||
return mmioFOURCC( 'm', 's', 'v', 'c' );
|
||||
case codecMSRle:
|
||||
return mmioFOURCC( 'm', 'r', 'l', 'e' );
|
||||
case codecMSH263:
|
||||
return mmioFOURCC( 'm', '2', '6', '3' );
|
||||
case codecMSH261:
|
||||
return mmioFOURCC( 'm', '2', '6', '1' );
|
||||
case codecIntelVidR32:
|
||||
return mmioFOURCC( 'i', 'v', '3', '2' );
|
||||
case codecIntelIndeo510:
|
||||
return mmioFOURCC( 'i', 'v', '5', '0' );
|
||||
case codecDivxMjpg4lm:
|
||||
return mmioFOURCC( 'd', 'i', 'v', '3' );
|
||||
case codecDivxMjpg4fm:
|
||||
return mmioFOURCC( 'd', 'i', 'v', '4' );
|
||||
case codecCinepack:
|
||||
return mmioFOURCC( 'c', 'v', 'i', 'd' );
|
||||
case codecMSMpeg4:
|
||||
return mmioFOURCC( 'm', 'p', 'g', '4' );
|
||||
case codecMax:
|
||||
return mmioFOURCC( 'D', 'I', 'B', ' ' );
|
||||
default:
|
||||
break;
|
||||
}
|
||||
throw AEUnsupportedCodec();
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifndef avihelperH
|
||||
#define avihelperH avihelperH
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include <windows.h>
|
||||
#include <Vfw.h>
|
||||
#include "aviexception.h"
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
/*!
|
||||
\brief The codecs recognized by the \b AVIWrapper class.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
codecNoCompression = 0,
|
||||
codecMorganMjpg = 1,
|
||||
codecMorganMjpg2000 = 2,
|
||||
codecIntelJpg = 3,
|
||||
codecHuffYUV = 4,
|
||||
codecDivx5 = 5,
|
||||
codec3ivx = 6,
|
||||
codecMjpg2 = 7,
|
||||
codecPicVideoWavelet = 8,
|
||||
codecPicVideoMjpg = 9,
|
||||
codecPicVideoLossLessJpg = 10,
|
||||
codecMSVideo = 11,
|
||||
codecMSRle = 12,
|
||||
codecMSH263 = 13,
|
||||
codecMSH261 = 14,
|
||||
codecIntelVidR32 = 15,
|
||||
codecIntelIndeo510 = 16,
|
||||
codecDivxMjpg4lm = 17,
|
||||
codecDivxMjpg4fm = 18,
|
||||
codecCinepack = 19,
|
||||
codecMSMpeg4 = 20,
|
||||
codecMax
|
||||
} CODEC_T;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
std::string AVIErrorToString( HRESULT error );
|
||||
void BuildTestImage( unsigned char* pData, int width, int height, int bytespp );
|
||||
DWORD CodecToFourccCode( CODEC_T codec );
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // avihelperH
|
@ -0,0 +1,293 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include "aviwrapper.h"
|
||||
#include <cassert>
|
||||
#include <common/crt/mvstring.h>
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
/*!
|
||||
\class AVIWrapper
|
||||
\brief Provides an easy way to create and use *.avi-files.
|
||||
|
||||
This class is meant to provide easy access to the AVI file functions. It can be used to generate
|
||||
an AVI stream with only a few lines of code.
|
||||
|
||||
Three general methods are supported:
|
||||
|
||||
- Creation of an AVI stream using the standard Windows compression options dialog (interactively)
|
||||
- Creation of an AVI stream specifying a codec handler, quality settings and image dimensions
|
||||
(not interactively)
|
||||
- Creation of an AVI stream from images which are already in jpeg format.
|
||||
*/
|
||||
|
||||
unsigned int AVIWrapper::m_usageCount = 0;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Constructs a new \b AVIWrapper object.
|
||||
\param filename The filename of the AVI file to be created or \e 0 if no file shall be
|
||||
created.
|
||||
\param mode The access mode for this file.
|
||||
|
||||
Opens and creates an AVI file in the mode specified by the \e mode parameter if
|
||||
a filename has been specified. See MSDN for details about the available modes.
|
||||
*/
|
||||
AVIWrapper::AVIWrapper( const char* pFilename /* = 0 */, UINT mode /* = OF_READ */ ) :
|
||||
m_AVIStreamFrameCounter( 0 ), m_pAVIFile( 0 ), m_pAVIStream( 0 ), m_pAVIStreamCompressed( 0 ),
|
||||
m_codec( CodecToFourccCode( codecNoCompression ) )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
if( m_usageCount == 0 )
|
||||
{
|
||||
AVIFileInit();
|
||||
}
|
||||
++m_usageCount;
|
||||
if( pFilename )
|
||||
{
|
||||
HRESULT result = AVIFileOpen( &m_pAVIFile, pFilename, mode, 0 );
|
||||
if( result == AVIERR_OK )
|
||||
{
|
||||
result = AVIFileGetStream( m_pAVIFile, &m_pAVIStream, streamtypeVIDEO, 0 );
|
||||
}
|
||||
if( result != AVIERR_OK )
|
||||
{
|
||||
AVIFileExit();
|
||||
throw AVIWrapperException( AVIErrorToString( result ).c_str() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
AVIWrapper::~AVIWrapper( void )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
if( m_pAVIFile )
|
||||
{
|
||||
CloseStreamsAndFiles();
|
||||
}
|
||||
--m_usageCount;
|
||||
if( m_usageCount == 0 )
|
||||
{
|
||||
AVIFileExit();
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Closes the AVI file again.
|
||||
|
||||
Closes all open streams and the AVI file itself. At the moment only one stream can be opened
|
||||
at the same time.
|
||||
*/
|
||||
void AVIWrapper::CloseAVIFile( void )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
if( !m_pAVIFile )
|
||||
{
|
||||
throw AVIWrapperException( "CloseAVIFile: No file has been opened so far" );
|
||||
}
|
||||
CloseStreamsAndFiles();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Closes all open stream and the AVI file itself.
|
||||
*/
|
||||
void AVIWrapper::CloseStreamsAndFiles( void )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
if( m_pAVIStream )
|
||||
{
|
||||
AVIStreamRelease( m_pAVIStream );
|
||||
}
|
||||
if( m_pAVIStreamCompressed )
|
||||
{
|
||||
AVIStreamRelease( m_pAVIStreamCompressed );
|
||||
}
|
||||
if( m_pAVIFile )
|
||||
{
|
||||
AVIFileRelease( m_pAVIFile );
|
||||
}
|
||||
m_pAVIStream = 0;
|
||||
m_pAVIStreamCompressed = 0;
|
||||
m_pAVIFile = 0;
|
||||
m_AVIStreamFrameCounter = 0;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Creates an AVI stream from DIB images.
|
||||
\param w The width of the images to be stored in the stream
|
||||
\param h The height of the images to be stored in the stream
|
||||
\param sampleRate The frames per second entry in the AVI header
|
||||
\param quality The JPEG quality (from 0 - 10000)
|
||||
\param name The name of the stream in the file
|
||||
\param codec The codec to be used for the compression of the DIB data. Pass \e codecMax if
|
||||
you want to select a codec from the standard Windows compression dialog or
|
||||
a valid codec from the \b CODEC_T enumeration.
|
||||
|
||||
Use this function to create a compressed or uncompressed AVI stream from images in DIB/Bitmap
|
||||
format. The images can be stored in a compressed format defined by the specified compression
|
||||
handler.
|
||||
|
||||
If your images are already in JPEG format use the function <b>AVIWrapper::CreateAVIStreamFromJPEGs()</b>
|
||||
instead.
|
||||
*/
|
||||
void AVIWrapper::CreateAVIStreamFromDIBs( int w, int h, int bitcount, DWORD sampleRate, DWORD quality, const char* pName /*= "default"*/, CODEC_T codec /*= codecMax*/ )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
BITMAPINFOHEADER BmpHeader;
|
||||
SetupStreamStructs( BmpHeader, w, h, bitcount, sampleRate, quality, pName, codec );
|
||||
BmpHeader.biCompression = BI_RGB;
|
||||
AVICOMPRESSOPTIONS* opts[1] = {&m_AVICompressionOptions};
|
||||
memset( &m_AVICompressionOptions, 0, sizeof( AVICOMPRESSOPTIONS ) );
|
||||
PAVISTREAM streams[1] = {m_pAVIStream};
|
||||
|
||||
if( codec == codecMax )
|
||||
{
|
||||
// show windows compression handler dialog
|
||||
AVISaveOptions( 0, 0, 1, ( PAVISTREAM* )&streams, ( LPAVICOMPRESSOPTIONS* )&opts );
|
||||
}
|
||||
else // fill AVICOMPRESSOPTIONS with user parameters
|
||||
{
|
||||
m_codec = codec;
|
||||
opts[0]->fccType = streamtypeVIDEO;
|
||||
opts[0]->fccHandler = CodecToFourccCode( codec );
|
||||
opts[0]->dwQuality = quality;
|
||||
opts[0]->dwFlags = AVICOMPRESSF_VALID;
|
||||
}
|
||||
m_codec = opts[0]->fccHandler;
|
||||
HRESULT result = AVIMakeCompressedStream( &m_pAVIStreamCompressed, m_pAVIStream, &m_AVICompressionOptions, NULL );
|
||||
if( result == AVIERR_OK )
|
||||
{
|
||||
result = AVIStreamSetFormat( m_pAVIStreamCompressed, 0, &BmpHeader, sizeof( BITMAPINFOHEADER ) );
|
||||
}
|
||||
if( result != AVIERR_OK )
|
||||
{
|
||||
CloseStreamsAndFiles();
|
||||
throw AVIWrapperException( AVIErrorToString( result ).c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Creates an AVI stream from JPEG images.
|
||||
\param w The width of the images to be stored in the stream
|
||||
\param h The height of the images to be stored in the stream
|
||||
\param sampleRate The frames per second entry in the AVI header
|
||||
\param quality The JPEG quality (from 0 - 10000)
|
||||
\param name The name of the stream in the file
|
||||
|
||||
Use this function to create a MJPEG stream from images which are already in JPEG format.
|
||||
|
||||
To create an AVI stream from images in DIB format use the function
|
||||
<b>AVIWrapper::CreateAVIStreamFromDIBs()</b> instead.
|
||||
*/
|
||||
void AVIWrapper::CreateAVIStreamFromJPEGs( int w, int h, int bitcount, DWORD sampleRate, DWORD quality, const char* pName /*= "default"*/ )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
// no 'handler' compression! This section works for already compressed images
|
||||
BITMAPINFOHEADER BmpHeader;
|
||||
SetupStreamStructs( BmpHeader, w, h, bitcount, sampleRate, quality, pName, codecMorganMjpg );
|
||||
BmpHeader.biCompression = CodecToFourccCode( codecMorganMjpg );
|
||||
const HRESULT result = AVIStreamSetFormat( m_pAVIStream, 0, &BmpHeader, sizeof( BITMAPINFOHEADER ) );
|
||||
if( result != AVIERR_OK )
|
||||
{
|
||||
CloseStreamsAndFiles();
|
||||
throw AVIWrapperException( AVIErrorToString( result ).c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Opens an AVI file.
|
||||
\param filename The name of the file to be created/opened/used.
|
||||
\param mode The access mode for this file.
|
||||
|
||||
Opens and creates an AVI file in the mode specified by the \e mode parameter
|
||||
See MSDN for details about the available modes.
|
||||
*/
|
||||
void AVIWrapper::OpenAVIFile( const char* pFilename, UINT mode /* = OF_READ */ )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
if( m_pAVIFile )
|
||||
{
|
||||
throw AVIWrapperException( "OpenAVIFile: Another file has been opened already" );
|
||||
}
|
||||
if( !pFilename )
|
||||
{
|
||||
throw AVIWrapperException( "OpenAVIFile: No valid filename has been specified" );
|
||||
}
|
||||
const HRESULT result = AVIFileOpen( &m_pAVIFile, pFilename, mode, 0 );
|
||||
if( result != AVIERR_OK )
|
||||
{
|
||||
throw AVIWrapperException( AVIErrorToString( result ).c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
/*!
|
||||
\brief Stores one image in the AVI stream
|
||||
\param data Pointer to the image data
|
||||
\param size Size (in bytes) of the memory block pointed to by \e data
|
||||
|
||||
This function stores one image in the specified stream.
|
||||
*/
|
||||
void AVIWrapper::SaveDataToAVIStream( unsigned char* pData, int size )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
PAVISTREAM pAVIStream = ( m_pAVIStreamCompressed ) ? m_pAVIStreamCompressed : m_pAVIStream;
|
||||
if( !pAVIStream )
|
||||
{
|
||||
throw AVIWrapperException( "SaveDataToAVIStream: Stream pointer invalid" );
|
||||
}
|
||||
const HRESULT result = AVIStreamWrite( pAVIStream, m_AVIStreamFrameCounter++, 1, pData, size, AVIIF_KEYFRAME, 0, 0 );
|
||||
if( result != AVIERR_OK )
|
||||
{
|
||||
throw AVIWrapperException( AVIErrorToString( result ).c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
void AVIWrapper::SetupStreamStructs( BITMAPINFOHEADER& BmpHeader, int w, int h, int bitcount, DWORD sampleRate, DWORD quality, const char* pName /*= "default"*/, CODEC_T codec /*= codecMax*/ )
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
if( !m_pAVIFile )
|
||||
{
|
||||
throw AVIWrapperException( "CreateNewAVIStream: No file has been opened so far" );
|
||||
}
|
||||
if( strlen( pName ) > sizeof( m_AVIStreamInfo.szName ) )
|
||||
{
|
||||
throw AVIWrapperException( "CreateNewAVIStream: stream name too long" );
|
||||
}
|
||||
if( m_pAVIStream || m_pAVIStreamCompressed )
|
||||
{
|
||||
throw AVIWrapperException( "CreateNewAVIStream: There is already an open stream" );
|
||||
}
|
||||
// setup AVISTREAMINFO structure
|
||||
memset( &m_AVIStreamInfo, 0, sizeof( AVISTREAMINFO ) );
|
||||
m_AVIStreamInfo.fccType = streamtypeVIDEO;
|
||||
m_AVIStreamInfo.fccHandler = CodecToFourccCode( codec );
|
||||
m_AVIStreamInfo.wPriority = 10;
|
||||
m_AVIStreamInfo.dwScale = 1;
|
||||
m_AVIStreamInfo.dwRate = sampleRate;
|
||||
m_AVIStreamInfo.dwQuality = quality;
|
||||
m_AVIStreamInfo.rcFrame.right = w;
|
||||
m_AVIStreamInfo.rcFrame.bottom = h;
|
||||
mv_strncpy_s( m_AVIStreamInfo.szName, pName, sizeof( m_AVIStreamInfo.szName ) );
|
||||
|
||||
const HRESULT result = AVIFileCreateStream( m_pAVIFile, &m_pAVIStream, &m_AVIStreamInfo );
|
||||
if( result != AVIERR_OK )
|
||||
{
|
||||
throw AVIWrapperException( AVIErrorToString( result ).c_str() );
|
||||
}
|
||||
// setup BITMAPINFOHEADER structure
|
||||
memset( &BmpHeader, 0, sizeof( BITMAPINFOHEADER ) );
|
||||
BmpHeader.biSize = sizeof( BITMAPINFOHEADER );
|
||||
BmpHeader.biWidth = w;
|
||||
BmpHeader.biHeight = h;
|
||||
BmpHeader.biPlanes = 1;
|
||||
BmpHeader.biBitCount = static_cast<WORD>( bitcount );
|
||||
|
||||
// setup internals
|
||||
m_AVIStreamFrameCounter = 0;
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
//----------------------------------------------------------------------------------------
|
||||
#ifndef aviwrapperH
|
||||
#define aviwrapperH aviwrapperH
|
||||
//----------------------------------------------------------------------------------------
|
||||
#include "avihelper.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
class AVIWrapper
|
||||
//----------------------------------------------------------------------------------------
|
||||
{
|
||||
// member data
|
||||
/// Keeps track about the number of images stored in the actual stream
|
||||
int m_AVIStreamFrameCounter;
|
||||
/// pointer to the structure describing the AVI-file
|
||||
PAVIFILE m_pAVIFile;
|
||||
/// pointer to an uncompressed AVI stream
|
||||
PAVISTREAM m_pAVIStream;
|
||||
/// pointer to a compressed AVI stream (this is used when a compression handler is used)
|
||||
PAVISTREAM m_pAVIStreamCompressed;
|
||||
/// A structure containing information about the AVI stream
|
||||
AVISTREAMINFO m_AVIStreamInfo;
|
||||
/// A structure for storing the compression options of the AVI stream
|
||||
AVICOMPRESSOPTIONS m_AVICompressionOptions;
|
||||
/// The used codec
|
||||
DWORD m_codec;
|
||||
/// Usage count for this class
|
||||
static unsigned int m_usageCount;
|
||||
// functions
|
||||
void CloseStreamsAndFiles( void );
|
||||
void SetupStreamStructs( BITMAPINFOHEADER& BmpHeader, int w, int h, int bitcount, DWORD sampleRate, DWORD quality, const char* pName = "default", CODEC_T codec = codecMax );
|
||||
/// Do not allow copy construction
|
||||
AVIWrapper( const AVIWrapper& scr );
|
||||
public:
|
||||
// construction/destruction
|
||||
explicit AVIWrapper( const char* pFilename = 0, UINT mode = OF_READ );
|
||||
~AVIWrapper( void );
|
||||
|
||||
// user interface
|
||||
void CloseAVIFile( void );
|
||||
void CreateAVIStreamFromDIBs( int w, int h, int bitcount, DWORD sampleRate, DWORD quality, const char* pName = "default", CODEC_T codec = codecMax );
|
||||
void CreateAVIStreamFromJPEGs( int w, int h, int bitcount, DWORD sampleRate, DWORD quality, const char* pName = "default" );
|
||||
const char* GetStreamName( void ) const
|
||||
{
|
||||
return m_AVIStreamInfo.szName;
|
||||
}
|
||||
bool UsesCompressionHandler( void ) const
|
||||
{
|
||||
return m_codec != CodecToFourccCode( codecNoCompression );
|
||||
}
|
||||
void OpenAVIFile( const char* pFilename, UINT mode = OF_READ );
|
||||
void SaveDataToAVIStream( unsigned char* pData, int size );
|
||||
};
|
||||
|
||||
#endif // aviwrapperH
|
@ -0,0 +1,545 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef exampleHelperH
|
||||
#define exampleHelperH exampleHelperH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <mvIMPACT_CPP/mvIMPACT_acquire.h>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
template<class _Ty>
|
||||
class DisplayDictEntry
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
public:
|
||||
void operator()( const std::pair<std::string, _Ty>& data ) const
|
||||
{
|
||||
std::cout << " [" << data.second << "]: " << data.first << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class DisplayComponent
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
public:
|
||||
void operator()( const Component& data ) const
|
||||
{
|
||||
if( data.isValid() )
|
||||
{
|
||||
std::cout << " " << data.name() << "(" << data.typeAsString() << ")" << std::endl;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
class DisplayProperty
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
public:
|
||||
void operator()( const std::pair<std::string, mvIMPACT::acquire::Property>& data ) const
|
||||
{
|
||||
if( data.second.isValid() )
|
||||
{
|
||||
std::cout << data.first << ": " << data.second.readSArray() << "(" << data.second.flagsAsString() << ")" << std::endl;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
template<class _Ty>
|
||||
void DisplayPropertyDictionary( const mvIMPACT::acquire::Property& p )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
_Ty prop( p );
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1300) // is 'old' VC 6 Microsoft compiler?
|
||||
std::vector<std::pair<std::string, _Ty::value_type> > dict;
|
||||
prop.getTranslationDict( dict );
|
||||
std::for_each( dict.begin(), dict.end(), DisplayDictEntry<_Ty::value_type>() );
|
||||
#else
|
||||
std::vector<std::pair<std::string, typename _Ty::value_type> > dict;
|
||||
prop.getTranslationDict( dict );
|
||||
std::for_each( dict.begin(), dict.end(), DisplayDictEntry<typename _Ty::value_type>() );
|
||||
#endif // #ifdef _MSC_VER
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// \brief Checks is a certain value for property is supported.
|
||||
template<class _Tx>
|
||||
bool supportsEnumStringValue( const _Tx& prop, const std::string& value )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( prop.hasDict() )
|
||||
{
|
||||
typename std::vector<std::string> sequence;
|
||||
prop.getTranslationDictStrings( sequence );
|
||||
return std::find( sequence.begin(), sequence.end(), value ) != sequence.end();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// \brief Checks is a certain value for property is supported.
|
||||
template<class _Tx, typename _Ty>
|
||||
bool supportsValue( const _Tx& prop, const _Ty& value )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( prop.hasDict() )
|
||||
{
|
||||
typename std::vector<_Ty> sequence;
|
||||
prop.getTranslationDictValues( sequence );
|
||||
return std::find( sequence.begin(), sequence.end(), value ) != sequence.end();
|
||||
}
|
||||
|
||||
if( prop.hasMinValue() && ( prop.getMinValue() > value ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if( prop.hasMaxValue() && ( prop.getMaxValue() < value ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// \brief Sets a property to a certain value if this value is supported.
|
||||
template<typename _Ty, typename _Tx>
|
||||
void conditionalSetProperty( const _Ty& prop, const _Tx& value, bool boSilent = false )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( prop.isValid() && prop.isWriteable() && supportsValue( prop, value ) )
|
||||
{
|
||||
prop.write( value );
|
||||
if( !boSilent )
|
||||
{
|
||||
std::cout << "Property '" << prop.name() << "' set to '" << prop.readS() << "'." << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// \brief Sets a property to a certain value if this value is supported.
|
||||
template<typename _Ty>
|
||||
void conditionalSetEnumPropertyByString( const _Ty& prop, const std::string& value, bool boSilent = false )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( prop.isValid() && prop.isWriteable() && supportsEnumStringValue( prop, value ) )
|
||||
{
|
||||
prop.writeS( value );
|
||||
if( !boSilent )
|
||||
{
|
||||
std::cout << "Property '" << prop.name() << "' set to '" << prop.readS() << "'." << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// This function makes heavy use of strings. In real world applications
|
||||
/// this can be avoided if optimal performance is crucial. All properties can be modified
|
||||
/// via strings, but most properties can also be modified with numerical (int / double )
|
||||
/// values, which is much faster, but not as descriptive for a sample application
|
||||
inline void displayPropertyData( const mvIMPACT::acquire::Property& prop )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
const std::string name( prop.name() );
|
||||
std::cout << std::endl
|
||||
<< "Property '" << name << "'(display name: '" << prop.displayName() << "', type: " << prop.typeAsString() << ") currently specifies the following flags: " << prop.flagsAsString() << std::endl
|
||||
<< std::endl;
|
||||
const std::string doc( prop.docString() );
|
||||
if( !doc.empty() )
|
||||
{
|
||||
std::cout << "The following documentation has been reported by the driver for this feature: " << std::endl
|
||||
<< doc << std::endl
|
||||
<< std::endl;
|
||||
}
|
||||
if( prop.selectedFeatureCount() > 0 )
|
||||
{
|
||||
std::vector<Component> selectedFeatureList;
|
||||
prop.selectedFeatures( selectedFeatureList );
|
||||
std::cout << "The following features are selected by this feature(Whenever the current feature is modified, all selected features might change):" << std::endl;
|
||||
std::for_each( selectedFeatureList.begin(), selectedFeatureList.end(), DisplayComponent() );
|
||||
std::cout << std::endl;
|
||||
}
|
||||
if( prop.selectingFeatureCount() > 0 )
|
||||
{
|
||||
std::vector<Component> selectingFeatureList;
|
||||
prop.selectingFeatures( selectingFeatureList );
|
||||
std::cout << "The following features select this feature(Whenever a selecting features is modified, a selected one might change):" << std::endl;
|
||||
std::for_each( selectingFeatureList.begin(), selectingFeatureList.end(), DisplayComponent() );
|
||||
std::cout << std::endl;
|
||||
}
|
||||
if( prop.hasMinValue() )
|
||||
{
|
||||
std::cout << "The minimum value of '" << name << "' is " << prop.readS( mvIMPACT::acquire::plMinValue ) << std::endl;
|
||||
}
|
||||
if( prop.hasMaxValue() )
|
||||
{
|
||||
std::cout << "The maximum value of '" << name << "' is " << prop.readS( mvIMPACT::acquire::plMaxValue ) << std::endl;
|
||||
}
|
||||
if( prop.hasStepWidth() )
|
||||
{
|
||||
std::cout << "The increment of '" << name << "' is " << prop.readS( mvIMPACT::acquire::plStepWidth ) << std::endl;
|
||||
}
|
||||
if( prop.hasDict() )
|
||||
{
|
||||
std::cout << "'" << name << "' defines a dictionary. Valid values are: " << std::endl;
|
||||
mvIMPACT::acquire::TComponentType type = prop.type();
|
||||
if( type == mvIMPACT::acquire::ctPropInt )
|
||||
{
|
||||
DisplayPropertyDictionary<mvIMPACT::acquire::PropertyI>( prop );
|
||||
}
|
||||
else if( type == mvIMPACT::acquire::ctPropInt64 )
|
||||
{
|
||||
DisplayPropertyDictionary<mvIMPACT::acquire::PropertyI64>( prop );
|
||||
}
|
||||
else if( type == mvIMPACT::acquire::ctPropFloat )
|
||||
{
|
||||
DisplayPropertyDictionary<mvIMPACT::acquire::PropertyF>( prop );
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Error! Unhandled enum prop type: " << prop.typeAsString() << std::endl;
|
||||
}
|
||||
}
|
||||
std::cout << "The current value of '" << name << "' is: '" << prop.readS() << "'" << std::endl;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool displayPropertyDataWithValidation( const mvIMPACT::acquire::Property& prop, const std::string& name )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( !prop.isValid() )
|
||||
{
|
||||
std::cout << "Property '" << name << "' is not supported/available." << std::endl;
|
||||
return false;
|
||||
}
|
||||
displayPropertyData( prop );
|
||||
return true;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Start the acquisition manually if this was requested(this is to prepare the driver for data capture and tell the device to start streaming data)
|
||||
inline void manuallyStartAcquisitionIfNeeded( mvIMPACT::acquire::Device* pDev, const mvIMPACT::acquire::FunctionInterface& fi )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( pDev->acquisitionStartStopBehaviour.read() == mvIMPACT::acquire::assbUser )
|
||||
{
|
||||
const mvIMPACT::acquire::TDMR_ERROR result = static_cast<mvIMPACT::acquire::TDMR_ERROR>( fi.acquisitionStart() );
|
||||
if( result != mvIMPACT::acquire::DMR_NO_ERROR )
|
||||
{
|
||||
std::cout << "'FunctionInterface.acquisitionStart' returned with an unexpected result: " << result
|
||||
<< "(" << mvIMPACT::acquire::ImpactAcquireException::getErrorCodeAsString( result ) << ")" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Stop the acquisition manually if this was requested
|
||||
inline void manuallyStopAcquisitionIfNeeded( mvIMPACT::acquire::Device* pDev, const mvIMPACT::acquire::FunctionInterface& fi )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( pDev->acquisitionStartStopBehaviour.read() == mvIMPACT::acquire::assbUser )
|
||||
{
|
||||
const mvIMPACT::acquire::TDMR_ERROR result = static_cast<mvIMPACT::acquire::TDMR_ERROR>( fi.acquisitionStop() );
|
||||
if( result != mvIMPACT::acquire::DMR_NO_ERROR )
|
||||
{
|
||||
std::cout << "'FunctionInterface.acquisitionStop' returned with an unexpected result: " << result
|
||||
<< "(" << mvIMPACT::acquire::ImpactAcquireException::getErrorCodeAsString( result ) << ")" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// This function makes heavy use of strings. In real world applications
|
||||
/// this can be avoided if optimal performance is crucial. All properties can be modified
|
||||
/// via strings, but most properties can also be modified with numerical (int / double )
|
||||
/// values, which is much faster, but not as descriptive for a sample application
|
||||
inline void modifyPropertyValue( const mvIMPACT::acquire::Property& prop, const std::string& param = "", const std::string& index = "" )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
try
|
||||
{
|
||||
const std::string name( prop.name() );
|
||||
if( prop.isWriteable() )
|
||||
{
|
||||
int valIndex = 0;
|
||||
if( param.empty() )
|
||||
{
|
||||
std::cout << "Enter the new value for '" << name << "': ";
|
||||
std::string val;
|
||||
std::cin >> val;
|
||||
// remove the '\n' from the stream
|
||||
std::cin.get();
|
||||
if( prop.valCount() > 1 )
|
||||
{
|
||||
std::cout << "'" << name << "' defines " << prop.valCount() << " values. Enter the index (zero-based) of the value to modify: ";
|
||||
std::cin >> valIndex;
|
||||
// remove the '\n' from the stream
|
||||
std::cin.get();
|
||||
}
|
||||
prop.writeS( val, valIndex );
|
||||
}
|
||||
else
|
||||
{
|
||||
if( !index.empty() )
|
||||
{
|
||||
valIndex = atoi( index.c_str() );
|
||||
}
|
||||
prop.writeS( param, valIndex );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "'" << name << "' is read-only, thus can't be modified." << std::endl;
|
||||
}
|
||||
}
|
||||
catch( const mvIMPACT::acquire::ImpactAcquireException& e )
|
||||
{
|
||||
std::cout << "An exception occurred: " << e.getErrorString() << "(error code: " << e.getErrorCodeAsString() << ")" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void displayAndModifyPropertyDataWithValidation( const mvIMPACT::acquire::Property& prop, const std::string& name )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( displayPropertyDataWithValidation( prop, name ) )
|
||||
{
|
||||
modifyPropertyValue( prop );
|
||||
}
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline std::ostream& operator<<( std::ostream& out, const mvIMPACT::acquire::Property& prop )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
out << prop.name() << ": " << prop.readS();
|
||||
return out;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// \brief Allows string comparison with a defined character to ignore
|
||||
/**
|
||||
* This function allows a tolerant string compare. If \a candidate ends with \a wildcard
|
||||
* \a candidate can be shorter then \a searchString as the rest of the string will be
|
||||
* ignored. This is a helper function used internally by <b>DeviceManager</b> objects.
|
||||
*
|
||||
* Examples:
|
||||
*
|
||||
* \code
|
||||
* wildcard = '*'
|
||||
* s1 = "blablabla"
|
||||
* match( s1, "bl*bl*bla", '*' ); // will return 0
|
||||
* // will return 0 ('*' is the default value for parameter 3 )
|
||||
* match( s1, "bl*" );
|
||||
* // the next call will return -1 as the first character MUST
|
||||
* // be either a 'b' or the wildcard character.
|
||||
* match( s1, "a*" );
|
||||
* \endcode
|
||||
* \return
|
||||
* - 0 if successful
|
||||
* - -1 otherwise
|
||||
*/
|
||||
template<class _Elem, class _Traits, class _Ax>
|
||||
int match( const std::basic_string<_Elem, _Traits, _Ax>& searchString, const std::basic_string<_Elem, _Traits, _Ax>& candidate, _Elem wildcard )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
typename std::basic_string<_Elem, _Traits, _Ax>::size_type searchLength = searchString.length();
|
||||
// determine search length
|
||||
if( candidate.length() < searchString.length() )
|
||||
{
|
||||
if( candidate.empty() )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
if( candidate[candidate.length() - 1] != wildcard )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
searchLength = candidate.length() - 1;
|
||||
}
|
||||
// search
|
||||
for( typename std::basic_string<_Elem, _Traits, _Ax>::size_type i = 0; i < searchLength; i++ )
|
||||
{
|
||||
if( ( candidate[i] != searchString[i] ) && ( candidate[i] != wildcard ) )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
typedef bool( *SUPPORTED_DEVICE_CHECK )( const mvIMPACT::acquire::Device* const );
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline mvIMPACT::acquire::Device* getDeviceFromUserInput( const mvIMPACT::acquire::DeviceManager& devMgr, SUPPORTED_DEVICE_CHECK pSupportedDeviceCheckFn = 0, bool boSilent = false, bool boAutomaticallyUseGenICamInterface = true )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
const unsigned int devCnt = devMgr.deviceCount();
|
||||
if( devCnt == 0 )
|
||||
{
|
||||
std::cout << "No compliant device found!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
std::set<unsigned int> validDeviceNumbers;
|
||||
|
||||
// display every device detected that matches
|
||||
for( unsigned int i = 0; i < devCnt; i++ )
|
||||
{
|
||||
Device* pDev = devMgr[i];
|
||||
if( pDev )
|
||||
{
|
||||
if( !pSupportedDeviceCheckFn || pSupportedDeviceCheckFn( pDev ) )
|
||||
{
|
||||
std::cout << "[" << i << "]: " << pDev->serial.read() << " (" << pDev->product.read() << ", " << pDev->family.read();
|
||||
if( pDev->interfaceLayout.isValid() )
|
||||
{
|
||||
if( boAutomaticallyUseGenICamInterface )
|
||||
{
|
||||
// if this device offers the 'GenICam' interface switch it on, as this will
|
||||
// allow are better control over GenICam compliant devices
|
||||
conditionalSetProperty( pDev->interfaceLayout, dilGenICam, true );
|
||||
}
|
||||
std::cout << ", interface layout: " << pDev->interfaceLayout.readS();
|
||||
}
|
||||
if( pDev->acquisitionStartStopBehaviour.isValid() )
|
||||
{
|
||||
// if this device offers a user defined acquisition start/stop behaviour
|
||||
// enable it as this allows finer control about the streaming behaviour
|
||||
conditionalSetProperty( pDev->acquisitionStartStopBehaviour, assbUser, true );
|
||||
std::cout << ", acquisition start/stop behaviour: " << pDev->acquisitionStartStopBehaviour.readS();
|
||||
}
|
||||
if( pDev->interfaceLayout.isValid() && !pDev->interfaceLayout.isWriteable() )
|
||||
{
|
||||
if( pDev->isInUse() )
|
||||
{
|
||||
std::cout << ", !!!ALREADY IN USE!!!";
|
||||
}
|
||||
}
|
||||
std::cout << ")" << std::endl;
|
||||
validDeviceNumbers.insert( i );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( validDeviceNumbers.empty() )
|
||||
{
|
||||
std::cout << devMgr.deviceCount() << " devices have been detected:" << std::endl;
|
||||
for( unsigned int i = 0; i < devCnt; i++ )
|
||||
{
|
||||
Device* pDev = devMgr[i];
|
||||
if( pDev )
|
||||
{
|
||||
std::cout << " [" << i << "]: " << pDev->serial.read() << " (" << pDev->product.read() << ", " << pDev->family.read() << ")" << std::endl;
|
||||
}
|
||||
}
|
||||
std::cout << "However none of these devices seems to be supported by this sample." << std::endl << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// get user input
|
||||
std::cout << std::endl << "Please enter the number in front of the listed device followed by [ENTER] to open it: ";
|
||||
unsigned int devNr = 0;
|
||||
std::cin >> devNr;
|
||||
// remove the '\n' from the stream
|
||||
std::cin.get();
|
||||
|
||||
if( validDeviceNumbers.find( devNr ) == validDeviceNumbers.end() )
|
||||
{
|
||||
std::cout << "Invalid selection!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if( !boSilent )
|
||||
{
|
||||
std::cout << "Using device number " << devNr << "." << std::endl;
|
||||
}
|
||||
return devMgr[devNr];
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline std::vector<mvIMPACT::acquire::Device*>::size_type getValidDevices( const mvIMPACT::acquire::DeviceManager& devMgr, std::vector<mvIMPACT::acquire::Device*>& v, SUPPORTED_DEVICE_CHECK pSupportedDeviceCheckFn = 0 )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
const unsigned int devCnt = devMgr.deviceCount();
|
||||
// display every device detected that matches
|
||||
for( unsigned int i = 0; i < devCnt; i++ )
|
||||
{
|
||||
Device* pDev = devMgr[i];
|
||||
if( pDev )
|
||||
{
|
||||
if( !pSupportedDeviceCheckFn || pSupportedDeviceCheckFn( pDev ) )
|
||||
{
|
||||
v.push_back( pDev );
|
||||
}
|
||||
}
|
||||
}
|
||||
return v.size();
|
||||
}
|
||||
|
||||
#if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
# include <fcntl.h>
|
||||
# include <stdio.h>
|
||||
# include <sys/types.h>
|
||||
# include <termios.h>
|
||||
# include <unistd.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
/// \brief Checks if something was written to a certain file descriptor
|
||||
/** \return
|
||||
* - 0 if timeout did elapse
|
||||
* - 1 otherwise
|
||||
*/
|
||||
inline unsigned waitForInput( int maxWait_sec, int fd )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
fd_set rfds;
|
||||
struct timeval tv;
|
||||
|
||||
FD_ZERO( &rfds );
|
||||
#ifndef __clang_analyzer__ // See https://bugs.llvm.org/show_bug.cgi?id=8920
|
||||
FD_SET( fd, &rfds );
|
||||
#endif // #ifndef __clang_analyzer__
|
||||
|
||||
tv.tv_sec = maxWait_sec;
|
||||
tv.tv_usec = 0;
|
||||
|
||||
return select( fd + 1, &rfds, NULL, NULL, &tv );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/** \return
|
||||
* - 1 if a key has been pressed since the last call to this function
|
||||
* - 0 otherwise
|
||||
*/
|
||||
inline int checkKeyboardInput( void )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
struct termios oldt, newt;
|
||||
tcgetattr( STDIN_FILENO, &oldt );
|
||||
newt = oldt;
|
||||
newt.c_lflag &= ~( ICANON | ECHO );
|
||||
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
|
||||
const int oldf = fcntl( STDIN_FILENO, F_GETFL, 0 );
|
||||
fcntl( STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK );
|
||||
const int ch = getchar();
|
||||
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
|
||||
fcntl( STDIN_FILENO, F_SETFL, oldf );
|
||||
if( ch != EOF )
|
||||
{
|
||||
// ungetc(ch, stdin);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif // #if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
|
||||
#endif // exampleHelperH
|
@ -0,0 +1,595 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "exampleHelper_C.h"
|
||||
|
||||
#define BUF_SIZE (32)
|
||||
#define BUF_SIZE_LARGE (256)
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
int getIntValFromSTDIn( void )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
int value;
|
||||
int conversionResult = 0;
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
conversionResult = scanf_s( "%d", &value );
|
||||
#else
|
||||
conversionResult = scanf( "%d", &value );
|
||||
#endif // #if defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
if( conversionResult != 1 )
|
||||
{
|
||||
printf( "Conversion error: Expected: 1, conversion result: %d.\n", conversionResult );
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
int getPropI( HOBJ hProp, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
int value = 0;
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
if( ( result = OBJ_GetI( hProp, &value, index ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "getPropI: Failed to read property value(%s).\n", DMR_ErrorCodeToString( result ) );
|
||||
exit( 42 );
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void setPropI( HOBJ hProp, int value, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
if( ( result = OBJ_SetI( hProp, value, index ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "setPropI: Failed to write property value(%s).\n", DMR_ErrorCodeToString( result ) );
|
||||
exit( 42 );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
int64_type getPropI64( HOBJ hProp, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
int64_type value = 0;
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
if( ( result = OBJ_GetI64( hProp, &value, index ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "getPropI: Failed to read property value(%s).\n", DMR_ErrorCodeToString( result ) );
|
||||
exit( 42 );
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void setPropI64( HOBJ hProp, int64_type value, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
if( ( result = OBJ_SetI64( hProp, value, index ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "setPropI: Failed to write property value(%s).\n", DMR_ErrorCodeToString( result ) );
|
||||
exit( 42 );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void* getPropP( HOBJ hProp, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
void* value = 0;
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
if( ( result = OBJ_GetP( hProp, &value, index ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "getPropP: Failed to read property value(%s).\n", DMR_ErrorCodeToString( result ) );
|
||||
exit( 42 );
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void setPropP( HOBJ hProp, void* value, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
if( ( result = OBJ_SetP( hProp, value, index ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "setPropP: Failed to write property value(%s).\n", DMR_ErrorCodeToString( result ) );
|
||||
exit( 42 );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void setPropS( HOBJ hProp, const char* pVal, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
if( ( result = OBJ_SetS( hProp, pVal, index ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "setPropS: Failed to write property value %s :%s.\n", pVal, DMR_ErrorCodeToString( result ) );
|
||||
exit( 42 );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// This function will try to obtain the handle to a certain driver feature
|
||||
HOBJ getDriverFeature( HDRV hDrv, const char* pFeatureName, const char* pFeatureType, const char* pAddListName, TDMR_ListType type, unsigned int searchMode )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TDMR_ERROR dmrResult = DMR_NO_ERROR;
|
||||
HOBJ hObj = INVALID_ID;
|
||||
HLIST baseList = INVALID_ID;
|
||||
|
||||
// try to locate the base list for these property
|
||||
if( ( dmrResult = DMR_FindList( hDrv, pAddListName, type, 0, &baseList ) ) == DMR_NO_ERROR )
|
||||
{
|
||||
// try to locate the property
|
||||
TPROPHANDLING_ERROR objResult;
|
||||
if( ( objResult = OBJ_GetHandleEx( baseList, pFeatureName, &hObj, searchMode, INT_MAX ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "OBJ_GetHandleEx for '%s' failed: %d Handle: %d. This %s might not be supported by this device\n", pFeatureName, objResult, hObj, pFeatureType );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printf( "DMR_FindList failed: %d. Lists of type %d are not available for this device\n", dmrResult, type );
|
||||
}
|
||||
return hObj;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// This function will try to obtain the handle to a certain driver feature list
|
||||
HOBJ getDriverList( HDRV hDrv, const char* pListName, const char* pAddListName, TDMR_ListType type )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverFeature( hDrv, pListName, "list", pAddListName, type, smIgnoreProperties | smIgnoreMethods );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// This function will try to obtain the handle to a certain driver property
|
||||
HOBJ getDriverProperty( HDRV hDrv, const char* pPropName, const char* pAddListName, TDMR_ListType type )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverFeature( hDrv, pPropName, "property", pAddListName, type, smIgnoreLists | smIgnoreMethods );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// This function will try to obtain the handle to a certain driver property
|
||||
HOBJ getDriverMethod( HDRV hDrv, const char* pPropName, const char* pAddListName, TDMR_ListType type )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverFeature( hDrv, pPropName, "method", pAddListName, type, smIgnoreProperties | smIgnoreLists );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getDeviceProp( HDEV hDev, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TPROPHANDLING_ERROR objResult;
|
||||
HOBJ hProp = INVALID_ID;
|
||||
|
||||
// try to locate the property
|
||||
if( ( objResult = OBJ_GetHandleEx( hDev, pPropName, &hProp, 0, -1 ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "OBJ_GetHandleEx failed for property '%s': %d Handle: %d\n", pPropName, objResult, hProp );
|
||||
}
|
||||
return hProp;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getInfoProp( HDRV hDrv, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverProperty( hDrv, pPropName, 0, dmltInfo );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getIOSubSystemProp( HDRV hDrv, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverProperty( hDrv, pPropName, 0, dmltIOSubSystem );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getRequestCtrlProp( HDRV hDrv, const char* pRequestCtrlName, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverProperty( hDrv, pPropName, pRequestCtrlName, dmltRequestCtrl );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getRequestProp( HDRV hDrv, int requestNr, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
char buf[BUF_SIZE];
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
sprintf_s( buf, BUF_SIZE, "Entry %d", requestNr );
|
||||
#else
|
||||
sprintf( buf, "Entry %d", requestNr );
|
||||
#endif // #if defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
return getDriverProperty( hDrv, pPropName, buf, dmltRequest );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getSettingProp( HDRV hDrv, const char* pSettingName, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverProperty( hDrv, pPropName, pSettingName, dmltSetting );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getSettingMethod( HDRV hDrv, const char* pSettingName, const char* pMethodName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverMethod( hDrv, pMethodName, pSettingName, dmltSetting );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getStatisticProp( HDRV hDrv, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverProperty( hDrv, pPropName, 0, dmltStatistics );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
HOBJ getSystemSettingProp( HDRV hDrv, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return getDriverProperty( hDrv, pPropName, 0, dmltSystemSettings );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
TPROPHANDLING_ERROR getStringValue( HOBJ hObj, char** pBuf, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
size_t bufSize = DEFAULT_STRING_SIZE_LIMIT;
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
static const int BUFFER_INCREMENT_FACTOR = 2;
|
||||
|
||||
*pBuf = ( char* )calloc( 1, bufSize );
|
||||
while( ( result = OBJ_GetS( hObj, *pBuf, bufSize, index ) ) == PROPHANDLING_INPUT_BUFFER_TOO_SMALL )
|
||||
{
|
||||
bufSize *= BUFFER_INCREMENT_FACTOR;
|
||||
*pBuf = ( char* )realloc( *pBuf, bufSize );
|
||||
}
|
||||
if( result != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "Error while reading string property value: Error code: %d(%s).\n", result, DMR_ErrorCodeToString( result ) );
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
TPROPHANDLING_ERROR getValueAsString( HOBJ hObj, const char* pFormat, char** pBuf, int index )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
size_t bufSize = DEFAULT_STRING_SIZE_LIMIT;
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
*pBuf = ( char* )calloc( 1, bufSize );
|
||||
while( ( result = OBJ_GetSFormattedEx( hObj, *pBuf, &bufSize, pFormat, index ) ) == PROPHANDLING_INPUT_BUFFER_TOO_SMALL )
|
||||
{
|
||||
*pBuf = ( char* )realloc( *pBuf, bufSize );
|
||||
}
|
||||
|
||||
if( result != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "Error while reading string property value: Error code: %d(%s).\n", result, DMR_ErrorCodeToString( result ) );
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Start the acquisition manually if this was requested(this is to prepare the driver for data capture and tell the device to start streaming data)
|
||||
// Whether this is needed or not depends on the property 'AcquisitionStartStopBehaviour' in the list referenced by 'HDEV'.
|
||||
void manuallyStartAcquisitionIfNeeded( HDRV hDrv )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
const TDMR_ERROR result = DMR_AcquisitionStart( hDrv );
|
||||
if( ( result != DMR_NO_ERROR ) &&
|
||||
( result != DMR_FEATURE_NOT_AVAILABLE ) )
|
||||
{
|
||||
printf( "DMR_AcquisitionStart: Unexpected error(code: %d(%s))\n", result, DMR_ErrorCodeToString( result ) );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Stop the acquisition manually if this was requested.
|
||||
// Whether this is needed or not depends on the property 'AcquisitionStartStopBehaviour' in the list referenced by 'HDEV'.
|
||||
void manuallyStopAcquisitionIfNeeded( HDRV hDrv )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
const TDMR_ERROR result = DMR_AcquisitionStop( hDrv );
|
||||
if( ( result != DMR_NO_ERROR ) &&
|
||||
( result != DMR_FEATURE_NOT_AVAILABLE ) )
|
||||
{
|
||||
printf( "DMR_AcquisitionStop: Unexpected error(code: %d(%s))\n", result, DMR_ErrorCodeToString( result ) );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void modifyEnumPropertyI( HDRV hDrv, const char* pSettingName, const char* pPropName )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
HOBJ hProp = INVALID_ID;
|
||||
unsigned int dictValCount = 0;
|
||||
int* dictVals = NULL;
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
|
||||
printf( "Trying to modify property %s:\n", pPropName );
|
||||
if( ( hProp = getSettingProp( hDrv, pSettingName, pPropName ) ) != INVALID_ID )
|
||||
{
|
||||
if( ( result = readTranslationDictValuesI( hProp, &dictVals, &dictValCount, 0 ) ) == PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
int value = 0;
|
||||
printf( "Please select one of the values listed above: " );
|
||||
value = getIntValFromSTDIn();
|
||||
free( dictVals );
|
||||
// set the new trigger mode
|
||||
if( ( result = OBJ_SetI( hProp, value, 0 ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
printf( "Failed to set new value for %s. Error code: %d(%s).\n", pPropName, result, DMR_ErrorCodeToString( result ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
TPROPHANDLING_ERROR readTranslationDictValuesI( HOBJ hObj, int** pDictValues, unsigned int* pDictValCnt, unsigned int silent )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TPROPHANDLING_ERROR funcResult = PROPHANDLING_NO_ERROR;
|
||||
char** ppBuf = 0;
|
||||
unsigned int i = 0;
|
||||
size_t bufSize = 0;
|
||||
const size_t BUFFER_INCREMENT_FACTOR = 6;
|
||||
|
||||
if( ( funcResult = OBJ_GetDictSize( hObj, pDictValCnt ) ) != PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
return funcResult;
|
||||
}
|
||||
|
||||
*pDictValues = ( int* )calloc( *pDictValCnt, sizeof( int ) );
|
||||
if( !( *pDictValues ) )
|
||||
{
|
||||
printf( "Failed to allocate memory for integer dictionary!\n" );
|
||||
return PROPHANDLING_INPUT_BUFFER_TOO_SMALL;
|
||||
}
|
||||
ppBuf = ( char** )calloc( *pDictValCnt, sizeof( char* ) );
|
||||
if( !ppBuf )
|
||||
{
|
||||
free( *pDictValues );
|
||||
printf( "Failed to allocate memory for string dictionary!\n" );
|
||||
return PROPHANDLING_INPUT_BUFFER_TOO_SMALL;
|
||||
}
|
||||
|
||||
bufSize = DEFAULT_STRING_SIZE_LIMIT;
|
||||
for( i = 0; i < *pDictValCnt; i++ )
|
||||
{
|
||||
ppBuf[i] = ( char* )calloc( 1, bufSize );
|
||||
}
|
||||
|
||||
while( ( funcResult = OBJ_GetIDictEntries( hObj, ppBuf, bufSize, *pDictValues, ( size_t ) * pDictValCnt ) ) == PROPHANDLING_INPUT_BUFFER_TOO_SMALL )
|
||||
{
|
||||
bufSize *= BUFFER_INCREMENT_FACTOR;
|
||||
for( i = 0; i < *pDictValCnt; i++ )
|
||||
{
|
||||
ppBuf[i] = ( char* )realloc( ppBuf[i], bufSize );
|
||||
}
|
||||
}
|
||||
|
||||
if( ( funcResult == PROPHANDLING_NO_ERROR ) &&
|
||||
( silent == 0 ) )
|
||||
{
|
||||
printf( "Got the following dictionary:\n" );
|
||||
for( i = 0; i < *pDictValCnt; i++ )
|
||||
{
|
||||
printf( "[%d]: %s(numerical rep: %d)\n", i, ppBuf[i] ? ppBuf[i] : "!NO MEMORY!", ( *pDictValues )[i] );
|
||||
}
|
||||
}
|
||||
|
||||
// free memory again
|
||||
for( i = 0; i < *pDictValCnt; i++ )
|
||||
{
|
||||
free( ppBuf[i] );
|
||||
}
|
||||
free( ppBuf );
|
||||
return funcResult;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
void conditionalSetPropI( HOBJ hProp, int value, unsigned int silent )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
unsigned int dictValCount = 0;
|
||||
size_t i = 0;
|
||||
int* dictVals = NULL;
|
||||
TPROPHANDLING_ERROR result = PROPHANDLING_NO_ERROR;
|
||||
char bufName[BUF_SIZE_LARGE];
|
||||
char* pBufValue = 0;
|
||||
|
||||
if( ( result = readTranslationDictValuesI( hProp, &dictVals, &dictValCount, silent ) ) == PROPHANDLING_NO_ERROR )
|
||||
{
|
||||
for( i = 0; i < dictValCount; i++ )
|
||||
{
|
||||
if( dictVals[i] == value )
|
||||
{
|
||||
setPropI( hProp, value, 0 );
|
||||
memset( bufName, '\0', BUF_SIZE_LARGE );
|
||||
OBJ_GetName( hProp, bufName, BUF_SIZE_LARGE );
|
||||
getValueAsString( hProp, 0, &pBufValue, 0 );
|
||||
if( silent == 0 )
|
||||
{
|
||||
printf( "Property '%s' set to '%s'.\n", bufName, pBufValue );
|
||||
}
|
||||
free( pBufValue );
|
||||
break;
|
||||
}
|
||||
}
|
||||
free( dictVals );
|
||||
}
|
||||
else
|
||||
{
|
||||
printf( "Failed to read translation dictionary from property. Error code: %d(%s).\n", result, DMR_ErrorCodeToString( result ) );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
int getDeviceFromUserInput( HDEV* phDevice, SUPPORTED_DEVICE_CHECK pSupportedDeviceCheckFn, unsigned int automaticallyUseGenICamInterface )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TDMR_ERROR result = DMR_NO_ERROR;
|
||||
unsigned int i = 0;
|
||||
unsigned int deviceCount = 0;
|
||||
unsigned int deviceNumber = 0;
|
||||
HOBJ hPropSerial = INVALID_ID;
|
||||
HOBJ hPropProduct = INVALID_ID;
|
||||
HOBJ hPropInterfaceLayout = INVALID_ID;
|
||||
HOBJ hPropAcquisitionStartStopBehaviour = INVALID_ID;
|
||||
char* pSerialStringBuffer = NULL;
|
||||
char* pProductStringBuffer = NULL;
|
||||
|
||||
if( ( result = DMR_GetDeviceCount( &deviceCount ) ) != DMR_NO_ERROR )
|
||||
{
|
||||
printf( "DMR_GetDeviceCount failed (code: %d(%s))\n", result, DMR_ErrorCodeToString( result ) );
|
||||
END_APPLICATION;
|
||||
}
|
||||
|
||||
if( deviceCount == 0 )
|
||||
{
|
||||
printf( "No compliant device detected.\n" );
|
||||
END_APPLICATION;
|
||||
}
|
||||
|
||||
printf( "%d compliant devices detected.\n", deviceCount );
|
||||
for( i = 0; i < deviceCount; i++ )
|
||||
{
|
||||
// try to get access to the device
|
||||
if( ( result = DMR_GetDevice( phDevice, dmdsmSerial, "*", i, '*' ) ) != DMR_NO_ERROR )
|
||||
{
|
||||
printf( "DMR_GetDevice(%d) failed (code: %d(%s))\n", i, result, DMR_ErrorCodeToString( result ) );
|
||||
END_APPLICATION;
|
||||
}
|
||||
|
||||
if( ( hPropSerial = getDeviceProp( *phDevice, "Serial" ) ) == INVALID_ID )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
getStringValue( hPropSerial, &pSerialStringBuffer, 0 );
|
||||
if( !pSupportedDeviceCheckFn || pSupportedDeviceCheckFn( *phDevice ) )
|
||||
{
|
||||
if( ( hPropProduct = getDeviceProp( *phDevice, "Product" ) ) == INVALID_ID )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
getStringValue( hPropProduct, &pProductStringBuffer, 0 );
|
||||
printf( "[%d] %s (%s", i, pSerialStringBuffer, pProductStringBuffer );
|
||||
if( ( hPropInterfaceLayout = getDeviceProp( *phDevice, "InterfaceLayout" ) ) != INVALID_ID )
|
||||
{
|
||||
char* pStringBuffer = NULL;
|
||||
getValueAsString( hPropInterfaceLayout, NULL, &pStringBuffer, 0 );
|
||||
if( automaticallyUseGenICamInterface != 0 )
|
||||
{
|
||||
conditionalSetPropI( hPropInterfaceLayout, dilGenICam, 1 );
|
||||
}
|
||||
printf( ", interface layout: %s", pStringBuffer );
|
||||
free( pStringBuffer );
|
||||
}
|
||||
|
||||
if( ( hPropAcquisitionStartStopBehaviour = getDeviceProp( *phDevice, "AcquisitionStartStopBehaviour" ) ) != INVALID_ID )
|
||||
{
|
||||
char* pStringBuffer = NULL;
|
||||
conditionalSetPropI( hPropAcquisitionStartStopBehaviour, assbUser, 1 );
|
||||
getValueAsString( hPropAcquisitionStartStopBehaviour, NULL, &pStringBuffer, 0 );
|
||||
printf( ", acquisition start/stop behaviour: %s", pStringBuffer );
|
||||
free( pStringBuffer );
|
||||
}
|
||||
printf( ")\n" );
|
||||
free( pProductStringBuffer );
|
||||
}
|
||||
else
|
||||
{
|
||||
printf( "%s is not supported by this application.\n", pSerialStringBuffer );
|
||||
}
|
||||
free( pSerialStringBuffer );
|
||||
}
|
||||
|
||||
printf( "Please enter the number in brackets followed by [ENTER] to open it: " );
|
||||
deviceNumber = getIntValFromSTDIn();
|
||||
// remove the '\n' from the stream
|
||||
fgetc( stdin );
|
||||
|
||||
// try to get access to the selected device
|
||||
if( ( result = DMR_GetDevice( phDevice, dmdsmSerial, "*", deviceNumber, '*' ) ) != DMR_NO_ERROR )
|
||||
{
|
||||
printf( "DMR_GetDevice(%d) failed (code: %d(%s))\n", deviceNumber, result, DMR_ErrorCodeToString( result ) );
|
||||
printf( "DMR_Close: %d\n", DMR_Close() );
|
||||
END_APPLICATION;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
static unsigned int isFeatureFlagSet( HOBJ hObj, TComponentFlag flag )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
TComponentFlag flags;
|
||||
|
||||
if( ( hObj == INVALID_ID ) ||
|
||||
( OBJ_GetFlags( hObj, &flags ) != PROPHANDLING_NO_ERROR ) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ( ( flags & flag ) != 0 );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
unsigned int isFeatureReadable( HOBJ hObj )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return isFeatureFlagSet( hObj, cfReadAccess );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
unsigned int isFeatureWriteable( HOBJ hObj )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return isFeatureFlagSet( hObj, cfWriteAccess );
|
||||
}
|
||||
|
||||
#if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
# include <sys/types.h>
|
||||
# include <unistd.h>
|
||||
//-----------------------------------------------------------------------------
|
||||
// returns 0 if timeout, else 1
|
||||
unsigned waitForInput( int maxWait_sec, int fd )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
fd_set rfds;
|
||||
struct timeval tv;
|
||||
|
||||
FD_ZERO( &rfds );
|
||||
FD_SET( fd, &rfds );
|
||||
|
||||
tv.tv_sec = maxWait_sec ;
|
||||
tv.tv_usec = 0;
|
||||
|
||||
return select( fd + 1, &rfds, NULL, NULL, &tv );
|
||||
}
|
||||
#endif // #if defined(linux) || defined(__linux) || defined(__linux__)
|
@ -0,0 +1,71 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef exampleHelper_CH
|
||||
#define exampleHelper_CH exampleHelper_CH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <mvDeviceManager/Include/mvDeviceManager.h>
|
||||
|
||||
#define END_APPLICATION \
|
||||
printf( "Press [ENTER] to end the application.\n" ); \
|
||||
return getchar() == EOF ? 2 : 1;
|
||||
|
||||
#if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
unsigned waitForInput( int maxWait_sec, int fd );
|
||||
#endif // #if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
|
||||
int getIntValFromSTDIn( void );
|
||||
int getPropI( HOBJ hProp, int index );
|
||||
void setPropI( HOBJ hProp, int value, int index );
|
||||
int64_type getPropI64( HOBJ hProp, int index );
|
||||
void setPropI64( HOBJ hProp, int64_type value, int index );
|
||||
void* getPropP( HOBJ hProp, int index );
|
||||
void setPropP( HOBJ hProp, void* value, int index );
|
||||
void setPropS( HOBJ hProp, const char* pVal, int index );
|
||||
|
||||
HOBJ getDriverList( HDRV hDrv, const char* pListName, const char* pAddListName, TDMR_ListType type );
|
||||
HOBJ getDriverProperty( HDRV hDrv, const char* pPropName, const char* pAddListName, TDMR_ListType type );
|
||||
HOBJ getDriverMethod( HDRV hDrv, const char* pMethodName, const char* pAddListName, TDMR_ListType type );
|
||||
HOBJ getDeviceProp( HDEV hDev, const char* pPropName );
|
||||
HOBJ getInfoProp( HDRV hDrv, const char* pPropName );
|
||||
HOBJ getIOSubSystemProp( HDRV hDrv, const char* pPropName );
|
||||
HOBJ getRequestCtrlProp( HDRV hDrv, const char* pRequestCtrlName, const char* pPropName );
|
||||
HOBJ getRequestProp( HDRV hDrv, int requestNr, const char* pPropName );
|
||||
HOBJ getSettingProp( HDRV hDrv, const char* pSettingName, const char* pPropName );
|
||||
HOBJ getSettingMethod( HDRV hDrv, const char* pSettingName, const char* pMethodName );
|
||||
HOBJ getStatisticProp( HDRV hDrv, const char* pPropName );
|
||||
HOBJ getSystemSettingProp( HDRV hDrv, const char* pPropName );
|
||||
|
||||
unsigned int isFeatureReadable( HOBJ hObj );
|
||||
unsigned int isFeatureWriteable( HOBJ hObj );
|
||||
|
||||
typedef unsigned int( *SUPPORTED_DEVICE_CHECK )( const HDEV );
|
||||
|
||||
int getDeviceFromUserInput( HDEV* phDevice, SUPPORTED_DEVICE_CHECK pSupportedDeviceCheckFn, unsigned int automaticallyUseGenICamInterface );
|
||||
/// \brief Reads the value of a feature as a string
|
||||
/// \note
|
||||
/// pBuf must be freed by the caller
|
||||
TPROPHANDLING_ERROR getStringValue( HOBJ hObj, char** pBuf, int index );
|
||||
/// \brief Reads the value of a feature as a string
|
||||
/// \note
|
||||
/// pBuf must be freed by the caller
|
||||
TPROPHANDLING_ERROR getValueAsString( HOBJ hObj, const char* pFormat, char** pBuf, int index );
|
||||
void modifyEnumPropertyI( HDRV hDrv, const char* pSettingName, const char* pPropName );
|
||||
/// \brief Shows how to read the translation dictionary of an integer property and returns all the
|
||||
/// integer values in the dictionary.
|
||||
///
|
||||
/// \note
|
||||
/// \a pDictValues must be freed by the caller.
|
||||
TPROPHANDLING_ERROR readTranslationDictValuesI( HOBJ hObj, int** pDictValues, unsigned int* pDictValCnt, unsigned int silent );
|
||||
/// \brief Sets an enumerated integer property to a certain value if this value is supported by
|
||||
/// the property.
|
||||
void conditionalSetPropI( HOBJ hObj, int value, unsigned int silent );
|
||||
|
||||
/// \brief Start the acquisition manually if this was requested(this is to prepare the driver for data capture and tell the device to start streaming data)
|
||||
///
|
||||
/// Whether this is needed or not depends on the property 'AcquisitionStartStopBehaviour' in the list referenced by 'HDEV'.
|
||||
void manuallyStartAcquisitionIfNeeded( HDRV hDrv );
|
||||
/// \brief Stop the acquisition manually if this was requested.
|
||||
///
|
||||
/// Whether this is needed or not depends on the property 'AcquisitionStartStopBehaviour' in the list referenced by 'HDEV'.
|
||||
void manuallyStopAcquisitionIfNeeded( HDRV hDrv );
|
||||
|
||||
#endif // exampleHelper_CH
|
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
@ -0,0 +1,296 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef MV_ICON_XPM
|
||||
#define MV_ICON_XPM MV_ICON_XPM
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
static const char* mvIcon_xpm[] = {
|
||||
"32 32 255 2",
|
||||
" c #000100",
|
||||
". c #030005",
|
||||
"+ c #01000D",
|
||||
"@ c #000206",
|
||||
"# c #03011D",
|
||||
"$ c #000407",
|
||||
"% c #000222",
|
||||
"& c #010315",
|
||||
"* c #000319",
|
||||
"= c #000225",
|
||||
"- c #000509",
|
||||
"; c #01070B",
|
||||
"> c #050803",
|
||||
", c #000912",
|
||||
"' c #010929",
|
||||
") c #000B18",
|
||||
"! c #080B07",
|
||||
"~ c #05092E",
|
||||
"{ c #020B2A",
|
||||
"] c #000C29",
|
||||
"^ c #020C3A",
|
||||
"/ c #080D1E",
|
||||
"( c #000E30",
|
||||
"_ c #000F2C",
|
||||
": c #020E36",
|
||||
"< c #0F1315",
|
||||
"[ c #05143B",
|
||||
"} c #001743",
|
||||
"| c #00193A",
|
||||
"1 c #021844",
|
||||
"2 c #071839",
|
||||
"3 c #14181A",
|
||||
"4 c #0B1840",
|
||||
"5 c #001B4C",
|
||||
"6 c #001D48",
|
||||
"7 c #021E55",
|
||||
"8 c #191C1E",
|
||||
"9 c #081E45",
|
||||
"0 c #05213D",
|
||||
"a c #101F32",
|
||||
"b c #062153",
|
||||
"c c #002742",
|
||||
"d c #1C2128",
|
||||
"e c #172231",
|
||||
"f c #00265D",
|
||||
"g c #11253D",
|
||||
"h c #08274E",
|
||||
"i c #1B2338",
|
||||
"j c #002955",
|
||||
"k c #102648",
|
||||
"l c #0F2945",
|
||||
"m c #092B4C",
|
||||
"n c #072B5D",
|
||||
"o c #22282E",
|
||||
"p c #0A2E4A",
|
||||
"q c #0D2D4E",
|
||||
"r c #003061",
|
||||
"s c #013067",
|
||||
"t c #162D3F",
|
||||
"u c #142D4A",
|
||||
"v c #1F2B3A",
|
||||
"w c #073057",
|
||||
"x c #0B2F5C",
|
||||
"y c #113052",
|
||||
"z c #053466",
|
||||
"A c #063651",
|
||||
"B c #00375D",
|
||||
"C c #00366C",
|
||||
"D c #242F3E",
|
||||
"E c #0E345B",
|
||||
"F c #053762",
|
||||
"G c #003970",
|
||||
"H c #0D3758",
|
||||
"I c #12365D",
|
||||
"J c #2E3133",
|
||||
"K c #0D3769",
|
||||
"L c #003B6C",
|
||||
"M c #10366F",
|
||||
"N c #0A3965",
|
||||
"O c #153663",
|
||||
"P c #0E386B",
|
||||
"Q c #2B333E",
|
||||
"R c #043B72",
|
||||
"S c #143860",
|
||||
"T c #23354E",
|
||||
"U c #353337",
|
||||
"V c #113A6C",
|
||||
"W c #073D74",
|
||||
"X c #0B3F59",
|
||||
"Y c #133B6D",
|
||||
"Z c #153A72",
|
||||
"` c #323638",
|
||||
" . c #0E3E64",
|
||||
".. c #35383A",
|
||||
"+. c #2E3949",
|
||||
"@. c #1A4061",
|
||||
"#. c #17406D",
|
||||
"$. c #154269",
|
||||
"%. c #124465",
|
||||
"&. c #264058",
|
||||
"*. c #084963",
|
||||
"=. c #3E3C3F",
|
||||
"-. c #333E59",
|
||||
";. c #2C4260",
|
||||
">. c #294467",
|
||||
",. c #3E4244",
|
||||
"'. c #104E6E",
|
||||
"). c #3E444B",
|
||||
"!. c #44434C",
|
||||
"~. c #00566F",
|
||||
"{. c #175066",
|
||||
"]. c #324867",
|
||||
"^. c #3E4752",
|
||||
"/. c #464755",
|
||||
"(. c #324C70",
|
||||
"_. c #0D5878",
|
||||
":. c #484C4E",
|
||||
"<. c #424D5E",
|
||||
"[. c #37506A",
|
||||
"}. c #474D54",
|
||||
"|. c #00607F",
|
||||
"1. c #165B6F",
|
||||
"2. c #00637B",
|
||||
"3. c #4E504D",
|
||||
"4. c #3E5373",
|
||||
"5. c #475263",
|
||||
"6. c #455369",
|
||||
"7. c #50524F",
|
||||
"8. c #0A6483",
|
||||
"9. c #4E545C",
|
||||
"0. c #3A5877",
|
||||
"a. c #505456",
|
||||
"b. c #126578",
|
||||
"c. c #006B89",
|
||||
"d. c #405A73",
|
||||
"e. c #505965",
|
||||
"f. c #4A5C6C",
|
||||
"g. c #565A5C",
|
||||
"h. c #0A6F81",
|
||||
"i. c #4E5D73",
|
||||
"j. c #515D6E",
|
||||
"k. c #555D6A",
|
||||
"l. c #176F88",
|
||||
"m. c #456282",
|
||||
"n. c #0F7391",
|
||||
"o. c #4F6272",
|
||||
"p. c #5D6163",
|
||||
"q. c #45668B",
|
||||
"r. c #62616A",
|
||||
"s. c #007C99",
|
||||
"t. c #596476",
|
||||
"u. c #52687D",
|
||||
"v. c #0C7D8E",
|
||||
"w. c #516A85",
|
||||
"x. c #61676F",
|
||||
"y. c #576A7A",
|
||||
"z. c #207A8C",
|
||||
"A. c #1A7E96",
|
||||
"B. c #606C7E",
|
||||
"C. c #526F8F",
|
||||
"D. c #008898",
|
||||
"E. c #636C78",
|
||||
"F. c #5F7283",
|
||||
"G. c #68717D",
|
||||
"H. c #25849C",
|
||||
"I. c #188AA1",
|
||||
"J. c #0095A4",
|
||||
"K. c #647A90",
|
||||
"L. c #2F8B97",
|
||||
"M. c #75797C",
|
||||
"N. c #747B82",
|
||||
"O. c #338EA6",
|
||||
"P. c #2497A7",
|
||||
"Q. c #06A1B6",
|
||||
"R. c #6C85A1",
|
||||
"S. c #7F827F",
|
||||
"T. c #199FAE",
|
||||
"U. c #3D96A2",
|
||||
"V. c #3D96AF",
|
||||
"W. c #758899",
|
||||
"X. c #838991",
|
||||
"Y. c #808E94",
|
||||
"Z. c #858F9C",
|
||||
"`. c #579EA6",
|
||||
" + c #589EB3",
|
||||
".+ c #949296",
|
||||
"++ c #8F959D",
|
||||
"@+ c #3BADB6",
|
||||
"#+ c #919598",
|
||||
"$+ c #35AFBE",
|
||||
"%+ c #60A7BB",
|
||||
"&+ c #919AA7",
|
||||
"*+ c #6AA7B1",
|
||||
"=+ c #999C98",
|
||||
"-+ c #92A3AF",
|
||||
";+ c #75ADBE",
|
||||
">+ c #92A6B8",
|
||||
",+ c #57B9C4",
|
||||
"'+ c #7EAFB5",
|
||||
")+ c #85B5C7",
|
||||
"!+ c #A8ADAF",
|
||||
"~+ c #A1AFB6",
|
||||
"{+ c #8DB6BD",
|
||||
"]+ c #73C4CA",
|
||||
"^+ c #6FC5D1",
|
||||
"/+ c #90BCC9",
|
||||
"(+ c #B2B6B9",
|
||||
"_+ c #9FBDC0",
|
||||
":+ c #B1B8C1",
|
||||
"<+ c #9DC1CF",
|
||||
"[+ c #B0BEC5",
|
||||
"}+ c #BABCB9",
|
||||
"|+ c #B4BDCB",
|
||||
"1+ c #B7BEC6",
|
||||
"2+ c #ACC2C7",
|
||||
"3+ c #BABFC1",
|
||||
"4+ c #86CED6",
|
||||
"5+ c #B1C3CF",
|
||||
"6+ c #AAC6D6",
|
||||
"7+ c #BFC6CE",
|
||||
"8+ c #B3CACE",
|
||||
"9+ c #AFCBDB",
|
||||
"0+ c #C4C9CC",
|
||||
"a+ c #C1CDCE",
|
||||
"b+ c #BCCEDA",
|
||||
"c+ c #9BD9E3",
|
||||
"d+ c #9ED9DD",
|
||||
"e+ c #BED0DC",
|
||||
"f+ c #C7CED6",
|
||||
"g+ c #C6CFDE",
|
||||
"h+ c #CBCFD2",
|
||||
"i+ c #C6D3D3",
|
||||
"j+ c #D0D5D7",
|
||||
"k+ c #D2D5D1",
|
||||
"l+ c #D1D8E1",
|
||||
"m+ c #D3D8DA",
|
||||
"n+ c #B0E3E9",
|
||||
"o+ c #D7DBDE",
|
||||
"p+ c #DEE0DD",
|
||||
"q+ c #DCE3EB",
|
||||
"r+ c #C2ECF3",
|
||||
"s+ c #C5ECED",
|
||||
"t+ c #E1E6E9",
|
||||
"u+ c #E8ECEF",
|
||||
"v+ c #D4F3F6",
|
||||
"w+ c #EEF2F5",
|
||||
"x+ c #E2F9FE",
|
||||
"y+ c #F3F8FA",
|
||||
"z+ c #F6F8F5",
|
||||
"A+ c #E8FDFC",
|
||||
"B+ c #F7FBFE",
|
||||
"C+ c #F2FEFF",
|
||||
"D+ c #FBFDFA",
|
||||
"E+ c #FAFFFF",
|
||||
"F+ c #FDFFFC",
|
||||
": : [ 4 9 h w H %.'._.8.l.A.I.P.Q.$+,+^+4+c+n+r+v+x+A+E+F+F+F+F+",
|
||||
"{ ( ( 2 | 0 c p A X *.{.1.b.h.v.v.L.U.`.*+'+{+_+2+8+a+i+j+k+k+j+",
|
||||
"$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ > > > > $ > > > > - > > > ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
"$ $ $ $ $ $ $ $ $ $ > 8 8 ; $ $ ",
|
||||
"$ $ $ $ $ $ $ $ $ ` S.(+p+z+u+j+(+S.U $ $ $ $ $ $ $ $ $ ",
|
||||
"$ $ $ $ $ $ $ 7.(+F+F+F+F+F+F+F+F+F+B+(+3. $ $ $ $ $ $ $ ",
|
||||
"$ $ $ $ $ $ =.}+F+F+F+!+:.8 3 ,.=+z+F+F+F+F+(+.. $ $ $ $ $ $ ",
|
||||
", , , . g.D+F+F+t+,. 3 8 J o+F+F+F+F+B+p. . $ $ $ ",
|
||||
", , }.:.$ t+F+F+j+< p.o+F+F+B+M. ! o+F+F+F+F+w+- J }. $ , ",
|
||||
") !.y+:.d F+F+B+J #+F+F+0+.+0+F+!+ !.F+F+F+F+F+..o B+a. , ",
|
||||
" !.B+F+) ).F+F+#+ x.F+F+p. r.F+9. h+F+F+F+F+r.. w+F+9. ",
|
||||
").w+F+u+) 9.F+D+Q & u+F+++ ^.D !+0+ ++F+F+F+F+x.+ m+F+B+}.",
|
||||
"o+F+F+y+e +.F+t+& <.F+F+D +.E.^.~++ N.o+ ++F+F+F+F+e./ u+F+F+w+",
|
||||
"5.z+F+F+<.a F+j+& G.F+D+a f.X.i N.* h+Y. 3+F+F+F+D+t v B+F+F+k.",
|
||||
"# <.z+F+Z.+ h+t+# y.F+F+t.* [+++/.0+j+& T B+F+F+F+h+& B.F+F+j.* ",
|
||||
"l % 6.D+u+# y.F+0 &.F+F+o+] _ -+1+&+{ ] f+F+F+F+F+F.+ j+F+o.% g ",
|
||||
"u q ( [.z+W.% o+W.= 7+F+F+f+-.= = = -.l+F+F+F+F+o+% u.F+i.{ l u ",
|
||||
"q y y : ].7+;.[.7+[ ].F+F+F+E+:+&+1+F+F+F+F+F+y+;.k |+d.: q y q ",
|
||||
"E E E E 6 @.w.1 m.w.^ K.F+F+F+F+F+F+F+F+F+F+u+4.^ 0.>.6 E E w E ",
|
||||
"F F F F S j x I j $.F 5 C.t+F+F+F+F+F+F+F+|+(.5 I x j S E E E E ",
|
||||
"O O O O O O z F O x F F 5 N R.5+q+q+l+>+q.b b F F O F F F F F F ",
|
||||
"P P P P P P P P P P P L L n 7 r #.#.L f 7 z L K K K K K K K K K ",
|
||||
"V V V V V V V V V V V V V V P C s s C K V V V V V V V V V V V V ",
|
||||
"Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y R R R Y Y Y Y Y Y Y Y Y Y Y Y Y ",
|
||||
"R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R ",
|
||||
"W W W W W W R R R R R R R G G G G G M G G G M M C C M M M M M M ",
|
||||
"W W W W W W W R R R R R R R Z G Z Z G G G M M M M G G G G G G M ",
|
||||
"} 1 6 6 h h w B .%.'._.|.c.n.s.H.O.V. +%+;+)+/+<+6+9+b+e+g+g+g+",
|
||||
"~ ~ : [ 2 k m H X *.~.2.l.z.D.J.T.@+,+]+4+d+n+s+v+A+C+E+F+F+F+F+"};
|
||||
|
||||
#endif // MV_ICON_XPM
|
@ -0,0 +1,3 @@
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
# pragma warning( pop )
|
||||
#endif
|
@ -0,0 +1,7 @@
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
# pragma warning( push )
|
||||
# pragma warning( disable : 4127 ) // 'conditional expression is constant'
|
||||
# pragma warning( disable : 4244 ) // 'conversion from 'Bla' to 'Blub', possible loss of data
|
||||
# pragma warning( disable : 4251 ) // 'class 'Bla' needs to have dll-interface to be used by clients of class 'Blub''
|
||||
# pragma warning( disable : 4800 ) // 'int' : forcing value to bool 'true' or 'false' (performance warning)
|
||||
#endif
|
@ -0,0 +1,409 @@
|
||||
#include "ProxyResolver.h"
|
||||
|
||||
#if _WIN32_WINNT < 0x0602 // This stuff became available with Windows 8
|
||||
# define WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE 0x01000000
|
||||
# define WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE
|
||||
# define API_GET_PROXY_FOR_URL (6)
|
||||
#endif // #if _WIN32_WINNT < _WIN32_WINNT_WIN8
|
||||
|
||||
PFNWINHTTPGETPROXYFORURLEX ProxyResolver::s_pfnWinhttpGetProxyForUrlEx = NULL;
|
||||
PFNWINHTTPFREEPROXYLIST ProxyResolver::s_pfnWinhttpFreeProxyList = NULL;
|
||||
PFNWINHTTPCREATEPROXYRESOLVER ProxyResolver::s_pfnWinhttpCreateProxyResolver = NULL;
|
||||
PFNWINHTTPGETPROXYRESULT ProxyResolver::s_pfnWinhttpGetProxyResult = NULL;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
ProxyResolver::ProxyResolver() : m_fInit( FALSE ), m_fExtendedAPI( FALSE ), m_dwError( ERROR_SUCCESS ), m_hEvent( 0 )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
ZeroMemory( &m_wprProxyResult, sizeof( WINHTTP_PROXY_RESULT ) );
|
||||
ZeroMemory( &m_wpiProxyInfo, sizeof( WINHTTP_PROXY_INFO ) );
|
||||
|
||||
HMODULE hWinhttp = GetModuleHandle( L"winhttp.dll" );
|
||||
if( hWinhttp != NULL )
|
||||
{
|
||||
s_pfnWinhttpGetProxyForUrlEx = ( PFNWINHTTPGETPROXYFORURLEX )GetProcAddress( hWinhttp, "WinHttpGetProxyForUrlEx" );
|
||||
s_pfnWinhttpFreeProxyList = ( PFNWINHTTPFREEPROXYLIST )GetProcAddress( hWinhttp, "WinHttpFreeProxyResult" );
|
||||
s_pfnWinhttpCreateProxyResolver = ( PFNWINHTTPCREATEPROXYRESOLVER )GetProcAddress( hWinhttp, "WinHttpCreateProxyResolver" );
|
||||
s_pfnWinhttpGetProxyResult = ( PFNWINHTTPGETPROXYRESULT )GetProcAddress( hWinhttp, "WinHttpGetProxyResult" );
|
||||
}
|
||||
m_fExtendedAPI = s_pfnWinhttpGetProxyForUrlEx && s_pfnWinhttpFreeProxyList && s_pfnWinhttpCreateProxyResolver && s_pfnWinhttpGetProxyResult;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
ProxyResolver::~ProxyResolver()
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( m_wpiProxyInfo.lpszProxy != NULL )
|
||||
{
|
||||
GlobalFree( m_wpiProxyInfo.lpszProxy );
|
||||
}
|
||||
|
||||
if( m_wpiProxyInfo.lpszProxyBypass != NULL )
|
||||
{
|
||||
GlobalFree( m_wpiProxyInfo.lpszProxyBypass );
|
||||
}
|
||||
|
||||
if( m_fExtendedAPI )
|
||||
{
|
||||
s_pfnWinhttpFreeProxyList( &m_wprProxyResult );
|
||||
}
|
||||
|
||||
if( m_hEvent != NULL )
|
||||
{
|
||||
CloseHandle( m_hEvent );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL ProxyResolver::IsRecoverableAutoProxyError( _In_ DWORD dwError )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
switch( dwError )
|
||||
{
|
||||
case ERROR_SUCCESS:
|
||||
case ERROR_INVALID_PARAMETER:
|
||||
case ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR:
|
||||
case ERROR_WINHTTP_AUTODETECTION_FAILED:
|
||||
case ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT:
|
||||
case ERROR_WINHTTP_LOGIN_FAILURE:
|
||||
case ERROR_WINHTTP_OPERATION_CANCELLED:
|
||||
case ERROR_WINHTTP_TIMEOUT:
|
||||
case ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT:
|
||||
case ERROR_WINHTTP_UNRECOGNIZED_SCHEME:
|
||||
return TRUE;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
VOID CALLBACK ProxyResolver::GetProxyCallBack( _In_ HINTERNET hResolver, _In_ DWORD_PTR dwContext, _In_ DWORD dwInternetStatus, _In_ PVOID pvStatusInformation, _In_ DWORD /*dwStatusInformationLength*/ )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
ProxyResolver* pProxyResolver = ( ProxyResolver* )dwContext;
|
||||
if( ( dwInternetStatus != WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE &&
|
||||
dwInternetStatus != WINHTTP_CALLBACK_STATUS_REQUEST_ERROR ) ||
|
||||
pProxyResolver == NULL )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if( dwInternetStatus == WINHTTP_CALLBACK_STATUS_REQUEST_ERROR )
|
||||
{
|
||||
WINHTTP_ASYNC_RESULT* pAsyncResult = ( WINHTTP_ASYNC_RESULT* )pvStatusInformation;
|
||||
|
||||
if( pAsyncResult->dwResult != API_GET_PROXY_FOR_URL )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
pProxyResolver->m_dwError = pAsyncResult->dwError;
|
||||
}
|
||||
else if( dwInternetStatus == WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE )
|
||||
{
|
||||
pProxyResolver->m_dwError = s_pfnWinhttpGetProxyResult( hResolver, &pProxyResolver->m_wprProxyResult );
|
||||
}
|
||||
|
||||
if( hResolver != NULL )
|
||||
{
|
||||
WinHttpCloseHandle( hResolver );
|
||||
hResolver = NULL;
|
||||
}
|
||||
|
||||
SetEvent( pProxyResolver->m_hEvent );
|
||||
}
|
||||
|
||||
#define CLOSE_RESOLVER_HANDLE_AND_RETURN_ERROR_CODE(HRESOLVER, ERROR_CODE) \
|
||||
if( HRESOLVER != NULL ) \
|
||||
{ \
|
||||
WinHttpCloseHandle( HRESOLVER ); \
|
||||
} \
|
||||
return ERROR_CODE
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
DWORD ProxyResolver::GetProxyForUrlEx( _In_ HINTERNET hSession, _In_z_ PCWSTR pwszUrl, _In_ WINHTTP_AUTOPROXY_OPTIONS* pAutoProxyOptions )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
// Create proxy resolver handle. It's best to close the handle during call back.
|
||||
HINTERNET hResolver = NULL;
|
||||
DWORD dwError = s_pfnWinhttpCreateProxyResolver( hSession, &hResolver );
|
||||
if( dwError != ERROR_SUCCESS )
|
||||
{
|
||||
CLOSE_RESOLVER_HANDLE_AND_RETURN_ERROR_CODE( hResolver, dwError );
|
||||
}
|
||||
|
||||
// Sets up a callback function that WinHTTP can call as proxy results are resolved.
|
||||
WINHTTP_STATUS_CALLBACK wscCallback = WinHttpSetStatusCallback( hResolver, GetProxyCallBack, WINHTTP_CALLBACK_FLAG_REQUEST_ERROR | WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE, 0 );
|
||||
if( wscCallback == WINHTTP_INVALID_STATUS_CALLBACK )
|
||||
{
|
||||
dwError = GetLastError();
|
||||
CLOSE_RESOLVER_HANDLE_AND_RETURN_ERROR_CODE( hResolver, dwError );
|
||||
}
|
||||
|
||||
// The extended API works in asynchronous mode, therefore wait until the
|
||||
// results are set in the call back function.
|
||||
dwError = s_pfnWinhttpGetProxyForUrlEx( hResolver, pwszUrl, pAutoProxyOptions, ( DWORD_PTR )this );
|
||||
if( dwError != ERROR_IO_PENDING )
|
||||
{
|
||||
CLOSE_RESOLVER_HANDLE_AND_RETURN_ERROR_CODE( hResolver, dwError );
|
||||
}
|
||||
|
||||
// The resolver handle will get closed in the callback and cannot be used any longer.
|
||||
hResolver = NULL;
|
||||
dwError = WaitForSingleObjectEx( m_hEvent, INFINITE, FALSE );
|
||||
if( dwError != WAIT_OBJECT_0 )
|
||||
{
|
||||
return GetLastError();
|
||||
}
|
||||
return m_dwError;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
_Success_( return == ERROR_SUCCESS ) DWORD ProxyResolver::GetProxyForAutoSettings( _In_ HINTERNET hSession, _In_z_ PCWSTR pwszUrl, _In_opt_z_ PCWSTR pwszAutoConfigUrl, _Outptr_result_maybenull_ PWSTR* ppwszProxy, _Outptr_result_maybenull_ PWSTR* ppwszProxyBypass )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
DWORD dwError = ERROR_SUCCESS;
|
||||
WINHTTP_AUTOPROXY_OPTIONS waoOptions = {};
|
||||
WINHTTP_PROXY_INFO wpiProxyInfo = {};
|
||||
|
||||
*ppwszProxy = NULL;
|
||||
*ppwszProxyBypass = NULL;
|
||||
|
||||
if( pwszAutoConfigUrl )
|
||||
{
|
||||
waoOptions.dwFlags = WINHTTP_AUTOPROXY_CONFIG_URL;
|
||||
waoOptions.lpszAutoConfigUrl = pwszAutoConfigUrl;
|
||||
}
|
||||
else
|
||||
{
|
||||
waoOptions.dwFlags = WINHTTP_AUTOPROXY_AUTO_DETECT;
|
||||
waoOptions.dwAutoDetectFlags = WINHTTP_AUTO_DETECT_TYPE_DHCP | WINHTTP_AUTO_DETECT_TYPE_DNS_A;
|
||||
}
|
||||
|
||||
// First call with no autologon. Autologon prevents the
|
||||
// session (in proc) or autoproxy service (out of proc) from caching
|
||||
// the proxy script. This causes repetitive network traffic, so it is
|
||||
// best not to do autologon unless it is required according to the
|
||||
// result of WinHttpGetProxyForUrl.
|
||||
// This applies to both WinHttpGetProxyForUrl and WinhttpGetProxyForUrlEx.
|
||||
if( m_fExtendedAPI )
|
||||
{
|
||||
m_hEvent = CreateEventEx( NULL, NULL, 0, EVENT_ALL_ACCESS );
|
||||
if( m_hEvent == NULL )
|
||||
{
|
||||
dwError = GetLastError();
|
||||
goto quit;
|
||||
}
|
||||
|
||||
dwError = GetProxyForUrlEx( hSession, pwszUrl, &waoOptions );
|
||||
if( dwError != ERROR_WINHTTP_LOGIN_FAILURE )
|
||||
{
|
||||
// Unless we need to retry with auto-logon exit the function with the
|
||||
// result, on success the proxy list will be stored in m_wprProxyResult
|
||||
// by GetProxyCallBack.
|
||||
goto quit;
|
||||
}
|
||||
|
||||
// Enable autologon if challenged.
|
||||
waoOptions.fAutoLogonIfChallenged = TRUE;
|
||||
dwError = GetProxyForUrlEx( hSession, pwszUrl, &waoOptions );
|
||||
goto quit;
|
||||
}
|
||||
|
||||
if( !WinHttpGetProxyForUrl( hSession, pwszUrl, &waoOptions, &wpiProxyInfo ) )
|
||||
{
|
||||
dwError = GetLastError();
|
||||
if( dwError != ERROR_WINHTTP_LOGIN_FAILURE )
|
||||
{
|
||||
goto quit;
|
||||
}
|
||||
|
||||
// Enable autologon if challenged.
|
||||
dwError = ERROR_SUCCESS;
|
||||
waoOptions.fAutoLogonIfChallenged = TRUE;
|
||||
if( !WinHttpGetProxyForUrl( hSession, pwszUrl, &waoOptions, &wpiProxyInfo ) )
|
||||
{
|
||||
dwError = GetLastError();
|
||||
goto quit;
|
||||
}
|
||||
}
|
||||
|
||||
*ppwszProxy = wpiProxyInfo.lpszProxy;
|
||||
wpiProxyInfo.lpszProxy = NULL;
|
||||
|
||||
*ppwszProxyBypass = wpiProxyInfo.lpszProxyBypass;
|
||||
wpiProxyInfo.lpszProxyBypass = NULL;
|
||||
|
||||
quit:
|
||||
|
||||
if( wpiProxyInfo.lpszProxy )
|
||||
{
|
||||
GlobalFree( wpiProxyInfo.lpszProxy );
|
||||
wpiProxyInfo.lpszProxy = NULL;
|
||||
}
|
||||
|
||||
if( wpiProxyInfo.lpszProxyBypass )
|
||||
{
|
||||
GlobalFree( wpiProxyInfo.lpszProxyBypass );
|
||||
wpiProxyInfo.lpszProxyBypass = NULL;
|
||||
}
|
||||
|
||||
return dwError;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
DWORD ProxyResolver::ResolveProxy( _In_ HINTERNET hSession, _In_z_ PCWSTR pwszUrl )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
DWORD dwError = ERROR_SUCCESS;
|
||||
WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ProxyConfig = {};
|
||||
PWSTR pwszProxy = NULL;
|
||||
PWSTR pwszProxyBypass = NULL;
|
||||
BOOL fFailOverValid = FALSE;
|
||||
|
||||
if( m_fInit )
|
||||
{
|
||||
dwError = ERROR_INVALID_OPERATION;
|
||||
goto quit;
|
||||
}
|
||||
|
||||
if( !WinHttpGetIEProxyConfigForCurrentUser( &ProxyConfig ) )
|
||||
{
|
||||
dwError = GetLastError();
|
||||
if( dwError != ERROR_FILE_NOT_FOUND )
|
||||
{
|
||||
goto quit;
|
||||
}
|
||||
|
||||
// No IE proxy settings found, just do autodetect.
|
||||
ProxyConfig.fAutoDetect = TRUE;
|
||||
dwError = ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
// Begin processing the proxy settings in the following order:
|
||||
// 1) Auto-Detect if configured.
|
||||
// 2) Auto-Config URL if configured.
|
||||
// 3) Static Proxy Settings if configured.
|
||||
//
|
||||
// Once any of these methods succeed in finding a proxy we are finished.
|
||||
// In the event one mechanism fails with an expected error code it is
|
||||
// required to fall back to the next mechanism. If the request fails
|
||||
// after exhausting all detected proxies, there should be no attempt
|
||||
// to discover additional proxies.
|
||||
if( ProxyConfig.fAutoDetect )
|
||||
{
|
||||
fFailOverValid = TRUE;
|
||||
// Detect Proxy Settings.
|
||||
dwError = GetProxyForAutoSettings( hSession, pwszUrl, NULL, &pwszProxy, &pwszProxyBypass );
|
||||
if( dwError == ERROR_SUCCESS )
|
||||
{
|
||||
goto commit;
|
||||
}
|
||||
|
||||
if( !IsRecoverableAutoProxyError( dwError ) )
|
||||
{
|
||||
goto quit;
|
||||
}
|
||||
|
||||
// Fall back to Autoconfig URL or Static settings. An application can
|
||||
// optionally take some action such as logging, or creating a mechanism
|
||||
// to expose multiple error codes in the class.
|
||||
dwError = ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
if( ProxyConfig.lpszAutoConfigUrl )
|
||||
{
|
||||
fFailOverValid = TRUE;
|
||||
// Run autoproxy with AutoConfig URL.
|
||||
dwError = GetProxyForAutoSettings( hSession, pwszUrl, ProxyConfig.lpszAutoConfigUrl, &pwszProxy, &pwszProxyBypass );
|
||||
if( dwError == ERROR_SUCCESS )
|
||||
{
|
||||
goto commit;
|
||||
}
|
||||
|
||||
if( !IsRecoverableAutoProxyError( dwError ) )
|
||||
{
|
||||
goto quit;
|
||||
}
|
||||
|
||||
// Fall back to Static Settings. An application can optionally take some
|
||||
// action such as logging, or creating a mechanism to to expose multiple
|
||||
// error codes in the class.
|
||||
dwError = ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
fFailOverValid = FALSE;
|
||||
// Static Proxy Config. Failover is not valid for static proxy since
|
||||
// it is always either a single proxy or a list containing protocol
|
||||
// specific proxies such as "proxy" or http=httpproxy;https=sslproxy
|
||||
pwszProxy = ProxyConfig.lpszProxy;
|
||||
ProxyConfig.lpszProxy = NULL;
|
||||
|
||||
pwszProxyBypass = ProxyConfig.lpszProxyBypass;
|
||||
ProxyConfig.lpszProxyBypass = NULL;
|
||||
|
||||
commit:
|
||||
|
||||
if( pwszProxy == NULL )
|
||||
{
|
||||
m_wpiProxyInfo.dwAccessType = WINHTTP_ACCESS_TYPE_NO_PROXY;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_wpiProxyInfo.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY;
|
||||
}
|
||||
|
||||
m_wpiProxyInfo.lpszProxy = pwszProxy;
|
||||
pwszProxy = NULL;
|
||||
|
||||
m_wpiProxyInfo.lpszProxyBypass = pwszProxyBypass;
|
||||
pwszProxyBypass = NULL;
|
||||
|
||||
m_fInit = TRUE;
|
||||
|
||||
quit:
|
||||
|
||||
if( pwszProxy != NULL )
|
||||
{
|
||||
GlobalFree( pwszProxy );
|
||||
pwszProxy = NULL;
|
||||
}
|
||||
|
||||
if( pwszProxyBypass != NULL )
|
||||
{
|
||||
GlobalFree( pwszProxyBypass );
|
||||
pwszProxyBypass = NULL;
|
||||
}
|
||||
|
||||
if( ProxyConfig.lpszAutoConfigUrl != NULL )
|
||||
{
|
||||
GlobalFree( ProxyConfig.lpszAutoConfigUrl );
|
||||
ProxyConfig.lpszAutoConfigUrl = NULL;
|
||||
}
|
||||
|
||||
if( ProxyConfig.lpszProxy != NULL )
|
||||
{
|
||||
GlobalFree( ProxyConfig.lpszProxy );
|
||||
ProxyConfig.lpszProxy = NULL;
|
||||
}
|
||||
|
||||
if( ProxyConfig.lpszProxyBypass != NULL )
|
||||
{
|
||||
GlobalFree( ProxyConfig.lpszProxyBypass );
|
||||
ProxyConfig.lpszProxyBypass = NULL;
|
||||
}
|
||||
|
||||
return dwError;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
const WINHTTP_PROXY_RESULT_ENTRY* ProxyResolver::GetProxySetting( const DWORD index ) const
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( index < m_wprProxyResult.cEntries )
|
||||
{
|
||||
return &m_wprProxyResult.pEntries[index];
|
||||
}
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
#pragma once
|
||||
#include <windows.h>
|
||||
#include <winhttp.h>
|
||||
|
||||
#if _WIN32_WINNT < 0x0602 // This stuff became available with Windows 8
|
||||
typedef struct _WINHTTP_PROXY_RESULT_ENTRY
|
||||
{
|
||||
BOOL fProxy; // Is this a proxy or DIRECT?
|
||||
BOOL fBypass; // If DIRECT, is it bypassing a proxy (intranet) or is all traffic DIRECT (internet)
|
||||
INTERNET_SCHEME ProxyScheme; // The scheme of the proxy, SOCKS, HTTP (CERN Proxy), HTTPS (SSL through Proxy)
|
||||
PWSTR pwszProxy; // Hostname of the proxy.
|
||||
INTERNET_PORT ProxyPort; // Port of the proxy.
|
||||
} WINHTTP_PROXY_RESULT_ENTRY;
|
||||
|
||||
typedef struct _WINHTTP_PROXY_RESULT
|
||||
{
|
||||
DWORD cEntries;
|
||||
WINHTTP_PROXY_RESULT_ENTRY* pEntries;
|
||||
} WINHTTP_PROXY_RESULT;
|
||||
#endif // #if _WIN32_WINNT < 0x0602
|
||||
|
||||
typedef DWORD ( WINAPI* PFNWINHTTPGETPROXYFORURLEX )( HINTERNET, PCWSTR, WINHTTP_AUTOPROXY_OPTIONS*, DWORD_PTR );
|
||||
typedef DWORD ( WINAPI* PFNWINHTTPFREEPROXYLIST )( WINHTTP_PROXY_RESULT* );
|
||||
typedef DWORD ( WINAPI* PFNWINHTTPCREATEPROXYRESOLVER )( HINTERNET, HINTERNET* );
|
||||
typedef DWORD ( WINAPI* PFNWINHTTPGETPROXYRESULT )( HINTERNET, WINHTTP_PROXY_RESULT* );
|
||||
|
||||
class ProxyResolver
|
||||
{
|
||||
BOOL m_fInit;
|
||||
BOOL m_fExtendedAPI;
|
||||
DWORD m_dwError;
|
||||
HANDLE m_hEvent;
|
||||
WINHTTP_PROXY_INFO m_wpiProxyInfo;
|
||||
WINHTTP_PROXY_RESULT m_wprProxyResult;
|
||||
|
||||
BOOL IsRecoverableAutoProxyError( _In_ DWORD dwError );
|
||||
VOID static CALLBACK GetProxyCallBack( _In_ HINTERNET hResolver, _In_ DWORD_PTR dwContext, _In_ DWORD dwInternetStatus, _In_ PVOID pvStatusInformation, _In_ DWORD dwStatusInformationLength );
|
||||
DWORD GetProxyForUrlEx( _In_ HINTERNET hSession, _In_z_ PCWSTR pwszUrl, _In_ WINHTTP_AUTOPROXY_OPTIONS* pAutoProxyOptions );
|
||||
_Success_( return == ERROR_SUCCESS ) DWORD GetProxyForAutoSettings( _In_ HINTERNET hSession, _In_z_ PCWSTR pwszUrl, _In_opt_z_ PCWSTR pwszAutoConfigUrl, _Outptr_result_maybenull_ PWSTR* ppwszProxy, _Outptr_result_maybenull_ PWSTR* ppwszProxyBypass );
|
||||
|
||||
static PFNWINHTTPGETPROXYFORURLEX s_pfnWinhttpGetProxyForUrlEx;
|
||||
static PFNWINHTTPFREEPROXYLIST s_pfnWinhttpFreeProxyList;
|
||||
static PFNWINHTTPCREATEPROXYRESOLVER s_pfnWinhttpCreateProxyResolver;
|
||||
static PFNWINHTTPGETPROXYRESULT s_pfnWinhttpGetProxyResult;
|
||||
|
||||
public:
|
||||
ProxyResolver();
|
||||
~ProxyResolver();
|
||||
|
||||
DWORD ResolveProxy( _In_ HINTERNET hSession, _In_z_ PCWSTR pwszUrl );
|
||||
const WINHTTP_PROXY_RESULT_ENTRY* GetProxySetting( const DWORD index ) const;
|
||||
};
|
@ -0,0 +1,232 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#include "../ProxyResolverContext.h"
|
||||
#include "ProxyResolver.h"
|
||||
#include <lmcons.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation ProxyResolverContextImpl ===================
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
struct ProxyResolverContextImpl
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
HINTERNET hProxyResolveSession;
|
||||
ProxyResolver* pProxyResolver;
|
||||
explicit ProxyResolverContextImpl( const wstring& userAgent ) : hProxyResolveSession( 0 ), pProxyResolver( 0 )
|
||||
{
|
||||
hProxyResolveSession = WinHttpOpen( userAgent.c_str(), WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, WINHTTP_FLAG_ASYNC );
|
||||
if( hProxyResolveSession )
|
||||
{
|
||||
pProxyResolver = new ProxyResolver();
|
||||
}
|
||||
}
|
||||
~ProxyResolverContextImpl()
|
||||
{
|
||||
delete pProxyResolver;
|
||||
if( hProxyResolveSession )
|
||||
{
|
||||
WinHttpCloseHandle( hProxyResolveSession );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation ProxyResolverContext =======================
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
ProxyResolverContext::ProxyResolverContext( const wstring& userAgent, const wstring& url ) : pImpl_( new ProxyResolverContextImpl( userAgent ) )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( pImpl_->pProxyResolver )
|
||||
{
|
||||
pImpl_->pProxyResolver->ResolveProxy( pImpl_->hProxyResolveSession, url.c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
ProxyResolverContext::~ProxyResolverContext()
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
delete pImpl_;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
wstring ProxyResolverContext::GetProxy( unsigned int index ) const
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
const WINHTTP_PROXY_RESULT_ENTRY* pProxyData = pImpl_->pProxyResolver->GetProxySetting( index );
|
||||
return ( pProxyData && pProxyData->pwszProxy ) ? wstring( pProxyData->pwszProxy ) : wstring();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
unsigned int ProxyResolverContext::GetProxyPort( unsigned int index ) const
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
const WINHTTP_PROXY_RESULT_ENTRY* pProxyData = pImpl_->pProxyResolver->GetProxySetting( index );
|
||||
return pProxyData ? pProxyData->ProxyPort : 0;
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation helper functions ===========================
|
||||
//=============================================================================
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/// \brief This function checks the token of the calling thread to see if the caller
|
||||
/// belongs to the Administrators group.
|
||||
/**
|
||||
* \return
|
||||
- true if the caller is an administrator on the local machine.
|
||||
- false otherwise
|
||||
*/
|
||||
bool IsCurrentUserLocalAdministrator( void )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
BOOL fReturn = FALSE;
|
||||
PACL pACL = NULL;
|
||||
PSID psidAdmin = NULL;
|
||||
HANDLE hToken = NULL;
|
||||
HANDLE hImpersonationToken = NULL;
|
||||
PSECURITY_DESCRIPTOR psdAdmin = NULL;
|
||||
|
||||
|
||||
// Determine if the current thread is running as a user that is a member of
|
||||
// the local admins group. To do this, create a security descriptor that
|
||||
// has a DACL which has an ACE that allows only local administrators access.
|
||||
// Then, call AccessCheck with the current thread's token and the security
|
||||
// descriptor. It will say whether the user could access an object if it
|
||||
// had that security descriptor. Note: you do not need to actually create
|
||||
// the object. Just checking access against the security descriptor alone
|
||||
// will be sufficient.
|
||||
const DWORD ACCESS_READ = 1;
|
||||
const DWORD ACCESS_WRITE = 2;
|
||||
|
||||
__try
|
||||
{
|
||||
// AccessCheck() requires an impersonation token. We first get a primary
|
||||
// token and then create a duplicate impersonation token. The
|
||||
// impersonation token is not actually assigned to the thread, but is
|
||||
// used in the call to AccessCheck. Thus, this function itself never
|
||||
// impersonates, but does use the identity of the thread. If the thread
|
||||
// was impersonating already, this function uses that impersonation context.
|
||||
if( !OpenThreadToken( GetCurrentThread(), TOKEN_DUPLICATE | TOKEN_QUERY, TRUE, &hToken ) )
|
||||
{
|
||||
if( GetLastError() != ERROR_NO_TOKEN )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
if( !OpenProcessToken( GetCurrentProcess(), TOKEN_DUPLICATE | TOKEN_QUERY, &hToken ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
}
|
||||
|
||||
if( !DuplicateToken ( hToken, SecurityImpersonation, &hImpersonationToken ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
// Create the binary representation of the well-known SID that
|
||||
// represents the local administrators group. Then create the security
|
||||
// descriptor and DACL with an ACE that allows only local admins access.
|
||||
// After that, perform the access check. This will determine whether
|
||||
// the current user is a local admin.
|
||||
SID_IDENTIFIER_AUTHORITY SystemSidAuthority = SECURITY_NT_AUTHORITY;
|
||||
if( !AllocateAndInitializeSid( &SystemSidAuthority, 2,
|
||||
SECURITY_BUILTIN_DOMAIN_RID,
|
||||
DOMAIN_ALIAS_RID_ADMINS,
|
||||
0, 0, 0, 0, 0, 0, &psidAdmin ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
psdAdmin = LocalAlloc( LPTR, SECURITY_DESCRIPTOR_MIN_LENGTH );
|
||||
if( psdAdmin == NULL )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
if( !InitializeSecurityDescriptor( psdAdmin, SECURITY_DESCRIPTOR_REVISION ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
// Compute size needed for the ACL.
|
||||
const DWORD dwACLSize = sizeof( ACL ) + sizeof( ACCESS_ALLOWED_ACE ) + GetLengthSid( psidAdmin ) - sizeof( DWORD );
|
||||
pACL = ( PACL )LocalAlloc( LPTR, dwACLSize );
|
||||
if( pACL == NULL )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
if( !InitializeAcl( pACL, dwACLSize, ACL_REVISION2 ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
if( !AddAccessAllowedAce( pACL, ACL_REVISION2, ACCESS_READ | ACCESS_WRITE, psidAdmin ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
if( !SetSecurityDescriptorDacl( psdAdmin, TRUE, pACL, FALSE ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
// AccessCheck validates a security descriptor somewhat; set the group
|
||||
// and owner so that enough of the security descriptor is filled out to
|
||||
// make AccessCheck happy.
|
||||
SetSecurityDescriptorGroup( psdAdmin, psidAdmin, FALSE );
|
||||
SetSecurityDescriptorOwner( psdAdmin, psidAdmin, FALSE );
|
||||
|
||||
if( !IsValidSecurityDescriptor( psdAdmin ) )
|
||||
{
|
||||
__leave;
|
||||
}
|
||||
|
||||
// Initialize GenericMapping structure even though you do not use generic rights.
|
||||
GENERIC_MAPPING GenericMapping;
|
||||
GenericMapping.GenericRead = ACCESS_READ;
|
||||
GenericMapping.GenericWrite = ACCESS_WRITE;
|
||||
GenericMapping.GenericExecute = 0;
|
||||
GenericMapping.GenericAll = ACCESS_READ | ACCESS_WRITE;
|
||||
DWORD dwStructureSize = sizeof( PRIVILEGE_SET );
|
||||
DWORD dwStatus;
|
||||
PRIVILEGE_SET ps;
|
||||
if( !AccessCheck( psdAdmin, hImpersonationToken, ACCESS_READ,
|
||||
&GenericMapping, &ps, &dwStructureSize, &dwStatus,
|
||||
&fReturn ) )
|
||||
{
|
||||
fReturn = FALSE;
|
||||
__leave;
|
||||
}
|
||||
}
|
||||
__finally
|
||||
{
|
||||
if( pACL )
|
||||
{
|
||||
LocalFree( pACL );
|
||||
}
|
||||
if( psdAdmin )
|
||||
{
|
||||
LocalFree( psdAdmin );
|
||||
}
|
||||
if( psidAdmin )
|
||||
{
|
||||
FreeSid( psidAdmin );
|
||||
}
|
||||
if( hImpersonationToken )
|
||||
{
|
||||
CloseHandle ( hImpersonationToken );
|
||||
}
|
||||
if( hToken )
|
||||
{
|
||||
CloseHandle ( hToken );
|
||||
}
|
||||
}
|
||||
|
||||
return fReturn != FALSE;
|
||||
}
|
@ -0,0 +1,651 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef wxAbstractionH
|
||||
#define wxAbstractionH wxAbstractionH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <apps/Common/Info.h>
|
||||
#include <apps/Common/mvIcon.xpm>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "wxIncludePrologue.h"
|
||||
#include <wx/button.h>
|
||||
#include <wx/combobox.h>
|
||||
#include <wx/config.h>
|
||||
#include <wx/dialog.h>
|
||||
#include <wx/dynlib.h>
|
||||
#include <wx/hyperlink.h>
|
||||
#include <wx/listctrl.h>
|
||||
#include <wx/log.h>
|
||||
#include <wx/notebook.h>
|
||||
#include <wx/settings.h>
|
||||
#include <wx/sizer.h>
|
||||
#include <wx/splash.h>
|
||||
#include <wx/socket.h>
|
||||
#include <wx/stattext.h>
|
||||
#include <wx/string.h>
|
||||
#include <wx/textctrl.h>
|
||||
#include <wx/timer.h>
|
||||
#include <wx/window.h>
|
||||
#include "wxIncludeEpilogue.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
struct ConvertedString : wxString
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
#if wxUSE_UNICODE
|
||||
ConvertedString( const char* s ) :
|
||||
wxString( s, wxConvUTF8 ) {}
|
||||
ConvertedString( const std::string& s ) :
|
||||
wxString( s.c_str(), wxConvUTF8 ) {}
|
||||
ConvertedString( const wxString& s ) :
|
||||
# if wxCHECK_VERSION(2,9,0)
|
||||
wxString( s.mb_str(), wxConvUTF8 ) {}
|
||||
# else
|
||||
wxString( s.c_str(), wxConvUTF8 ) {}
|
||||
# endif
|
||||
#else
|
||||
ConvertedString( const char* s ) :
|
||||
wxString( s ) {}
|
||||
ConvertedString( const std::string& s ) :
|
||||
wxString( s.c_str() ) {}
|
||||
ConvertedString( const wxString& s ) :
|
||||
# if wxCHECK_VERSION(2,9,0)
|
||||
wxString( s.mb_str() ) {}
|
||||
# else
|
||||
wxString( s.c_str() ) {}
|
||||
# endif
|
||||
#endif
|
||||
};
|
||||
|
||||
#if ( wxMINOR_VERSION > 6 ) && ( wxMAJOR_VERSION < 3 ) && !WXWIN_COMPATIBILITY_2_6
|
||||
#include <wx/filedlg.h>
|
||||
enum
|
||||
{
|
||||
wxOPEN = wxFD_OPEN,
|
||||
wxSAVE = wxFD_SAVE,
|
||||
wxOVERWRITE_PROMPT = wxFD_OVERWRITE_PROMPT,
|
||||
wxFILE_MUST_EXIST = wxFD_FILE_MUST_EXIST,
|
||||
wxMULTIPLE = wxFD_MULTIPLE,
|
||||
wxCHANGE_DIR = wxFD_CHANGE_DIR
|
||||
};
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
enum TApplicationColors
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
acRedPastel = ( 200 << 16 ) | ( 200 << 8 ) | 255,
|
||||
acYellowPastel = ( 180 << 16 ) | ( 255 << 8 ) | 255,
|
||||
acBluePastel = ( 255 << 16 ) | ( 220 << 8 ) | 200,
|
||||
acDarkBluePastel = ( 255 << 16 ) | ( 100 << 8 ) | 80,
|
||||
acGreenPastel = ( 200 << 16 ) | ( 255 << 8 ) | 200,
|
||||
acGreyPastel = ( 200 << 16 ) | ( 200 << 8 ) | 200,
|
||||
acDarkGrey = ( 100 << 16 ) | ( 100 << 8 ) | 100
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation FramePositionStorage =======================
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
class FramePositionStorage
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxWindow* m_pWin;
|
||||
public:
|
||||
FramePositionStorage( wxWindow* pWin ) : m_pWin( pWin ) {}
|
||||
void Save( void ) const
|
||||
{
|
||||
Save( m_pWin );
|
||||
}
|
||||
static void Save( wxWindow* pWin, const wxString& windowName = wxT( "MainFrame" ) )
|
||||
{
|
||||
wxConfigBase* pConfig( wxConfigBase::Get() );
|
||||
int Height, Width, XPos, YPos;
|
||||
pWin->GetSize( &Width, &Height );
|
||||
pWin->GetPosition( &XPos, &YPos );
|
||||
// when we e.g. try to write config stuff on a read-only file system the result can
|
||||
// be an annoying message box. Therefore we switch off logging during the storage operation.
|
||||
wxLogNull logSuspendScope;
|
||||
pConfig->Write( wxString::Format( wxT( "/%s/h" ), windowName.c_str() ), Height );
|
||||
pConfig->Write( wxString::Format( wxT( "/%s/w" ), windowName.c_str() ), Width );
|
||||
pConfig->Write( wxString::Format( wxT( "/%s/x" ), windowName.c_str() ), XPos );
|
||||
pConfig->Write( wxString::Format( wxT( "/%s/y" ), windowName.c_str() ), YPos );
|
||||
if( dynamic_cast<wxTopLevelWindow*>( pWin ) )
|
||||
{
|
||||
pConfig->Write( wxString::Format( wxT( "/%s/maximized" ), windowName.c_str() ), dynamic_cast<wxTopLevelWindow*>( pWin )->IsMaximized() );
|
||||
}
|
||||
pConfig->Flush();
|
||||
}
|
||||
static wxRect Load( const wxRect& defaultDimensions, bool& boMaximized, const wxString& windowName = wxT( "MainFrame" ) )
|
||||
{
|
||||
wxConfigBase* pConfig( wxConfigBase::Get() );
|
||||
wxRect rect;
|
||||
rect.height = pConfig->Read( wxString::Format( wxT( "/%s/h" ), windowName.c_str() ), defaultDimensions.height );
|
||||
rect.width = pConfig->Read( wxString::Format( wxT( "/%s/w" ), windowName.c_str() ), defaultDimensions.width );
|
||||
rect.x = pConfig->Read( wxString::Format( wxT( "/%s/x" ), windowName.c_str() ), defaultDimensions.x );
|
||||
rect.y = pConfig->Read( wxString::Format( wxT( "/%s/y" ), windowName.c_str() ), defaultDimensions.y );
|
||||
boMaximized = pConfig->Read( wxString::Format( wxT( "/%s/maximized" ), windowName.c_str() ), 1l ) != 0;
|
||||
int displayWidth = 0;
|
||||
int displayHeight = 0;
|
||||
wxDisplaySize( &displayWidth, &displayHeight );
|
||||
if( ( rect.x >= displayWidth ) || ( ( rect.x + rect.width ) < 0 ) )
|
||||
{
|
||||
rect.x = 0;
|
||||
}
|
||||
if( ( rect.y >= displayHeight ) || ( ( rect.y + rect.height ) < 0 ) )
|
||||
{
|
||||
rect.y = 0;
|
||||
}
|
||||
return rect;
|
||||
}
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation SplashScreenScope ==========================
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
class SplashScreenScope
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxSplashScreen* pSplash_;
|
||||
wxStopWatch stopWatch_;
|
||||
public:
|
||||
explicit SplashScreenScope( const wxBitmap& bmp ) : pSplash_( 0 ), stopWatch_()
|
||||
{
|
||||
pSplash_ = new wxSplashScreen( ( wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_SMALL ) ? wxBitmap( mvIcon_xpm ) : bmp, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, NULL, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER );
|
||||
pSplash_->Update();
|
||||
}
|
||||
virtual ~SplashScreenScope()
|
||||
{
|
||||
const unsigned long startupTime_ms = static_cast<unsigned long>( stopWatch_.Time() );
|
||||
const unsigned long minSplashDisplayTime_ms = 3000;
|
||||
if( startupTime_ms < minSplashDisplayTime_ms )
|
||||
{
|
||||
wxMilliSleep( minSplashDisplayTime_ms - startupTime_ms );
|
||||
}
|
||||
delete pSplash_;
|
||||
}
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation SocketInitializeScope ======================
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
class SocketInitializeScope
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
public:
|
||||
explicit SocketInitializeScope()
|
||||
{
|
||||
// This has to be called in order to be able to initialize sockets outside of
|
||||
// the main thread ( http://www.litwindow.com/Knowhow/wxSocket/wxsocket.html )
|
||||
wxSocketBase::Initialize();
|
||||
}
|
||||
~SocketInitializeScope()
|
||||
{
|
||||
// Must apparently be done since we called wxSocketBase::Initialize(),
|
||||
// otherwise memory leaks occur when closing the application.
|
||||
wxSocketBase::Shutdown();
|
||||
}
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
//================= Implementation miscellaneous helper functions =============
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
inline wxString LoadGenTLProducer( wxDynamicLibrary& lib )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
#ifdef _WIN32
|
||||
const wxString libName( wxT( "mvGenTLProducer.cti" ) );
|
||||
#else
|
||||
const wxString libName( wxT( "libmvGenTLProducer.so" ) );
|
||||
#endif
|
||||
|
||||
const wxString GenTLPathVariable( ( sizeof( void* ) == 8 ) ? wxT( "GENICAM_GENTL64_PATH" ) : wxT( "GENICAM_GENTL32_PATH" ) );
|
||||
#if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
const wxChar PATH_SEPARATOR( wxT( ':' ) );
|
||||
#elif defined(_WIN32) || defined(WIN32) || defined(__WIN32__)
|
||||
const wxChar PATH_SEPARATOR( wxT( ';' ) );
|
||||
#else
|
||||
# error Unsupported target platform
|
||||
#endif
|
||||
wxString GenTLPath;
|
||||
wxArrayString potentialLocations;
|
||||
if( ::wxGetEnv( GenTLPathVariable, &GenTLPath ) )
|
||||
{
|
||||
potentialLocations = wxSplit( GenTLPath, PATH_SEPARATOR );
|
||||
}
|
||||
|
||||
wxString message;
|
||||
// when we e.g. trying to load a shared library that cannot be found the result can
|
||||
// be an annoying message box. Therefore we switch off logging during the load attempts.
|
||||
wxLogNull logSuspendScope;
|
||||
const size_t potentialLocationCount = potentialLocations.Count();
|
||||
for( size_t i = 0; i < potentialLocationCount; i++ )
|
||||
{
|
||||
lib.Load( potentialLocations[i] + wxT( "/" ) + libName, wxDL_VERBATIM );
|
||||
if( lib.IsLoaded() )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( !lib.IsLoaded() )
|
||||
{
|
||||
lib.Load( libName, wxDL_VERBATIM );
|
||||
}
|
||||
if( !lib.IsLoaded() )
|
||||
{
|
||||
message = wxString::Format( wxT( "Could not connect to '%s'. Check your installation.\n\n" ), libName.c_str() );
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void AddSourceInfo( wxWindow* pParent, wxSizer* pParentSizer )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxBoxSizer* pSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxT( "The complete source code belonging to this application can be obtained by contacting " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( pParent, wxID_ANY, COMPANY_NAME, COMPANY_WEBSITE ) );
|
||||
pParentSizer->Add( pSizer, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void AddSupportInfo( wxWindow* pParent, wxSizer* pParentSizer )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxBoxSizer* pSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxT( "Support contact: " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( pParent, wxID_ANY, COMPANY_SUPPORT_MAIL, COMPANY_SUPPORT_MAIL ) );
|
||||
pParentSizer->Add( pSizer, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void AddwxWidgetsInfo( wxWindow* pParent, wxSizer* pParentSizer )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxBoxSizer* pSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxT( "This tool has been written using " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( pParent, wxID_ANY, wxT( "wxWidgets" ), wxT( "http://www.wxwidgets.org" ) ) );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxString::Format( wxT( " %d.%d.%d." ), wxMAJOR_VERSION, wxMINOR_VERSION, wxRELEASE_NUMBER ) ) );
|
||||
pParentSizer->Add( pSizer, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void AddIconInfo( wxWindow* pParent, wxSizer* pParentSizer )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxBoxSizer* pSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxT( "This tool uses modified icons downloaded from here " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( pParent, wxID_ANY, wxT( "icons8" ), wxT( "https://icons8.com/" ) ) );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxT( " and here " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( pParent, wxID_ANY, wxT( "Freepik" ), wxT( "http://www.freepik.com" ) ) );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxT( ". The " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( pParent, wxID_ANY, wxT( "Material Design" ), wxT( "https://material.io/resources/icons/?style=outline" ) ) );
|
||||
pSizer->Add( new wxStaticText( pParent, wxID_ANY, wxT( " icons are published under " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( pParent, wxID_ANY, wxT( "Apache 2.0 license." ), wxT( "https://www.apache.org/licenses/LICENSE-2.0.html" ) ) );
|
||||
pParentSizer->Add( pSizer, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void AddListControlToAboutNotebook( wxNotebook* pNotebook, const wxString& pageTitle, bool boSelectPage, const wxString& col0, const wxString& col1, const std::vector<std::pair<wxString, wxString> >& v )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxListCtrl* pListCtrl = new wxListCtrl( pNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxLC_SINGLE_SEL | wxBORDER_NONE );
|
||||
pListCtrl->InsertColumn( 0, col0 );
|
||||
pListCtrl->InsertColumn( 1, col1 );
|
||||
const unsigned long cnt = static_cast<unsigned long>( v.size() );
|
||||
for( unsigned long i = 0; i < cnt; i++ )
|
||||
{
|
||||
long index = pListCtrl->InsertItem( i, v[i].first, i );
|
||||
pListCtrl->SetItem( index, 1, v[i].second );
|
||||
}
|
||||
for( unsigned int i = 0; i < 2; i++ )
|
||||
{
|
||||
pListCtrl->SetColumnWidth( i, wxLIST_AUTOSIZE );
|
||||
}
|
||||
pNotebook->AddPage( pListCtrl, pageTitle, boSelectPage );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void AppendPathSeparatorIfNeeded( wxString& path )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( !path.EndsWith( wxT( "/" ) ) && !path.EndsWith( wxT( "\\" ) ) )
|
||||
{
|
||||
path.append( wxT( "/" ) );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void WriteToTextCtrl( wxTextCtrl* pTextCtrl, const wxString& msg, const wxTextAttr& style = wxTextAttr( *wxBLACK ) )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( pTextCtrl )
|
||||
{
|
||||
// If you want the control to show the last line of text at the bottom, you can add "ScrollLines(1)"
|
||||
// right after the AppendText call. AppendText will ensure the new line is visible, and ScrollLines
|
||||
// will ensure the scroll bar is at the real end of the range, not further.
|
||||
long posBefore = pTextCtrl->GetLastPosition();
|
||||
pTextCtrl->AppendText( msg );
|
||||
long posAfter = pTextCtrl->GetLastPosition();
|
||||
pTextCtrl->SetStyle( posBefore, posAfter, style );
|
||||
pTextCtrl->ScrollLines( 1 );
|
||||
pTextCtrl->ShowPosition( pTextCtrl->GetLastPosition() ); // ensure that this position is really visible
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
struct AboutDialogInformation
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxWindow* pParent_;
|
||||
wxString applicationName_;
|
||||
wxString briefDescription_;
|
||||
unsigned int yearOfInitialRelease_;
|
||||
std::vector<std::pair<wxString, wxTextAttr> > usageHints_;
|
||||
std::vector<std::pair<wxString, wxString> > keyboardShortcuts_;
|
||||
std::vector<std::pair<wxString, wxString> > availableCommandLineOptions_;
|
||||
bool boAddIconInfo_;
|
||||
bool boAddExpatInfo_;
|
||||
bool boAddFFmpegInfo_;
|
||||
explicit AboutDialogInformation( wxWindow* pParent = 0 ) : pParent_( pParent ), applicationName_(),
|
||||
briefDescription_(), yearOfInitialRelease_( 2005 ), usageHints_(), keyboardShortcuts_(),
|
||||
availableCommandLineOptions_(), boAddIconInfo_( false ), boAddExpatInfo_( false ), boAddFFmpegInfo_( false ) {}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void DisplayCommandLineProcessingInformation( wxTextCtrl* pTextCtrl, const wxString& processedCommandLineParameters, const wxString& parserErrors, const wxTextAttr& style )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
WriteToTextCtrl( pTextCtrl, wxT( "\n" ) );
|
||||
WriteToTextCtrl( pTextCtrl, wxT( "Press 'F1' for help.\n" ), style );
|
||||
WriteToTextCtrl( pTextCtrl, wxT( "\n" ) );
|
||||
const wxString none( wxT( "none" ) );
|
||||
WriteToTextCtrl( pTextCtrl, wxString::Format( wxT( "Processed command line parameters: %s\n" ), ( processedCommandLineParameters.length() > 0 ) ? processedCommandLineParameters.c_str() : none.c_str() ), style );
|
||||
WriteToTextCtrl( pTextCtrl, wxT( "\n" ) );
|
||||
if( !parserErrors.IsEmpty() )
|
||||
{
|
||||
WriteToTextCtrl( pTextCtrl, parserErrors, wxTextAttr( *wxRED ) );
|
||||
WriteToTextCtrl( pTextCtrl, wxT( "\n" ) );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void DisplayCommonAboutDialog( const AboutDialogInformation& info )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxBoxSizer* pTopDownSizer;
|
||||
wxDialog dlg( info.pParent_, wxID_ANY, wxString( wxString::Format( wxT( "About %s" ), info.applicationName_.c_str() ) ), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxMAXIMIZE_BOX | wxMINIMIZE_BOX );
|
||||
wxIcon icon( mvIcon_xpm );
|
||||
dlg.SetIcon( icon );
|
||||
pTopDownSizer = new wxBoxSizer( wxVERTICAL );
|
||||
wxStaticText* pText = new wxStaticText( &dlg, wxID_ANY, info.briefDescription_ );
|
||||
pTopDownSizer->Add( pText, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
pText = new wxStaticText( &dlg, wxID_ANY, wxString::Format( wxT( "(C) %u - %s by %s" ), info.yearOfInitialRelease_, CURRENT_YEAR, COMPANY_NAME ) );
|
||||
pTopDownSizer->Add( pText, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
pText = new wxStaticText( &dlg, wxID_ANY, wxString::Format( wxT( "Version %s" ), VERSION_STRING ) );
|
||||
pTopDownSizer->Add( pText, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
AddSupportInfo( &dlg, pTopDownSizer );
|
||||
AddwxWidgetsInfo( &dlg, pTopDownSizer );
|
||||
if( info.boAddIconInfo_ )
|
||||
{
|
||||
AddIconInfo( &dlg, pTopDownSizer );
|
||||
}
|
||||
if( info.boAddExpatInfo_ )
|
||||
{
|
||||
pText = new wxStaticText( &dlg, wxID_ANY, wxT( "The expat wrapper class used internally has been written by Descartes Systems Sciences, Inc." ) );
|
||||
pTopDownSizer->Add( pText, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
}
|
||||
if( info.boAddFFmpegInfo_ )
|
||||
{
|
||||
wxBoxSizer* pSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
pSizer->Add( new wxStaticText( &dlg, wxID_ANY, wxT( "The video recording functionality of this application requires libraries from the " ) ) );
|
||||
pSizer->Add( new wxHyperlinkCtrl( &dlg, wxID_ANY, wxT( "FFmpeg" ), wxT( "https://www.ffmpeg.org/" ) ) );
|
||||
pSizer->Add( new wxStaticText( &dlg, wxID_ANY, wxT( " project under the LGPLv2.1. These must be installed separately" ) ) );
|
||||
pTopDownSizer->Add( pSizer, 0, wxALL | wxALIGN_CENTER, 5 );
|
||||
}
|
||||
AddSourceInfo( &dlg, pTopDownSizer );
|
||||
wxNotebook* pNotebook = new wxNotebook( &dlg, wxID_ANY, wxDefaultPosition, wxDefaultSize );
|
||||
wxTextCtrl* pUsageHints = new wxTextCtrl( pNotebook, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxBORDER_NONE | wxTE_RICH | wxTE_READONLY );
|
||||
pNotebook->AddPage( pUsageHints, wxT( "Usage Hints" ), true );
|
||||
std::vector<std::pair<wxTextAttr, wxString> >::size_type usageHintStringCount = info.usageHints_.size();
|
||||
for( std::vector<std::pair<wxString, wxTextAttr> >::size_type i = 0; i < usageHintStringCount; i++ )
|
||||
{
|
||||
WriteToTextCtrl( pUsageHints, info.usageHints_[i].first, info.usageHints_[i].second );
|
||||
}
|
||||
pUsageHints->ScrollLines( -( 256 * 256 ) ); // make sure the text control always shows the beginning of the help text
|
||||
if( !info.keyboardShortcuts_.empty() )
|
||||
{
|
||||
AddListControlToAboutNotebook( pNotebook, wxT( "Keyboard Shortcuts" ), false, wxT( "Shortcut" ), wxT( "Command" ), info.keyboardShortcuts_ );
|
||||
}
|
||||
if( !info.availableCommandLineOptions_.empty() )
|
||||
{
|
||||
AddListControlToAboutNotebook( pNotebook, wxT( "Available Command Line Options" ), false, wxT( "Command" ), wxT( "Description" ), info.availableCommandLineOptions_ );
|
||||
}
|
||||
pTopDownSizer->AddSpacer( 10 );
|
||||
pTopDownSizer->Add( pNotebook, wxSizerFlags( 5 ).Expand() );
|
||||
pTopDownSizer->AddSpacer( 10 );
|
||||
wxButton* pBtnOK = new wxButton( &dlg, wxID_OK, wxT( "OK" ) );
|
||||
pBtnOK->SetDefault();
|
||||
pTopDownSizer->Add( pBtnOK, 0, wxALL | wxALIGN_RIGHT, 15 );
|
||||
dlg.SetSizer( pTopDownSizer );
|
||||
dlg.SetSizeHints( 720, 500 );
|
||||
dlg.SetSize( -1, -1, 800, 500 );
|
||||
dlg.ShowModal();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline wxTextAttr GetCommonTextStyle( const bool boBold, const bool boUnderlined, wxTextCtrl*
|
||||
#if wxCHECK_VERSION(2, 9, 5)
|
||||
#else
|
||||
pParent
|
||||
#endif // #if wxCHECK_VERSION(2, 9, 5)
|
||||
)
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxTextAttr theStyle;
|
||||
#if wxCHECK_VERSION(2, 9, 5)
|
||||
wxFontInfo fontInfo( 10 );
|
||||
if( boBold )
|
||||
{
|
||||
fontInfo.Bold();
|
||||
}
|
||||
if( boUnderlined )
|
||||
{
|
||||
fontInfo.Underlined();
|
||||
}
|
||||
wxFont theFont( fontInfo );
|
||||
#else
|
||||
pParent->GetStyle( pParent->GetLastPosition(), theStyle );
|
||||
wxFont theFont( theStyle.GetFont() );
|
||||
if( boBold )
|
||||
{
|
||||
theFont.SetWeight( wxFONTWEIGHT_BOLD );
|
||||
}
|
||||
theFont.SetPointSize( 10 );
|
||||
if( boUnderlined )
|
||||
{
|
||||
theFont.SetUnderlined( true );
|
||||
}
|
||||
#endif // #if wxCHECK_VERSION(2, 9, 5)
|
||||
theStyle.SetFont( theFont );
|
||||
return theStyle;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline wxTextAttr GetBoldStyle( wxTextCtrl* pParent )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return GetCommonTextStyle( true, false, pParent );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline wxTextAttr GetBoldUnderlinedStyle( wxTextCtrl* pParent )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return GetCommonTextStyle( true, true, pParent );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline wxTextAttr GetDefaultStyle( wxTextCtrl* pParent )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return GetCommonTextStyle( false, false, pParent );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline wxTextAttr GetUnderlinedStyle( wxTextCtrl* pParent )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return GetCommonTextStyle( false, true, pParent );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool IsListOfChoicesEmpty( wxComboBox* pCB )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
#if wxCHECK_VERSION(2, 9, 3)
|
||||
return pCB->IsListEmpty();
|
||||
#else
|
||||
return pCB->IsEmpty();
|
||||
#endif // #if wxCHECK_VERSION(2, 9, 3)
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline void StopTimer( wxTimer& timer )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( timer.IsRunning() )
|
||||
{
|
||||
timer.Stop();
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
//===================== Implementation Version helper functions ===============
|
||||
//=============================================================================
|
||||
//-----------------------------------------------------------------------------
|
||||
struct Version
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
long major_;
|
||||
long minor_;
|
||||
long subMinor_;
|
||||
long release_;
|
||||
explicit Version() : major_( -1 ), minor_( -1 ), subMinor_( -1 ), release_( 0 ) {}
|
||||
explicit Version( long ma, long mi, long smi, long re ) : major_( ma ), minor_( mi ), subMinor_( smi ), release_( re ) {}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool operator<( const Version& a, const Version& b )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( a.major_ < b.major_ )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if( a.major_ == b.major_ )
|
||||
{
|
||||
if( a.minor_ < b.minor_ )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if( a.minor_ == b.minor_ )
|
||||
{
|
||||
if( a.subMinor_ < b.subMinor_ )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if( a.subMinor_ == b.subMinor_ )
|
||||
{
|
||||
if( a.release_ < b.release_ )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool operator==( const Version& a, const Version& b )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return ( ( a.major_ == b.major_ ) && ( a.minor_ == b.minor_ ) && ( a.subMinor_ == b.subMinor_ ) && ( a.release_ == b.release_ ) );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool operator!=( const Version& a, const Version& b )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return ( ( a.major_ != b.major_ ) || ( a.minor_ != b.minor_ ) || ( a.subMinor_ != b.subMinor_ ) || ( a.release_ != b.release_ ) );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool operator>( const Version& a, const Version& b )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return ( !( a < b ) && !( a == b ) );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool operator>=( const Version& a, const Version& b )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
return ( a > b ) || ( a == b );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool GetNextVersionNumber( wxString& str, long& number )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
wxString numberString = str.BeforeFirst( wxT( '.' ) );
|
||||
str = str.AfterFirst( wxT( '.' ) );
|
||||
return numberString.ToLong( &number );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline Version VersionFromString( const wxString& versionAsString )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
Version version;
|
||||
wxString tmp( versionAsString );
|
||||
GetNextVersionNumber( tmp, version.major_ );
|
||||
if( !tmp.empty() )
|
||||
{
|
||||
GetNextVersionNumber( tmp, version.minor_ );
|
||||
if( !tmp.empty() )
|
||||
{
|
||||
GetNextVersionNumber( tmp, version.subMinor_ );
|
||||
if( !tmp.empty() )
|
||||
{
|
||||
GetNextVersionNumber( tmp, version.release_ );
|
||||
}
|
||||
}
|
||||
}
|
||||
return version;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
inline bool IsVersionWithinRange( const Version& version, const Version& minVersion, const Version& maxVersion )
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
if( version < minVersion )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if( version > maxVersion )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif // wxAbstractionH
|
@ -0,0 +1,5 @@
|
||||
#if defined(__clang__)
|
||||
# pragma clang diagnostic pop
|
||||
#elif defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
# pragma warning( pop )
|
||||
#endif
|
@ -0,0 +1,10 @@
|
||||
#if defined(__clang__)
|
||||
# pragma clang diagnostic push
|
||||
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
# pragma clang diagnostic ignored "-Wunused-local-typedef"
|
||||
#elif defined(_MSC_VER) && (_MSC_VER >= 1400) // is at least VC 2005 compiler?
|
||||
# pragma warning( push )
|
||||
# pragma warning( disable : 4127 ) // 'conditional expression is constant'
|
||||
# pragma warning( disable : 4512 ) // 'class XYZ': assignment operator could not be generated'
|
||||
# pragma warning( disable : 4996 ) // ''function XYZ': was declared deprecated'
|
||||
#endif
|
@ -0,0 +1,9 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef wxIncluderH
|
||||
#define wxIncluderH wxIncluderH
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <apps/Common/wxIncludePrologue.h>
|
||||
#include "wx/wx.h"
|
||||
#include <apps/Common/wxIncludeEpilogue.h>
|
||||
|
||||
#endif // wxIncluderH
|
Binary file not shown.
@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
typedef enum _EncMethod {
|
||||
Device = 0,
|
||||
License = 1
|
||||
}EncMethod;
|
||||
|
||||
extern "C" bool GenerateDeviceID(void);
|
||||
extern "C" bool GenerateLicenseData(const char* flag, const char* suffix);
|
||||
extern "C" bool VerifyLicense(void);
|
||||
extern "C" bool AddParaForLicenseData(char* flag, char* suffix);
|
||||
extern "C" bool DeleteParaForLicenseData(char* flag);
|
||||
extern "C" bool AnalysisLicense(const char* flag);
|
Binary file not shown.
@ -0,0 +1,203 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'CaptureThread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../CaptureThread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'CaptureThread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CaptureThread_t {
|
||||
QByteArrayData data[11];
|
||||
char stringdata0[92];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CaptureThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CaptureThread_t qt_meta_stringdata_CaptureThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 13), // "CaptureThread"
|
||||
QT_MOC_LITERAL(1, 14, 5), // "error"
|
||||
QT_MOC_LITERAL(2, 20, 0), // ""
|
||||
QT_MOC_LITERAL(3, 21, 3), // "err"
|
||||
QT_MOC_LITERAL(4, 25, 8), // "finished"
|
||||
QT_MOC_LITERAL(5, 34, 12), // "requestReady"
|
||||
QT_MOC_LITERAL(6, 47, 16), // "updateStatistics"
|
||||
QT_MOC_LITERAL(7, 64, 4), // "data"
|
||||
QT_MOC_LITERAL(8, 69, 3), // "Num"
|
||||
QT_MOC_LITERAL(9, 73, 7), // "process"
|
||||
QT_MOC_LITERAL(10, 81, 10) // "fpsTimeout"
|
||||
|
||||
},
|
||||
"CaptureThread\0error\0\0err\0finished\0"
|
||||
"requestReady\0updateStatistics\0data\0"
|
||||
"Num\0process\0fpsTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CaptureThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 44, 2, 0x06 /* Public */,
|
||||
4, 0, 47, 2, 0x06 /* Public */,
|
||||
5, 0, 48, 2, 0x06 /* Public */,
|
||||
6, 2, 49, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
9, 0, 54, 2, 0x08 /* Private */,
|
||||
10, 0, 55, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 7, 8,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CaptureThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CaptureThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->error((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->finished(); break;
|
||||
case 2: _t->requestReady(); break;
|
||||
case 3: _t->updateStatistics((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 4: _t->process(); break;
|
||||
case 5: _t->fpsTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CaptureThread::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::error)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::finished)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::requestReady)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThread::*)(const QString & , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::updateStatistics)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CaptureThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CaptureThread.data,
|
||||
qt_meta_data_CaptureThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CaptureThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CaptureThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CaptureThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CaptureThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 6)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 6)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CaptureThread::error(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CaptureThread::finished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CaptureThread::requestReady()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void CaptureThread::updateStatistics(const QString & _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,207 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'CaptureThreadBasler.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../CaptureThreadBasler.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'CaptureThreadBasler.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CaptureThreadBasler_t {
|
||||
QByteArrayData data[12];
|
||||
char stringdata0[108];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CaptureThreadBasler_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CaptureThreadBasler_t qt_meta_stringdata_CaptureThreadBasler = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 19), // "CaptureThreadBasler"
|
||||
QT_MOC_LITERAL(1, 20, 5), // "error"
|
||||
QT_MOC_LITERAL(2, 26, 0), // ""
|
||||
QT_MOC_LITERAL(3, 27, 3), // "err"
|
||||
QT_MOC_LITERAL(4, 31, 8), // "finished"
|
||||
QT_MOC_LITERAL(5, 40, 12), // "requestReady"
|
||||
QT_MOC_LITERAL(6, 53, 16), // "updateStatistics"
|
||||
QT_MOC_LITERAL(7, 70, 4), // "data"
|
||||
QT_MOC_LITERAL(8, 75, 3), // "Num"
|
||||
QT_MOC_LITERAL(9, 79, 7), // "process"
|
||||
QT_MOC_LITERAL(10, 87, 10), // "fpsTimeout"
|
||||
QT_MOC_LITERAL(11, 98, 9) // "ioTimeout"
|
||||
|
||||
},
|
||||
"CaptureThreadBasler\0error\0\0err\0finished\0"
|
||||
"requestReady\0updateStatistics\0data\0"
|
||||
"Num\0process\0fpsTimeout\0ioTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CaptureThreadBasler[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
7, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 49, 2, 0x06 /* Public */,
|
||||
4, 0, 52, 2, 0x06 /* Public */,
|
||||
5, 0, 53, 2, 0x06 /* Public */,
|
||||
6, 2, 54, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
9, 0, 59, 2, 0x08 /* Private */,
|
||||
10, 0, 60, 2, 0x08 /* Private */,
|
||||
11, 0, 61, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 7, 8,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CaptureThreadBasler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CaptureThreadBasler *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->error((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->finished(); break;
|
||||
case 2: _t->requestReady(); break;
|
||||
case 3: _t->updateStatistics((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 4: _t->process(); break;
|
||||
case 5: _t->fpsTimeout(); break;
|
||||
case 6: _t->ioTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::error)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::finished)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::requestReady)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)(const QString & , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::updateStatistics)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CaptureThreadBasler::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CaptureThreadBasler.data,
|
||||
qt_meta_data_CaptureThreadBasler,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CaptureThreadBasler::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CaptureThreadBasler::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CaptureThreadBasler.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CaptureThreadBasler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 7)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 7;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 7)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 7;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CaptureThreadBasler::error(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CaptureThreadBasler::finished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CaptureThreadBasler::requestReady()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void CaptureThreadBasler::updateStatistics(const QString & _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,203 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'CaptureThreadHIK.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../CaptureThreadHIK.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'CaptureThreadHIK.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CaptureThreadHIK_t {
|
||||
QByteArrayData data[11];
|
||||
char stringdata0[95];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CaptureThreadHIK_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CaptureThreadHIK_t qt_meta_stringdata_CaptureThreadHIK = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 16), // "CaptureThreadHIK"
|
||||
QT_MOC_LITERAL(1, 17, 5), // "error"
|
||||
QT_MOC_LITERAL(2, 23, 0), // ""
|
||||
QT_MOC_LITERAL(3, 24, 3), // "err"
|
||||
QT_MOC_LITERAL(4, 28, 8), // "finished"
|
||||
QT_MOC_LITERAL(5, 37, 12), // "requestReady"
|
||||
QT_MOC_LITERAL(6, 50, 16), // "updateStatistics"
|
||||
QT_MOC_LITERAL(7, 67, 4), // "data"
|
||||
QT_MOC_LITERAL(8, 72, 3), // "Num"
|
||||
QT_MOC_LITERAL(9, 76, 7), // "process"
|
||||
QT_MOC_LITERAL(10, 84, 10) // "fpsTimeout"
|
||||
|
||||
},
|
||||
"CaptureThreadHIK\0error\0\0err\0finished\0"
|
||||
"requestReady\0updateStatistics\0data\0"
|
||||
"Num\0process\0fpsTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CaptureThreadHIK[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 44, 2, 0x06 /* Public */,
|
||||
4, 0, 47, 2, 0x06 /* Public */,
|
||||
5, 0, 48, 2, 0x06 /* Public */,
|
||||
6, 2, 49, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
9, 0, 54, 2, 0x08 /* Private */,
|
||||
10, 0, 55, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 7, 8,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CaptureThreadHIK::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CaptureThreadHIK *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->error((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->finished(); break;
|
||||
case 2: _t->requestReady(); break;
|
||||
case 3: _t->updateStatistics((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 4: _t->process(); break;
|
||||
case 5: _t->fpsTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::error)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::finished)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::requestReady)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)(const QString & , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::updateStatistics)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CaptureThreadHIK::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CaptureThreadHIK.data,
|
||||
qt_meta_data_CaptureThreadHIK,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CaptureThreadHIK::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CaptureThreadHIK::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CaptureThreadHIK.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CaptureThreadHIK::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 6)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 6)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CaptureThreadHIK::error(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CaptureThreadHIK::finished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CaptureThreadHIK::requestReady()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void CaptureThreadHIK::updateStatistics(const QString & _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,194 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Cleanthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../Cleanthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Cleanthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CleanWorkThread_t {
|
||||
QByteArrayData data[10];
|
||||
char stringdata0[103];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CleanWorkThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CleanWorkThread_t qt_meta_stringdata_CleanWorkThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 15), // "CleanWorkThread"
|
||||
QT_MOC_LITERAL(1, 16, 12), // "workFinished"
|
||||
QT_MOC_LITERAL(2, 29, 0), // ""
|
||||
QT_MOC_LITERAL(3, 30, 9), // "workStart"
|
||||
QT_MOC_LITERAL(4, 40, 13), // "workStartAuto"
|
||||
QT_MOC_LITERAL(5, 54, 9), // "startWork"
|
||||
QT_MOC_LITERAL(6, 64, 13), // "startWorkAuto"
|
||||
QT_MOC_LITERAL(7, 78, 6), // "doWork"
|
||||
QT_MOC_LITERAL(8, 85, 10), // "setSelAuto"
|
||||
QT_MOC_LITERAL(9, 96, 6) // "setSel"
|
||||
|
||||
},
|
||||
"CleanWorkThread\0workFinished\0\0workStart\0"
|
||||
"workStartAuto\0startWork\0startWorkAuto\0"
|
||||
"doWork\0setSelAuto\0setSel"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CleanWorkThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
8, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
3, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 54, 2, 0x06 /* Public */,
|
||||
3, 0, 55, 2, 0x06 /* Public */,
|
||||
4, 0, 56, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
5, 0, 57, 2, 0x0a /* Public */,
|
||||
6, 0, 58, 2, 0x0a /* Public */,
|
||||
7, 0, 59, 2, 0x0a /* Public */,
|
||||
8, 0, 60, 2, 0x0a /* Public */,
|
||||
9, 0, 61, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CleanWorkThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CleanWorkThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->workFinished(); break;
|
||||
case 1: _t->workStart(); break;
|
||||
case 2: _t->workStartAuto(); break;
|
||||
case 3: _t->startWork(); break;
|
||||
case 4: _t->startWorkAuto(); break;
|
||||
case 5: _t->doWork(); break;
|
||||
case 6: _t->setSelAuto(); break;
|
||||
case 7: _t->setSel(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CleanWorkThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CleanWorkThread::workFinished)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CleanWorkThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CleanWorkThread::workStart)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CleanWorkThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CleanWorkThread::workStartAuto)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CleanWorkThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CleanWorkThread.data,
|
||||
qt_meta_data_CleanWorkThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CleanWorkThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CleanWorkThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CleanWorkThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CleanWorkThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 8)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 8;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 8)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 8;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CleanWorkThread::workFinished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CleanWorkThread::workStart()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CleanWorkThread::workStartAuto()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,151 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Logthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../Logthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Logthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CLog_t {
|
||||
QByteArrayData data[16];
|
||||
char stringdata0[149];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CLog_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CLog_t qt_meta_stringdata_CLog = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 4), // "CLog"
|
||||
QT_MOC_LITERAL(1, 5, 19), // "recMegFromCigarette"
|
||||
QT_MOC_LITERAL(2, 25, 0), // ""
|
||||
QT_MOC_LITERAL(3, 26, 9), // "CLOG_TYPE"
|
||||
QT_MOC_LITERAL(4, 36, 8), // "STARTAPP"
|
||||
QT_MOC_LITERAL(5, 45, 9), // "STARTWORK"
|
||||
QT_MOC_LITERAL(6, 55, 9), // "PAUSEWORK"
|
||||
QT_MOC_LITERAL(7, 65, 6), // "UNLOCK"
|
||||
QT_MOC_LITERAL(8, 72, 9), // "DEBUGMODE"
|
||||
QT_MOC_LITERAL(9, 82, 10), // "UNKICKMODE"
|
||||
QT_MOC_LITERAL(10, 93, 7), // "SETTING"
|
||||
QT_MOC_LITERAL(11, 101, 8), // "CLEANPIC"
|
||||
QT_MOC_LITERAL(12, 110, 11), // "DOUBLECLICK"
|
||||
QT_MOC_LITERAL(13, 122, 9), // "ROTATEPIC"
|
||||
QT_MOC_LITERAL(14, 132, 10), // "PLCSETTING"
|
||||
QT_MOC_LITERAL(15, 143, 5) // "ALARM"
|
||||
|
||||
},
|
||||
"CLog\0recMegFromCigarette\0\0CLOG_TYPE\0"
|
||||
"STARTAPP\0STARTWORK\0PAUSEWORK\0UNLOCK\0"
|
||||
"DEBUGMODE\0UNKICKMODE\0SETTING\0CLEANPIC\0"
|
||||
"DOUBLECLICK\0ROTATEPIC\0PLCSETTING\0ALARM"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CLog[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
1, 22, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 1, 19, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QString, 2,
|
||||
|
||||
// enums: name, alias, flags, count, data
|
||||
3, 3, 0x0, 12, 27,
|
||||
|
||||
// enum data: key, value
|
||||
4, uint(CLog::STARTAPP),
|
||||
5, uint(CLog::STARTWORK),
|
||||
6, uint(CLog::PAUSEWORK),
|
||||
7, uint(CLog::UNLOCK),
|
||||
8, uint(CLog::DEBUGMODE),
|
||||
9, uint(CLog::UNKICKMODE),
|
||||
10, uint(CLog::SETTING),
|
||||
11, uint(CLog::CLEANPIC),
|
||||
12, uint(CLog::DOUBLECLICK),
|
||||
13, uint(CLog::ROTATEPIC),
|
||||
14, uint(CLog::PLCSETTING),
|
||||
15, uint(CLog::ALARM),
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CLog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CLog *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->recMegFromCigarette((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CLog::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CLog.data,
|
||||
qt_meta_data_CLog,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CLog::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CLog::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CLog.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CLog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,95 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'SyncWorkThread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../SyncWorkThread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'SyncWorkThread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_SyncWorkThread_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[15];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_SyncWorkThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_SyncWorkThread_t qt_meta_stringdata_SyncWorkThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 14) // "SyncWorkThread"
|
||||
|
||||
},
|
||||
"SyncWorkThread"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_SyncWorkThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void SyncWorkThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject SyncWorkThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_SyncWorkThread.data,
|
||||
qt_meta_data_SyncWorkThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *SyncWorkThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *SyncWorkThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_SyncWorkThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int SyncWorkThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,124 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'alarmdialog.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../alarmdialog.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'alarmdialog.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_AlarmDialog_t {
|
||||
QByteArrayData data[4];
|
||||
char stringdata0[71];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_AlarmDialog_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_AlarmDialog_t qt_meta_stringdata_AlarmDialog = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "AlarmDialog"
|
||||
QT_MOC_LITERAL(1, 12, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(2, 41, 0), // ""
|
||||
QT_MOC_LITERAL(3, 42, 28) // "on_pushButton_clear_released"
|
||||
|
||||
},
|
||||
"AlarmDialog\0on_pushButton_close_released\0"
|
||||
"\0on_pushButton_clear_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_AlarmDialog[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
2, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 24, 2, 0x08 /* Private */,
|
||||
3, 0, 25, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void AlarmDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<AlarmDialog *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->on_pushButton_close_released(); break;
|
||||
case 1: _t->on_pushButton_clear_released(); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject AlarmDialog::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_AlarmDialog.data,
|
||||
qt_meta_data_AlarmDialog,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *AlarmDialog::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *AlarmDialog::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_AlarmDialog.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int AlarmDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 2)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 2;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 2)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 2;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,150 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'camera_glue.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../camera_glue.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'camera_glue.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_camera_glue_t {
|
||||
QByteArrayData data[7];
|
||||
char stringdata0[97];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_camera_glue_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_camera_glue_t qt_meta_stringdata_camera_glue = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "camera_glue"
|
||||
QT_MOC_LITERAL(1, 12, 20), // "sendMsgToDialogSetup"
|
||||
QT_MOC_LITERAL(2, 33, 0), // ""
|
||||
QT_MOC_LITERAL(3, 34, 8), // "int[][3]"
|
||||
QT_MOC_LITERAL(4, 43, 3), // "ptr"
|
||||
QT_MOC_LITERAL(5, 47, 21), // "recMsgFromDialogSetup"
|
||||
QT_MOC_LITERAL(6, 69, 27) // "on_pushButton_take_released"
|
||||
|
||||
},
|
||||
"camera_glue\0sendMsgToDialogSetup\0\0"
|
||||
"int[][3]\0ptr\0recMsgFromDialogSetup\0"
|
||||
"on_pushButton_take_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_camera_glue[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
3, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 29, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
5, 1, 32, 2, 0x0a /* Public */,
|
||||
6, 0, 35, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, 0x80000000 | 3, 4,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, 0x80000000 | 3, 4,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void camera_glue::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<camera_glue *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendMsgToDialogSetup((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 1: _t->recMsgFromDialogSetup((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 2: _t->on_pushButton_take_released(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (camera_glue::*)(int [][3]);
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&camera_glue::sendMsgToDialogSetup)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject camera_glue::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_camera_glue.data,
|
||||
qt_meta_data_camera_glue,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *camera_glue::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *camera_glue::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_camera_glue.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int camera_glue::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 3)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 3;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 3)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 3;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void camera_glue::sendMsgToDialogSetup(int _t1[][3])
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,151 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'change_shift.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../change_shift.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'change_shift.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_change_shift_t {
|
||||
QByteArrayData data[8];
|
||||
char stringdata0[104];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_change_shift_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_change_shift_t qt_meta_stringdata_change_shift = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 12), // "change_shift"
|
||||
QT_MOC_LITERAL(1, 13, 20), // "sendMsgToDialogSetup"
|
||||
QT_MOC_LITERAL(2, 34, 0), // ""
|
||||
QT_MOC_LITERAL(3, 35, 5), // "timeA"
|
||||
QT_MOC_LITERAL(4, 41, 5), // "timeB"
|
||||
QT_MOC_LITERAL(5, 47, 5), // "timeC"
|
||||
QT_MOC_LITERAL(6, 53, 28), // "on_pushButton_apply_released"
|
||||
QT_MOC_LITERAL(7, 82, 21) // "recMsgFromDialogSetup"
|
||||
|
||||
},
|
||||
"change_shift\0sendMsgToDialogSetup\0\0"
|
||||
"timeA\0timeB\0timeC\0on_pushButton_apply_released\0"
|
||||
"recMsgFromDialogSetup"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_change_shift[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
3, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 3, 29, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
6, 0, 36, 2, 0x08 /* Private */,
|
||||
7, 3, 37, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 3, 4, 5,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 3, 4, 5,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void change_shift::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<change_shift *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendMsgToDialogSetup((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
case 1: _t->on_pushButton_apply_released(); break;
|
||||
case 2: _t->recMsgFromDialogSetup((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (change_shift::*)(QTime , QTime , QTime );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&change_shift::sendMsgToDialogSetup)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject change_shift::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_change_shift.data,
|
||||
qt_meta_data_change_shift,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *change_shift::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *change_shift::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_change_shift.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int change_shift::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 3)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 3;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 3)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 3;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void change_shift::sendMsgToDialogSetup(QTime _t1, QTime _t2, QTime _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,349 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'cigarette.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../cigarette.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'cigarette.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Cigarette_t {
|
||||
QByteArrayData data[57];
|
||||
char stringdata0[830];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Cigarette_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Cigarette_t qt_meta_stringdata_Cigarette = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 9), // "Cigarette"
|
||||
QT_MOC_LITERAL(1, 10, 13), // "sengMsgToClog"
|
||||
QT_MOC_LITERAL(2, 24, 0), // ""
|
||||
QT_MOC_LITERAL(3, 25, 19), // "sendMsgToExportData"
|
||||
QT_MOC_LITERAL(4, 45, 21), // "on_btn_start_released"
|
||||
QT_MOC_LITERAL(5, 67, 21), // "on_btn_pause_released"
|
||||
QT_MOC_LITERAL(6, 89, 20), // "on_btn_lock_released"
|
||||
QT_MOC_LITERAL(7, 110, 21), // "on_btn_setup_released"
|
||||
QT_MOC_LITERAL(8, 132, 25), // "on_checkBox_debug_clicked"
|
||||
QT_MOC_LITERAL(9, 158, 7), // "checked"
|
||||
QT_MOC_LITERAL(10, 166, 26), // "on_checkBox_unkick_clicked"
|
||||
QT_MOC_LITERAL(11, 193, 28), // "on_pushButton_wintab_clicked"
|
||||
QT_MOC_LITERAL(12, 222, 26), // "on_toolButton_plc_released"
|
||||
QT_MOC_LITERAL(13, 249, 28), // "on_toolButton_alarm_released"
|
||||
QT_MOC_LITERAL(14, 278, 28), // "on_pushButton_clear_released"
|
||||
QT_MOC_LITERAL(15, 307, 12), // "enable_shift"
|
||||
QT_MOC_LITERAL(16, 320, 11), // "OnNotifyHub"
|
||||
QT_MOC_LITERAL(17, 332, 3), // "Num"
|
||||
QT_MOC_LITERAL(18, 336, 3), // "Cnt"
|
||||
QT_MOC_LITERAL(19, 340, 7), // "cv::Mat"
|
||||
QT_MOC_LITERAL(20, 348, 1), // "m"
|
||||
QT_MOC_LITERAL(21, 350, 20), // "OnDisplayTimeCostHub"
|
||||
QT_MOC_LITERAL(22, 371, 2), // "ms"
|
||||
QT_MOC_LITERAL(23, 374, 23), // "OnDisplayCheckNumberHub"
|
||||
QT_MOC_LITERAL(24, 398, 2), // "no"
|
||||
QT_MOC_LITERAL(25, 401, 16), // "OnDisplayJdNoHub"
|
||||
QT_MOC_LITERAL(26, 418, 5), // "jd_no"
|
||||
QT_MOC_LITERAL(27, 424, 7), // "OnOKHub"
|
||||
QT_MOC_LITERAL(28, 432, 7), // "OnNGHub"
|
||||
QT_MOC_LITERAL(29, 440, 19), // "updateStatisticsHub"
|
||||
QT_MOC_LITERAL(30, 460, 15), // "statisticalData"
|
||||
QT_MOC_LITERAL(31, 476, 19), // "OnRotateReleasedHub"
|
||||
QT_MOC_LITERAL(32, 496, 26), // "OnToolButtonCamReleasedHub"
|
||||
QT_MOC_LITERAL(33, 523, 17), // "OpenCamTimeoutHub"
|
||||
QT_MOC_LITERAL(34, 541, 12), // "OnDBClickHub"
|
||||
QT_MOC_LITERAL(35, 554, 7), // "Num_Cnt"
|
||||
QT_MOC_LITERAL(36, 562, 13), // "DrawRect_init"
|
||||
QT_MOC_LITERAL(37, 576, 12), // "OnTPClickHub"
|
||||
QT_MOC_LITERAL(38, 589, 14), // "OnDBClickNGHub"
|
||||
QT_MOC_LITERAL(39, 604, 15), // "ReconnectCamHub"
|
||||
QT_MOC_LITERAL(40, 620, 7), // "OnMouse"
|
||||
QT_MOC_LITERAL(41, 628, 12), // "QMouseEvent*"
|
||||
QT_MOC_LITERAL(42, 641, 5), // "event"
|
||||
QT_MOC_LITERAL(43, 647, 5), // "OnKey"
|
||||
QT_MOC_LITERAL(44, 653, 10), // "QKeyEvent*"
|
||||
QT_MOC_LITERAL(45, 664, 13), // "handleTimeout"
|
||||
QT_MOC_LITERAL(46, 678, 10), // "op_timeout"
|
||||
QT_MOC_LITERAL(47, 689, 13), // "admin_timeout"
|
||||
QT_MOC_LITERAL(48, 703, 15), // "EnableDebugMode"
|
||||
QT_MOC_LITERAL(49, 719, 16), // "DisableDebugMode"
|
||||
QT_MOC_LITERAL(50, 736, 13), // "OnCancelAlarm"
|
||||
QT_MOC_LITERAL(51, 750, 28), // "on_pushButton_reset_released"
|
||||
QT_MOC_LITERAL(52, 779, 4), // "OnOp"
|
||||
QT_MOC_LITERAL(53, 784, 6), // "OnExit"
|
||||
QT_MOC_LITERAL(54, 791, 9), // "OnRestart"
|
||||
QT_MOC_LITERAL(55, 801, 7), // "OnAdmin"
|
||||
QT_MOC_LITERAL(56, 809, 20) // "CleanThreadStartAuto"
|
||||
|
||||
},
|
||||
"Cigarette\0sengMsgToClog\0\0sendMsgToExportData\0"
|
||||
"on_btn_start_released\0on_btn_pause_released\0"
|
||||
"on_btn_lock_released\0on_btn_setup_released\0"
|
||||
"on_checkBox_debug_clicked\0checked\0"
|
||||
"on_checkBox_unkick_clicked\0"
|
||||
"on_pushButton_wintab_clicked\0"
|
||||
"on_toolButton_plc_released\0"
|
||||
"on_toolButton_alarm_released\0"
|
||||
"on_pushButton_clear_released\0enable_shift\0"
|
||||
"OnNotifyHub\0Num\0Cnt\0cv::Mat\0m\0"
|
||||
"OnDisplayTimeCostHub\0ms\0OnDisplayCheckNumberHub\0"
|
||||
"no\0OnDisplayJdNoHub\0jd_no\0OnOKHub\0"
|
||||
"OnNGHub\0updateStatisticsHub\0statisticalData\0"
|
||||
"OnRotateReleasedHub\0OnToolButtonCamReleasedHub\0"
|
||||
"OpenCamTimeoutHub\0OnDBClickHub\0Num_Cnt\0"
|
||||
"DrawRect_init\0OnTPClickHub\0OnDBClickNGHub\0"
|
||||
"ReconnectCamHub\0OnMouse\0QMouseEvent*\0"
|
||||
"event\0OnKey\0QKeyEvent*\0handleTimeout\0"
|
||||
"op_timeout\0admin_timeout\0EnableDebugMode\0"
|
||||
"DisableDebugMode\0OnCancelAlarm\0"
|
||||
"on_pushButton_reset_released\0OnOp\0"
|
||||
"OnExit\0OnRestart\0OnAdmin\0CleanThreadStartAuto"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Cigarette[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
42, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
2, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 224, 2, 0x06 /* Public */,
|
||||
3, 0, 227, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
4, 0, 228, 2, 0x08 /* Private */,
|
||||
5, 0, 229, 2, 0x08 /* Private */,
|
||||
6, 0, 230, 2, 0x08 /* Private */,
|
||||
7, 0, 231, 2, 0x08 /* Private */,
|
||||
8, 1, 232, 2, 0x08 /* Private */,
|
||||
10, 1, 235, 2, 0x08 /* Private */,
|
||||
11, 1, 238, 2, 0x08 /* Private */,
|
||||
12, 0, 241, 2, 0x08 /* Private */,
|
||||
13, 0, 242, 2, 0x08 /* Private */,
|
||||
14, 0, 243, 2, 0x08 /* Private */,
|
||||
15, 0, 244, 2, 0x08 /* Private */,
|
||||
16, 3, 245, 2, 0x08 /* Private */,
|
||||
21, 2, 252, 2, 0x08 /* Private */,
|
||||
23, 2, 257, 2, 0x08 /* Private */,
|
||||
25, 2, 262, 2, 0x08 /* Private */,
|
||||
27, 1, 267, 2, 0x08 /* Private */,
|
||||
28, 1, 270, 2, 0x08 /* Private */,
|
||||
29, 2, 273, 2, 0x08 /* Private */,
|
||||
31, 1, 278, 2, 0x08 /* Private */,
|
||||
32, 1, 281, 2, 0x08 /* Private */,
|
||||
33, 1, 284, 2, 0x08 /* Private */,
|
||||
34, 1, 287, 2, 0x08 /* Private */,
|
||||
36, 1, 290, 2, 0x08 /* Private */,
|
||||
37, 1, 293, 2, 0x08 /* Private */,
|
||||
38, 1, 296, 2, 0x08 /* Private */,
|
||||
39, 1, 299, 2, 0x08 /* Private */,
|
||||
40, 1, 302, 2, 0x08 /* Private */,
|
||||
43, 1, 305, 2, 0x08 /* Private */,
|
||||
45, 0, 308, 2, 0x08 /* Private */,
|
||||
46, 0, 309, 2, 0x08 /* Private */,
|
||||
47, 0, 310, 2, 0x08 /* Private */,
|
||||
48, 0, 311, 2, 0x08 /* Private */,
|
||||
49, 0, 312, 2, 0x08 /* Private */,
|
||||
50, 0, 313, 2, 0x08 /* Private */,
|
||||
51, 0, 314, 2, 0x08 /* Private */,
|
||||
52, 0, 315, 2, 0x08 /* Private */,
|
||||
53, 0, 316, 2, 0x08 /* Private */,
|
||||
54, 0, 317, 2, 0x08 /* Private */,
|
||||
55, 0, 318, 2, 0x08 /* Private */,
|
||||
56, 0, 319, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 2,
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Bool, 9,
|
||||
QMetaType::Void, QMetaType::Bool, 9,
|
||||
QMetaType::Void, QMetaType::Bool, 9,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 0x80000000 | 19, 17, 18, 20,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 17, 22,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Long, 17, 24,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::QString, 17, 26,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 30, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, 0x80000000 | 41, 42,
|
||||
QMetaType::Void, 0x80000000 | 44, 42,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Cigarette::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<Cigarette *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sengMsgToClog((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->sendMsgToExportData(); break;
|
||||
case 2: _t->on_btn_start_released(); break;
|
||||
case 3: _t->on_btn_pause_released(); break;
|
||||
case 4: _t->on_btn_lock_released(); break;
|
||||
case 5: _t->on_btn_setup_released(); break;
|
||||
case 6: _t->on_checkBox_debug_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 7: _t->on_checkBox_unkick_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 8: _t->on_pushButton_wintab_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 9: _t->on_toolButton_plc_released(); break;
|
||||
case 10: _t->on_toolButton_alarm_released(); break;
|
||||
case 11: _t->on_pushButton_clear_released(); break;
|
||||
case 12: _t->enable_shift(); break;
|
||||
case 13: _t->OnNotifyHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< cv::Mat(*)>(_a[3]))); break;
|
||||
case 14: _t->OnDisplayTimeCostHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 15: _t->OnDisplayCheckNumberHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< long(*)>(_a[2]))); break;
|
||||
case 16: _t->OnDisplayJdNoHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 17: _t->OnOKHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 18: _t->OnNGHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 19: _t->updateStatisticsHub((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 20: _t->OnRotateReleasedHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 21: _t->OnToolButtonCamReleasedHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 22: _t->OpenCamTimeoutHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 23: _t->OnDBClickHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 24: _t->DrawRect_init((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 25: _t->OnTPClickHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 26: _t->OnDBClickNGHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 27: _t->ReconnectCamHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 28: _t->OnMouse((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 29: _t->OnKey((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break;
|
||||
case 30: _t->handleTimeout(); break;
|
||||
case 31: _t->op_timeout(); break;
|
||||
case 32: _t->admin_timeout(); break;
|
||||
case 33: _t->EnableDebugMode(); break;
|
||||
case 34: _t->DisableDebugMode(); break;
|
||||
case 35: _t->OnCancelAlarm(); break;
|
||||
case 36: _t->on_pushButton_reset_released(); break;
|
||||
case 37: _t->OnOp(); break;
|
||||
case 38: _t->OnExit(); break;
|
||||
case 39: _t->OnRestart(); break;
|
||||
case 40: _t->OnAdmin(); break;
|
||||
case 41: _t->CleanThreadStartAuto(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (Cigarette::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Cigarette::sengMsgToClog)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (Cigarette::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Cigarette::sendMsgToExportData)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject Cigarette::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
|
||||
qt_meta_stringdata_Cigarette.data,
|
||||
qt_meta_data_Cigarette,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Cigarette::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Cigarette::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Cigarette.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QMainWindow::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Cigarette::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 42)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 42;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 42)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 42;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void Cigarette::sengMsgToClog(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void Cigarette::sendMsgToExportData()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,273 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'db_label.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../db_label.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'db_label.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_db_label_t {
|
||||
QByteArrayData data[14];
|
||||
char stringdata0[219];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_db_label_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_db_label_t qt_meta_stringdata_db_label = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 8), // "db_label"
|
||||
QT_MOC_LITERAL(1, 9, 11), // "QlabelClick"
|
||||
QT_MOC_LITERAL(2, 21, 0), // ""
|
||||
QT_MOC_LITERAL(3, 22, 17), // "QlabelDoubleClick"
|
||||
QT_MOC_LITERAL(4, 40, 17), // "QlabelTripleClick"
|
||||
QT_MOC_LITERAL(5, 58, 27), // "SignalmouseDoubleClickEvent"
|
||||
QT_MOC_LITERAL(6, 86, 12), // "QMouseEvent*"
|
||||
QT_MOC_LITERAL(7, 99, 5), // "event"
|
||||
QT_MOC_LITERAL(8, 105, 21), // "SignalmousePressEvent"
|
||||
QT_MOC_LITERAL(9, 127, 23), // "SignalmouseReleaseEvent"
|
||||
QT_MOC_LITERAL(10, 151, 20), // "SignalmouseMoveEvent"
|
||||
QT_MOC_LITERAL(11, 172, 21), // "SignalkeyReleaseEvent"
|
||||
QT_MOC_LITERAL(12, 194, 10), // "QKeyEvent*"
|
||||
QT_MOC_LITERAL(13, 205, 13) // "TimeOutNotify"
|
||||
|
||||
},
|
||||
"db_label\0QlabelClick\0\0QlabelDoubleClick\0"
|
||||
"QlabelTripleClick\0SignalmouseDoubleClickEvent\0"
|
||||
"QMouseEvent*\0event\0SignalmousePressEvent\0"
|
||||
"SignalmouseReleaseEvent\0SignalmouseMoveEvent\0"
|
||||
"SignalkeyReleaseEvent\0QKeyEvent*\0"
|
||||
"TimeOutNotify"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_db_label[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
9, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
8, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 59, 2, 0x06 /* Public */,
|
||||
3, 0, 60, 2, 0x06 /* Public */,
|
||||
4, 0, 61, 2, 0x06 /* Public */,
|
||||
5, 1, 62, 2, 0x06 /* Public */,
|
||||
8, 1, 65, 2, 0x06 /* Public */,
|
||||
9, 1, 68, 2, 0x06 /* Public */,
|
||||
10, 1, 71, 2, 0x06 /* Public */,
|
||||
11, 1, 74, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
13, 0, 77, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 12, 7,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void db_label::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<db_label *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->QlabelClick(); break;
|
||||
case 1: _t->QlabelDoubleClick(); break;
|
||||
case 2: _t->QlabelTripleClick(); break;
|
||||
case 3: _t->SignalmouseDoubleClickEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 4: _t->SignalmousePressEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 5: _t->SignalmouseReleaseEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 6: _t->SignalmouseMoveEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 7: _t->SignalkeyReleaseEvent((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break;
|
||||
case 8: _t->TimeOutNotify(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (db_label::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::QlabelClick)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::QlabelDoubleClick)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::QlabelTripleClick)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmouseDoubleClickEvent)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmousePressEvent)) {
|
||||
*result = 4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmouseReleaseEvent)) {
|
||||
*result = 5;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmouseMoveEvent)) {
|
||||
*result = 6;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QKeyEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalkeyReleaseEvent)) {
|
||||
*result = 7;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject db_label::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QLabel::staticMetaObject>(),
|
||||
qt_meta_stringdata_db_label.data,
|
||||
qt_meta_data_db_label,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *db_label::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *db_label::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_db_label.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QLabel::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int db_label::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QLabel::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 9)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 9;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 9)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 9;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void db_label::QlabelClick()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void db_label::QlabelDoubleClick()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void db_label::QlabelTripleClick()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void db_label::SignalmouseDoubleClickEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 4
|
||||
void db_label::SignalmousePressEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 4, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 5
|
||||
void db_label::SignalmouseReleaseEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 5, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 6
|
||||
void db_label::SignalmouseMoveEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 6, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 7
|
||||
void db_label::SignalkeyReleaseEvent(QKeyEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 7, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,137 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'debugthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../debugthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'debugthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DebugThread_t {
|
||||
QByteArrayData data[6];
|
||||
char stringdata0[36];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DebugThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DebugThread_t qt_meta_stringdata_DebugThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "DebugThread"
|
||||
QT_MOC_LITERAL(1, 12, 6), // "notify"
|
||||
QT_MOC_LITERAL(2, 19, 0), // ""
|
||||
QT_MOC_LITERAL(3, 20, 3), // "Num"
|
||||
QT_MOC_LITERAL(4, 24, 3), // "Cnt"
|
||||
QT_MOC_LITERAL(5, 28, 7) // "cv::Mat"
|
||||
|
||||
},
|
||||
"DebugThread\0notify\0\0Num\0Cnt\0cv::Mat"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DebugThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 3, 19, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 0x80000000 | 5, 3, 4, 2,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DebugThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DebugThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->notify((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< cv::Mat(*)>(_a[3]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (DebugThread::*)(int , int , cv::Mat );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DebugThread::notify)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DebugThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_DebugThread.data,
|
||||
qt_meta_data_DebugThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DebugThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DebugThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DebugThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DebugThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void DebugThread::notify(int _t1, int _t2, cv::Mat _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,202 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'dialogin.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../dialogin.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'dialogin.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Dialogin_t {
|
||||
QByteArrayData data[16];
|
||||
char stringdata0[351];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Dialogin_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Dialogin_t qt_meta_stringdata_Dialogin = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 8), // "Dialogin"
|
||||
QT_MOC_LITERAL(1, 9, 8), // "enter_op"
|
||||
QT_MOC_LITERAL(2, 18, 0), // ""
|
||||
QT_MOC_LITERAL(3, 19, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(4, 48, 26), // "on_pushButton_clr_released"
|
||||
QT_MOC_LITERAL(5, 75, 25), // "on_pushButton_ok_released"
|
||||
QT_MOC_LITERAL(6, 101, 24), // "on_pushButton_0_released"
|
||||
QT_MOC_LITERAL(7, 126, 24), // "on_pushButton_1_released"
|
||||
QT_MOC_LITERAL(8, 151, 24), // "on_pushButton_2_released"
|
||||
QT_MOC_LITERAL(9, 176, 24), // "on_pushButton_3_released"
|
||||
QT_MOC_LITERAL(10, 201, 24), // "on_pushButton_4_released"
|
||||
QT_MOC_LITERAL(11, 226, 24), // "on_pushButton_5_released"
|
||||
QT_MOC_LITERAL(12, 251, 24), // "on_pushButton_6_released"
|
||||
QT_MOC_LITERAL(13, 276, 24), // "on_pushButton_7_released"
|
||||
QT_MOC_LITERAL(14, 301, 24), // "on_pushButton_8_released"
|
||||
QT_MOC_LITERAL(15, 326, 24) // "on_pushButton_9_released"
|
||||
|
||||
},
|
||||
"Dialogin\0enter_op\0\0on_pushButton_close_released\0"
|
||||
"on_pushButton_clr_released\0"
|
||||
"on_pushButton_ok_released\0"
|
||||
"on_pushButton_0_released\0"
|
||||
"on_pushButton_1_released\0"
|
||||
"on_pushButton_2_released\0"
|
||||
"on_pushButton_3_released\0"
|
||||
"on_pushButton_4_released\0"
|
||||
"on_pushButton_5_released\0"
|
||||
"on_pushButton_6_released\0"
|
||||
"on_pushButton_7_released\0"
|
||||
"on_pushButton_8_released\0"
|
||||
"on_pushButton_9_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Dialogin[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
14, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 84, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
3, 0, 85, 2, 0x08 /* Private */,
|
||||
4, 0, 86, 2, 0x08 /* Private */,
|
||||
5, 0, 87, 2, 0x08 /* Private */,
|
||||
6, 0, 88, 2, 0x08 /* Private */,
|
||||
7, 0, 89, 2, 0x08 /* Private */,
|
||||
8, 0, 90, 2, 0x08 /* Private */,
|
||||
9, 0, 91, 2, 0x08 /* Private */,
|
||||
10, 0, 92, 2, 0x08 /* Private */,
|
||||
11, 0, 93, 2, 0x08 /* Private */,
|
||||
12, 0, 94, 2, 0x08 /* Private */,
|
||||
13, 0, 95, 2, 0x08 /* Private */,
|
||||
14, 0, 96, 2, 0x08 /* Private */,
|
||||
15, 0, 97, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Dialogin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<Dialogin *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->enter_op(); break;
|
||||
case 1: _t->on_pushButton_close_released(); break;
|
||||
case 2: _t->on_pushButton_clr_released(); break;
|
||||
case 3: _t->on_pushButton_ok_released(); break;
|
||||
case 4: _t->on_pushButton_0_released(); break;
|
||||
case 5: _t->on_pushButton_1_released(); break;
|
||||
case 6: _t->on_pushButton_2_released(); break;
|
||||
case 7: _t->on_pushButton_3_released(); break;
|
||||
case 8: _t->on_pushButton_4_released(); break;
|
||||
case 9: _t->on_pushButton_5_released(); break;
|
||||
case 10: _t->on_pushButton_6_released(); break;
|
||||
case 11: _t->on_pushButton_7_released(); break;
|
||||
case 12: _t->on_pushButton_8_released(); break;
|
||||
case 13: _t->on_pushButton_9_released(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (Dialogin::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Dialogin::enter_op)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject Dialogin::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_Dialogin.data,
|
||||
qt_meta_data_Dialogin,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Dialogin::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Dialogin::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Dialogin.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Dialogin::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 14)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 14;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 14)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 14;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void Dialogin::enter_op()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,322 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'dialogsetup.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../dialogsetup.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'dialogsetup.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DialogSetup_t {
|
||||
QByteArrayData data[38];
|
||||
char stringdata0[872];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DialogSetup_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DialogSetup_t qt_meta_stringdata_DialogSetup = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "DialogSetup"
|
||||
QT_MOC_LITERAL(1, 12, 11), // "system_exit"
|
||||
QT_MOC_LITERAL(2, 24, 0), // ""
|
||||
QT_MOC_LITERAL(3, 25, 14), // "sendMsgToShift"
|
||||
QT_MOC_LITERAL(4, 40, 5), // "timeA"
|
||||
QT_MOC_LITERAL(5, 46, 5), // "timeB"
|
||||
QT_MOC_LITERAL(6, 52, 5), // "timeC"
|
||||
QT_MOC_LITERAL(7, 58, 15), // "sendMsgToOutput"
|
||||
QT_MOC_LITERAL(8, 74, 15), // "sendMsgToConfig"
|
||||
QT_MOC_LITERAL(9, 90, 8), // "int[][3]"
|
||||
QT_MOC_LITERAL(10, 99, 3), // "ptr"
|
||||
QT_MOC_LITERAL(11, 103, 31), // "on_toolButton_keyboard_released"
|
||||
QT_MOC_LITERAL(12, 135, 27), // "on_pushButton_exit_released"
|
||||
QT_MOC_LITERAL(13, 163, 27), // "on_pushButton_save_released"
|
||||
QT_MOC_LITERAL(14, 191, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(15, 220, 41), // "on_toolButton_choose_config_p..."
|
||||
QT_MOC_LITERAL(16, 262, 40), // "on_toolButton_choose_model_pa..."
|
||||
QT_MOC_LITERAL(17, 303, 38), // "on_toolButton_choose_path_jpg..."
|
||||
QT_MOC_LITERAL(18, 342, 44), // "on_toolButton_choose_save_pic..."
|
||||
QT_MOC_LITERAL(19, 387, 30), // "on_pushButton_desktop_released"
|
||||
QT_MOC_LITERAL(20, 418, 28), // "on_pushButton_image_released"
|
||||
QT_MOC_LITERAL(21, 447, 27), // "on_pushButton_pswd_released"
|
||||
QT_MOC_LITERAL(22, 475, 30), // "on_pushButton_pswd_op_released"
|
||||
QT_MOC_LITERAL(23, 506, 27), // "on_pushButton_expo_released"
|
||||
QT_MOC_LITERAL(24, 534, 29), // "on_pushButton_filter_released"
|
||||
QT_MOC_LITERAL(25, 564, 32), // "on_pushButton_clear_pic_released"
|
||||
QT_MOC_LITERAL(26, 597, 29), // "on_pushButton_config_released"
|
||||
QT_MOC_LITERAL(27, 627, 29), // "on_pushButton_change_released"
|
||||
QT_MOC_LITERAL(28, 657, 32), // "on_pushButton_statistic_released"
|
||||
QT_MOC_LITERAL(29, 690, 29), // "on_checkBox_auto_open_clicked"
|
||||
QT_MOC_LITERAL(30, 720, 7), // "checked"
|
||||
QT_MOC_LITERAL(31, 728, 29), // "on_checkBox_auto_work_clicked"
|
||||
QT_MOC_LITERAL(32, 758, 22), // "recMsgFromDialogConfig"
|
||||
QT_MOC_LITERAL(33, 781, 21), // "recMsgFromChangeShift"
|
||||
QT_MOC_LITERAL(34, 803, 16), // "onComboBoxSelect"
|
||||
QT_MOC_LITERAL(35, 820, 5), // "index"
|
||||
QT_MOC_LITERAL(36, 826, 20), // "onComboBoxConfSelect"
|
||||
QT_MOC_LITERAL(37, 847, 24) // "onComboBoxPicsPathSelect"
|
||||
|
||||
},
|
||||
"DialogSetup\0system_exit\0\0sendMsgToShift\0"
|
||||
"timeA\0timeB\0timeC\0sendMsgToOutput\0"
|
||||
"sendMsgToConfig\0int[][3]\0ptr\0"
|
||||
"on_toolButton_keyboard_released\0"
|
||||
"on_pushButton_exit_released\0"
|
||||
"on_pushButton_save_released\0"
|
||||
"on_pushButton_close_released\0"
|
||||
"on_toolButton_choose_config_path_released\0"
|
||||
"on_toolButton_choose_model_path_released\0"
|
||||
"on_toolButton_choose_path_jpg_released\0"
|
||||
"on_toolButton_choose_save_pics_path_released\0"
|
||||
"on_pushButton_desktop_released\0"
|
||||
"on_pushButton_image_released\0"
|
||||
"on_pushButton_pswd_released\0"
|
||||
"on_pushButton_pswd_op_released\0"
|
||||
"on_pushButton_expo_released\0"
|
||||
"on_pushButton_filter_released\0"
|
||||
"on_pushButton_clear_pic_released\0"
|
||||
"on_pushButton_config_released\0"
|
||||
"on_pushButton_change_released\0"
|
||||
"on_pushButton_statistic_released\0"
|
||||
"on_checkBox_auto_open_clicked\0checked\0"
|
||||
"on_checkBox_auto_work_clicked\0"
|
||||
"recMsgFromDialogConfig\0recMsgFromChangeShift\0"
|
||||
"onComboBoxSelect\0index\0onComboBoxConfSelect\0"
|
||||
"onComboBoxPicsPathSelect"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DialogSetup[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
29, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 159, 2, 0x06 /* Public */,
|
||||
3, 3, 160, 2, 0x06 /* Public */,
|
||||
7, 0, 167, 2, 0x06 /* Public */,
|
||||
8, 1, 168, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
11, 0, 171, 2, 0x08 /* Private */,
|
||||
12, 0, 172, 2, 0x08 /* Private */,
|
||||
13, 0, 173, 2, 0x08 /* Private */,
|
||||
14, 0, 174, 2, 0x08 /* Private */,
|
||||
15, 0, 175, 2, 0x08 /* Private */,
|
||||
16, 0, 176, 2, 0x08 /* Private */,
|
||||
17, 0, 177, 2, 0x08 /* Private */,
|
||||
18, 0, 178, 2, 0x08 /* Private */,
|
||||
19, 0, 179, 2, 0x08 /* Private */,
|
||||
20, 0, 180, 2, 0x08 /* Private */,
|
||||
21, 0, 181, 2, 0x08 /* Private */,
|
||||
22, 0, 182, 2, 0x08 /* Private */,
|
||||
23, 0, 183, 2, 0x08 /* Private */,
|
||||
24, 0, 184, 2, 0x08 /* Private */,
|
||||
25, 0, 185, 2, 0x08 /* Private */,
|
||||
26, 0, 186, 2, 0x08 /* Private */,
|
||||
27, 0, 187, 2, 0x08 /* Private */,
|
||||
28, 0, 188, 2, 0x08 /* Private */,
|
||||
29, 1, 189, 2, 0x08 /* Private */,
|
||||
31, 1, 192, 2, 0x08 /* Private */,
|
||||
32, 1, 195, 2, 0x08 /* Private */,
|
||||
33, 3, 198, 2, 0x08 /* Private */,
|
||||
34, 1, 205, 2, 0x08 /* Private */,
|
||||
36, 1, 208, 2, 0x08 /* Private */,
|
||||
37, 1, 211, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 4, 5, 6,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 9, 10,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Bool, 30,
|
||||
QMetaType::Void, QMetaType::Bool, 30,
|
||||
QMetaType::Void, 0x80000000 | 9, 10,
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 4, 5, 6,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DialogSetup::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DialogSetup *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->system_exit(); break;
|
||||
case 1: _t->sendMsgToShift((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
case 2: _t->sendMsgToOutput(); break;
|
||||
case 3: _t->sendMsgToConfig((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 4: _t->on_toolButton_keyboard_released(); break;
|
||||
case 5: _t->on_pushButton_exit_released(); break;
|
||||
case 6: _t->on_pushButton_save_released(); break;
|
||||
case 7: _t->on_pushButton_close_released(); break;
|
||||
case 8: _t->on_toolButton_choose_config_path_released(); break;
|
||||
case 9: _t->on_toolButton_choose_model_path_released(); break;
|
||||
case 10: _t->on_toolButton_choose_path_jpg_released(); break;
|
||||
case 11: _t->on_toolButton_choose_save_pics_path_released(); break;
|
||||
case 12: _t->on_pushButton_desktop_released(); break;
|
||||
case 13: _t->on_pushButton_image_released(); break;
|
||||
case 14: _t->on_pushButton_pswd_released(); break;
|
||||
case 15: _t->on_pushButton_pswd_op_released(); break;
|
||||
case 16: _t->on_pushButton_expo_released(); break;
|
||||
case 17: _t->on_pushButton_filter_released(); break;
|
||||
case 18: _t->on_pushButton_clear_pic_released(); break;
|
||||
case 19: _t->on_pushButton_config_released(); break;
|
||||
case 20: _t->on_pushButton_change_released(); break;
|
||||
case 21: _t->on_pushButton_statistic_released(); break;
|
||||
case 22: _t->on_checkBox_auto_open_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 23: _t->on_checkBox_auto_work_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 24: _t->recMsgFromDialogConfig((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 25: _t->recMsgFromChangeShift((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
case 26: _t->onComboBoxSelect((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 27: _t->onComboBoxConfSelect((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 28: _t->onComboBoxPicsPathSelect((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (DialogSetup::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::system_exit)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DialogSetup::*)(QTime , QTime , QTime );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::sendMsgToShift)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DialogSetup::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::sendMsgToOutput)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DialogSetup::*)(int [][3]);
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::sendMsgToConfig)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DialogSetup::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_DialogSetup.data,
|
||||
qt_meta_data_DialogSetup,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DialogSetup::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DialogSetup::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DialogSetup.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DialogSetup::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 29)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 29;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 29)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 29;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void DialogSetup::system_exit()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void DialogSetup::sendMsgToShift(QTime _t1, QTime _t2, QTime _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void DialogSetup::sendMsgToOutput()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void DialogSetup::sendMsgToConfig(int _t1[][3])
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,203 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'dialogsetuppasswd.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../dialogsetuppasswd.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'dialogsetuppasswd.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DialogSetupPasswd_t {
|
||||
QByteArrayData data[16];
|
||||
char stringdata0[363];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DialogSetupPasswd_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DialogSetupPasswd_t qt_meta_stringdata_DialogSetupPasswd = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 17), // "DialogSetupPasswd"
|
||||
QT_MOC_LITERAL(1, 18, 11), // "enter_admin"
|
||||
QT_MOC_LITERAL(2, 30, 0), // ""
|
||||
QT_MOC_LITERAL(3, 31, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(4, 60, 26), // "on_pushButton_clr_released"
|
||||
QT_MOC_LITERAL(5, 87, 25), // "on_pushButton_ok_released"
|
||||
QT_MOC_LITERAL(6, 113, 24), // "on_pushButton_0_released"
|
||||
QT_MOC_LITERAL(7, 138, 24), // "on_pushButton_1_released"
|
||||
QT_MOC_LITERAL(8, 163, 24), // "on_pushButton_2_released"
|
||||
QT_MOC_LITERAL(9, 188, 24), // "on_pushButton_3_released"
|
||||
QT_MOC_LITERAL(10, 213, 24), // "on_pushButton_4_released"
|
||||
QT_MOC_LITERAL(11, 238, 24), // "on_pushButton_5_released"
|
||||
QT_MOC_LITERAL(12, 263, 24), // "on_pushButton_6_released"
|
||||
QT_MOC_LITERAL(13, 288, 24), // "on_pushButton_7_released"
|
||||
QT_MOC_LITERAL(14, 313, 24), // "on_pushButton_8_released"
|
||||
QT_MOC_LITERAL(15, 338, 24) // "on_pushButton_9_released"
|
||||
|
||||
},
|
||||
"DialogSetupPasswd\0enter_admin\0\0"
|
||||
"on_pushButton_close_released\0"
|
||||
"on_pushButton_clr_released\0"
|
||||
"on_pushButton_ok_released\0"
|
||||
"on_pushButton_0_released\0"
|
||||
"on_pushButton_1_released\0"
|
||||
"on_pushButton_2_released\0"
|
||||
"on_pushButton_3_released\0"
|
||||
"on_pushButton_4_released\0"
|
||||
"on_pushButton_5_released\0"
|
||||
"on_pushButton_6_released\0"
|
||||
"on_pushButton_7_released\0"
|
||||
"on_pushButton_8_released\0"
|
||||
"on_pushButton_9_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DialogSetupPasswd[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
14, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 84, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
3, 0, 85, 2, 0x08 /* Private */,
|
||||
4, 0, 86, 2, 0x08 /* Private */,
|
||||
5, 0, 87, 2, 0x08 /* Private */,
|
||||
6, 0, 88, 2, 0x08 /* Private */,
|
||||
7, 0, 89, 2, 0x08 /* Private */,
|
||||
8, 0, 90, 2, 0x08 /* Private */,
|
||||
9, 0, 91, 2, 0x08 /* Private */,
|
||||
10, 0, 92, 2, 0x08 /* Private */,
|
||||
11, 0, 93, 2, 0x08 /* Private */,
|
||||
12, 0, 94, 2, 0x08 /* Private */,
|
||||
13, 0, 95, 2, 0x08 /* Private */,
|
||||
14, 0, 96, 2, 0x08 /* Private */,
|
||||
15, 0, 97, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DialogSetupPasswd::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DialogSetupPasswd *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->enter_admin(); break;
|
||||
case 1: _t->on_pushButton_close_released(); break;
|
||||
case 2: _t->on_pushButton_clr_released(); break;
|
||||
case 3: _t->on_pushButton_ok_released(); break;
|
||||
case 4: _t->on_pushButton_0_released(); break;
|
||||
case 5: _t->on_pushButton_1_released(); break;
|
||||
case 6: _t->on_pushButton_2_released(); break;
|
||||
case 7: _t->on_pushButton_3_released(); break;
|
||||
case 8: _t->on_pushButton_4_released(); break;
|
||||
case 9: _t->on_pushButton_5_released(); break;
|
||||
case 10: _t->on_pushButton_6_released(); break;
|
||||
case 11: _t->on_pushButton_7_released(); break;
|
||||
case 12: _t->on_pushButton_8_released(); break;
|
||||
case 13: _t->on_pushButton_9_released(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (DialogSetupPasswd::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetupPasswd::enter_admin)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DialogSetupPasswd::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_DialogSetupPasswd.data,
|
||||
qt_meta_data_DialogSetupPasswd,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DialogSetupPasswd::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DialogSetupPasswd::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DialogSetupPasswd.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DialogSetupPasswd::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 14)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 14;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 14)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 14;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void DialogSetupPasswd::enter_admin()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,124 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'exportData.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../exportData.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'exportData.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_ExportDataThread_t {
|
||||
QByteArrayData data[5];
|
||||
char stringdata0[71];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_ExportDataThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_ExportDataThread_t qt_meta_stringdata_ExportDataThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 16), // "ExportDataThread"
|
||||
QT_MOC_LITERAL(1, 17, 21), // "EDrecMsgFromCigarette"
|
||||
QT_MOC_LITERAL(2, 39, 0), // ""
|
||||
QT_MOC_LITERAL(3, 40, 21), // "GetDataFromSaveThread"
|
||||
QT_MOC_LITERAL(4, 62, 8) // "filePath"
|
||||
|
||||
},
|
||||
"ExportDataThread\0EDrecMsgFromCigarette\0"
|
||||
"\0GetDataFromSaveThread\0filePath"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_ExportDataThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
2, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 24, 2, 0x0a /* Public */,
|
||||
3, 1, 25, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 4,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void ExportDataThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<ExportDataThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->EDrecMsgFromCigarette(); break;
|
||||
case 1: _t->GetDataFromSaveThread((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject ExportDataThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_ExportDataThread.data,
|
||||
qt_meta_data_ExportDataThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *ExportDataThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *ExportDataThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_ExportDataThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int ExportDataThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 2)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 2;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 2)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 2;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,120 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'output_statistic.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../output_statistic.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'output_statistic.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_output_statistic_t {
|
||||
QByteArrayData data[3];
|
||||
char stringdata0[40];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_output_statistic_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_output_statistic_t qt_meta_stringdata_output_statistic = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 16), // "output_statistic"
|
||||
QT_MOC_LITERAL(1, 17, 21), // "recMsgFromDialogSetup"
|
||||
QT_MOC_LITERAL(2, 39, 0) // ""
|
||||
|
||||
},
|
||||
"output_statistic\0recMsgFromDialogSetup\0"
|
||||
""
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_output_statistic[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 19, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void output_statistic::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<output_statistic *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->recMsgFromDialogSetup(); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject output_statistic::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_output_statistic.data,
|
||||
qt_meta_data_output_statistic,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *output_statistic::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *output_statistic::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_output_statistic.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int output_statistic::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,146 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'plcsetup.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../plcsetup.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'plcsetup.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_PlcSetup_t {
|
||||
QByteArrayData data[9];
|
||||
char stringdata0[153];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_PlcSetup_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_PlcSetup_t qt_meta_stringdata_PlcSetup = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 8), // "PlcSetup"
|
||||
QT_MOC_LITERAL(1, 9, 10), // "click_read"
|
||||
QT_MOC_LITERAL(2, 20, 0), // ""
|
||||
QT_MOC_LITERAL(3, 21, 11), // "click_write"
|
||||
QT_MOC_LITERAL(4, 33, 10), // "click_save"
|
||||
QT_MOC_LITERAL(5, 44, 33), // "on_toolButton_batch_read_rele..."
|
||||
QT_MOC_LITERAL(6, 78, 31), // "on_toolButton_keyboard_released"
|
||||
QT_MOC_LITERAL(7, 110, 28), // "on_toolButton_close_released"
|
||||
QT_MOC_LITERAL(8, 139, 13) // "handleTimeout"
|
||||
|
||||
},
|
||||
"PlcSetup\0click_read\0\0click_write\0"
|
||||
"click_save\0on_toolButton_batch_read_released\0"
|
||||
"on_toolButton_keyboard_released\0"
|
||||
"on_toolButton_close_released\0handleTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_PlcSetup[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
7, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 49, 2, 0x08 /* Private */,
|
||||
3, 0, 50, 2, 0x08 /* Private */,
|
||||
4, 0, 51, 2, 0x08 /* Private */,
|
||||
5, 0, 52, 2, 0x08 /* Private */,
|
||||
6, 0, 53, 2, 0x08 /* Private */,
|
||||
7, 0, 54, 2, 0x08 /* Private */,
|
||||
8, 0, 55, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void PlcSetup::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<PlcSetup *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->click_read(); break;
|
||||
case 1: _t->click_write(); break;
|
||||
case 2: _t->click_save(); break;
|
||||
case 3: _t->on_toolButton_batch_read_released(); break;
|
||||
case 4: _t->on_toolButton_keyboard_released(); break;
|
||||
case 5: _t->on_toolButton_close_released(); break;
|
||||
case 6: _t->handleTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject PlcSetup::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_PlcSetup.data,
|
||||
qt_meta_data_PlcSetup,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *PlcSetup::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *PlcSetup::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_PlcSetup.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int PlcSetup::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 7)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 7;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 7)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 7;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,135 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'savethread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../savethread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'savethread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_SaveThread_t {
|
||||
QByteArrayData data[4];
|
||||
char stringdata0[38];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_SaveThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_SaveThread_t qt_meta_stringdata_SaveThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 10), // "SaveThread"
|
||||
QT_MOC_LITERAL(1, 11, 16), // "sendDataToExport"
|
||||
QT_MOC_LITERAL(2, 28, 0), // ""
|
||||
QT_MOC_LITERAL(3, 29, 8) // "filePath"
|
||||
|
||||
},
|
||||
"SaveThread\0sendDataToExport\0\0filePath"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_SaveThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 19, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void SaveThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<SaveThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendDataToExport((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (SaveThread::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SaveThread::sendDataToExport)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject SaveThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_SaveThread.data,
|
||||
qt_meta_data_SaveThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *SaveThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *SaveThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_SaveThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int SaveThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void SaveThread::sendDataToExport(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,149 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'threadReceive.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../threadReceive.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'threadReceive.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_threadReceive_t {
|
||||
QByteArrayData data[6];
|
||||
char stringdata0[88];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_threadReceive_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_threadReceive_t qt_meta_stringdata_threadReceive = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 13), // "threadReceive"
|
||||
QT_MOC_LITERAL(1, 14, 17), // "sendMsgToCigratte"
|
||||
QT_MOC_LITERAL(2, 32, 0), // ""
|
||||
QT_MOC_LITERAL(3, 33, 4), // "data"
|
||||
QT_MOC_LITERAL(4, 38, 22), // "processPendingDatagram"
|
||||
QT_MOC_LITERAL(5, 61, 26) // "fileprocessPendingDatagram"
|
||||
|
||||
},
|
||||
"threadReceive\0sendMsgToCigratte\0\0data\0"
|
||||
"processPendingDatagram\0"
|
||||
"fileprocessPendingDatagram"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_threadReceive[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
3, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 29, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
4, 0, 32, 2, 0x08 /* Private */,
|
||||
5, 0, 33, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void threadReceive::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<threadReceive *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendMsgToCigratte((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->processPendingDatagram(); break;
|
||||
case 2: _t->fileprocessPendingDatagram(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (threadReceive::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&threadReceive::sendMsgToCigratte)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject threadReceive::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_threadReceive.data,
|
||||
qt_meta_data_threadReceive,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *threadReceive::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *threadReceive::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_threadReceive.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int threadReceive::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 3)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 3;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 3)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 3;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void threadReceive::sendMsgToCigratte(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,233 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'workthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../workthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'workthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_WorkThread_t {
|
||||
QByteArrayData data[14];
|
||||
char stringdata0[116];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_WorkThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_WorkThread_t qt_meta_stringdata_WorkThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 10), // "WorkThread"
|
||||
QT_MOC_LITERAL(1, 11, 6), // "notify"
|
||||
QT_MOC_LITERAL(2, 18, 0), // ""
|
||||
QT_MOC_LITERAL(3, 19, 3), // "Num"
|
||||
QT_MOC_LITERAL(4, 23, 3), // "Cnt"
|
||||
QT_MOC_LITERAL(5, 27, 7), // "cv::Mat"
|
||||
QT_MOC_LITERAL(6, 35, 16), // "display_timecost"
|
||||
QT_MOC_LITERAL(7, 52, 2), // "ms"
|
||||
QT_MOC_LITERAL(8, 55, 19), // "display_check_total"
|
||||
QT_MOC_LITERAL(9, 75, 2), // "no"
|
||||
QT_MOC_LITERAL(10, 78, 13), // "display_jd_no"
|
||||
QT_MOC_LITERAL(11, 92, 5), // "jd_no"
|
||||
QT_MOC_LITERAL(12, 98, 8), // "event_ok"
|
||||
QT_MOC_LITERAL(13, 107, 8) // "event_ng"
|
||||
|
||||
},
|
||||
"WorkThread\0notify\0\0Num\0Cnt\0cv::Mat\0"
|
||||
"display_timecost\0ms\0display_check_total\0"
|
||||
"no\0display_jd_no\0jd_no\0event_ok\0"
|
||||
"event_ng"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_WorkThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
6, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 3, 44, 2, 0x06 /* Public */,
|
||||
6, 2, 51, 2, 0x06 /* Public */,
|
||||
8, 2, 56, 2, 0x06 /* Public */,
|
||||
10, 2, 61, 2, 0x06 /* Public */,
|
||||
12, 1, 66, 2, 0x06 /* Public */,
|
||||
13, 1, 69, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 0x80000000 | 5, 3, 4, 2,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 3, 7,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Long, 3, 9,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::QString, 3, 11,
|
||||
QMetaType::Void, QMetaType::Int, 3,
|
||||
QMetaType::Void, QMetaType::Int, 3,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void WorkThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<WorkThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->notify((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< cv::Mat(*)>(_a[3]))); break;
|
||||
case 1: _t->display_timecost((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 2: _t->display_check_total((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< long(*)>(_a[2]))); break;
|
||||
case 3: _t->display_jd_no((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 4: _t->event_ok((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 5: _t->event_ng((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , int , cv::Mat );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::notify)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::display_timecost)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , long );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::display_check_total)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::display_jd_no)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::event_ok)) {
|
||||
*result = 4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::event_ng)) {
|
||||
*result = 5;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject WorkThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_WorkThread.data,
|
||||
qt_meta_data_WorkThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *WorkThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *WorkThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_WorkThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int WorkThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 6)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 6)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void WorkThread::notify(int _t1, int _t2, cv::Mat _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void WorkThread::display_timecost(int _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void WorkThread::display_check_total(int _t1, long _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void WorkThread::display_jd_no(int _t1, QString _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 4
|
||||
void WorkThread::event_ok(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 4, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 5
|
||||
void WorkThread::event_ng(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 5, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,203 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'CaptureThread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../CaptureThread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'CaptureThread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CaptureThread_t {
|
||||
QByteArrayData data[11];
|
||||
char stringdata0[92];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CaptureThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CaptureThread_t qt_meta_stringdata_CaptureThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 13), // "CaptureThread"
|
||||
QT_MOC_LITERAL(1, 14, 5), // "error"
|
||||
QT_MOC_LITERAL(2, 20, 0), // ""
|
||||
QT_MOC_LITERAL(3, 21, 3), // "err"
|
||||
QT_MOC_LITERAL(4, 25, 8), // "finished"
|
||||
QT_MOC_LITERAL(5, 34, 12), // "requestReady"
|
||||
QT_MOC_LITERAL(6, 47, 16), // "updateStatistics"
|
||||
QT_MOC_LITERAL(7, 64, 4), // "data"
|
||||
QT_MOC_LITERAL(8, 69, 3), // "Num"
|
||||
QT_MOC_LITERAL(9, 73, 7), // "process"
|
||||
QT_MOC_LITERAL(10, 81, 10) // "fpsTimeout"
|
||||
|
||||
},
|
||||
"CaptureThread\0error\0\0err\0finished\0"
|
||||
"requestReady\0updateStatistics\0data\0"
|
||||
"Num\0process\0fpsTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CaptureThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 44, 2, 0x06 /* Public */,
|
||||
4, 0, 47, 2, 0x06 /* Public */,
|
||||
5, 0, 48, 2, 0x06 /* Public */,
|
||||
6, 2, 49, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
9, 0, 54, 2, 0x08 /* Private */,
|
||||
10, 0, 55, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 7, 8,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CaptureThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CaptureThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->error((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->finished(); break;
|
||||
case 2: _t->requestReady(); break;
|
||||
case 3: _t->updateStatistics((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 4: _t->process(); break;
|
||||
case 5: _t->fpsTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CaptureThread::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::error)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::finished)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::requestReady)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThread::*)(const QString & , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThread::updateStatistics)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CaptureThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CaptureThread.data,
|
||||
qt_meta_data_CaptureThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CaptureThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CaptureThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CaptureThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CaptureThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 6)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 6)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CaptureThread::error(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CaptureThread::finished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CaptureThread::requestReady()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void CaptureThread::updateStatistics(const QString & _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,207 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'CaptureThreadBasler.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../CaptureThreadBasler.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'CaptureThreadBasler.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CaptureThreadBasler_t {
|
||||
QByteArrayData data[12];
|
||||
char stringdata0[108];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CaptureThreadBasler_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CaptureThreadBasler_t qt_meta_stringdata_CaptureThreadBasler = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 19), // "CaptureThreadBasler"
|
||||
QT_MOC_LITERAL(1, 20, 5), // "error"
|
||||
QT_MOC_LITERAL(2, 26, 0), // ""
|
||||
QT_MOC_LITERAL(3, 27, 3), // "err"
|
||||
QT_MOC_LITERAL(4, 31, 8), // "finished"
|
||||
QT_MOC_LITERAL(5, 40, 12), // "requestReady"
|
||||
QT_MOC_LITERAL(6, 53, 16), // "updateStatistics"
|
||||
QT_MOC_LITERAL(7, 70, 4), // "data"
|
||||
QT_MOC_LITERAL(8, 75, 3), // "Num"
|
||||
QT_MOC_LITERAL(9, 79, 7), // "process"
|
||||
QT_MOC_LITERAL(10, 87, 10), // "fpsTimeout"
|
||||
QT_MOC_LITERAL(11, 98, 9) // "ioTimeout"
|
||||
|
||||
},
|
||||
"CaptureThreadBasler\0error\0\0err\0finished\0"
|
||||
"requestReady\0updateStatistics\0data\0"
|
||||
"Num\0process\0fpsTimeout\0ioTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CaptureThreadBasler[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
7, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 49, 2, 0x06 /* Public */,
|
||||
4, 0, 52, 2, 0x06 /* Public */,
|
||||
5, 0, 53, 2, 0x06 /* Public */,
|
||||
6, 2, 54, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
9, 0, 59, 2, 0x08 /* Private */,
|
||||
10, 0, 60, 2, 0x08 /* Private */,
|
||||
11, 0, 61, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 7, 8,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CaptureThreadBasler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CaptureThreadBasler *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->error((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->finished(); break;
|
||||
case 2: _t->requestReady(); break;
|
||||
case 3: _t->updateStatistics((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 4: _t->process(); break;
|
||||
case 5: _t->fpsTimeout(); break;
|
||||
case 6: _t->ioTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::error)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::finished)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::requestReady)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadBasler::*)(const QString & , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadBasler::updateStatistics)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CaptureThreadBasler::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CaptureThreadBasler.data,
|
||||
qt_meta_data_CaptureThreadBasler,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CaptureThreadBasler::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CaptureThreadBasler::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CaptureThreadBasler.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CaptureThreadBasler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 7)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 7;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 7)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 7;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CaptureThreadBasler::error(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CaptureThreadBasler::finished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CaptureThreadBasler::requestReady()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void CaptureThreadBasler::updateStatistics(const QString & _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,203 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'CaptureThreadHIK.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../CaptureThreadHIK.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'CaptureThreadHIK.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CaptureThreadHIK_t {
|
||||
QByteArrayData data[11];
|
||||
char stringdata0[95];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CaptureThreadHIK_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CaptureThreadHIK_t qt_meta_stringdata_CaptureThreadHIK = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 16), // "CaptureThreadHIK"
|
||||
QT_MOC_LITERAL(1, 17, 5), // "error"
|
||||
QT_MOC_LITERAL(2, 23, 0), // ""
|
||||
QT_MOC_LITERAL(3, 24, 3), // "err"
|
||||
QT_MOC_LITERAL(4, 28, 8), // "finished"
|
||||
QT_MOC_LITERAL(5, 37, 12), // "requestReady"
|
||||
QT_MOC_LITERAL(6, 50, 16), // "updateStatistics"
|
||||
QT_MOC_LITERAL(7, 67, 4), // "data"
|
||||
QT_MOC_LITERAL(8, 72, 3), // "Num"
|
||||
QT_MOC_LITERAL(9, 76, 7), // "process"
|
||||
QT_MOC_LITERAL(10, 84, 10) // "fpsTimeout"
|
||||
|
||||
},
|
||||
"CaptureThreadHIK\0error\0\0err\0finished\0"
|
||||
"requestReady\0updateStatistics\0data\0"
|
||||
"Num\0process\0fpsTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CaptureThreadHIK[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 44, 2, 0x06 /* Public */,
|
||||
4, 0, 47, 2, 0x06 /* Public */,
|
||||
5, 0, 48, 2, 0x06 /* Public */,
|
||||
6, 2, 49, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
9, 0, 54, 2, 0x08 /* Private */,
|
||||
10, 0, 55, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 7, 8,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CaptureThreadHIK::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CaptureThreadHIK *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->error((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->finished(); break;
|
||||
case 2: _t->requestReady(); break;
|
||||
case 3: _t->updateStatistics((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 4: _t->process(); break;
|
||||
case 5: _t->fpsTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::error)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::finished)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::requestReady)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CaptureThreadHIK::*)(const QString & , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CaptureThreadHIK::updateStatistics)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CaptureThreadHIK::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CaptureThreadHIK.data,
|
||||
qt_meta_data_CaptureThreadHIK,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CaptureThreadHIK::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CaptureThreadHIK::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CaptureThreadHIK.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CaptureThreadHIK::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 6)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 6)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CaptureThreadHIK::error(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CaptureThreadHIK::finished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CaptureThreadHIK::requestReady()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void CaptureThreadHIK::updateStatistics(const QString & _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,194 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Cleanthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../Cleanthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Cleanthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CleanWorkThread_t {
|
||||
QByteArrayData data[10];
|
||||
char stringdata0[103];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CleanWorkThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CleanWorkThread_t qt_meta_stringdata_CleanWorkThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 15), // "CleanWorkThread"
|
||||
QT_MOC_LITERAL(1, 16, 12), // "workFinished"
|
||||
QT_MOC_LITERAL(2, 29, 0), // ""
|
||||
QT_MOC_LITERAL(3, 30, 9), // "workStart"
|
||||
QT_MOC_LITERAL(4, 40, 13), // "workStartAuto"
|
||||
QT_MOC_LITERAL(5, 54, 9), // "startWork"
|
||||
QT_MOC_LITERAL(6, 64, 13), // "startWorkAuto"
|
||||
QT_MOC_LITERAL(7, 78, 6), // "doWork"
|
||||
QT_MOC_LITERAL(8, 85, 10), // "setSelAuto"
|
||||
QT_MOC_LITERAL(9, 96, 6) // "setSel"
|
||||
|
||||
},
|
||||
"CleanWorkThread\0workFinished\0\0workStart\0"
|
||||
"workStartAuto\0startWork\0startWorkAuto\0"
|
||||
"doWork\0setSelAuto\0setSel"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CleanWorkThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
8, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
3, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 54, 2, 0x06 /* Public */,
|
||||
3, 0, 55, 2, 0x06 /* Public */,
|
||||
4, 0, 56, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
5, 0, 57, 2, 0x0a /* Public */,
|
||||
6, 0, 58, 2, 0x0a /* Public */,
|
||||
7, 0, 59, 2, 0x0a /* Public */,
|
||||
8, 0, 60, 2, 0x0a /* Public */,
|
||||
9, 0, 61, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CleanWorkThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CleanWorkThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->workFinished(); break;
|
||||
case 1: _t->workStart(); break;
|
||||
case 2: _t->workStartAuto(); break;
|
||||
case 3: _t->startWork(); break;
|
||||
case 4: _t->startWorkAuto(); break;
|
||||
case 5: _t->doWork(); break;
|
||||
case 6: _t->setSelAuto(); break;
|
||||
case 7: _t->setSel(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (CleanWorkThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CleanWorkThread::workFinished)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CleanWorkThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CleanWorkThread::workStart)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (CleanWorkThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CleanWorkThread::workStartAuto)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CleanWorkThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CleanWorkThread.data,
|
||||
qt_meta_data_CleanWorkThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CleanWorkThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CleanWorkThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CleanWorkThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CleanWorkThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 8)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 8;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 8)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 8;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void CleanWorkThread::workFinished()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void CleanWorkThread::workStart()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void CleanWorkThread::workStartAuto()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,151 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'Logthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../Logthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'Logthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_CLog_t {
|
||||
QByteArrayData data[16];
|
||||
char stringdata0[149];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_CLog_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_CLog_t qt_meta_stringdata_CLog = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 4), // "CLog"
|
||||
QT_MOC_LITERAL(1, 5, 19), // "recMegFromCigarette"
|
||||
QT_MOC_LITERAL(2, 25, 0), // ""
|
||||
QT_MOC_LITERAL(3, 26, 9), // "CLOG_TYPE"
|
||||
QT_MOC_LITERAL(4, 36, 8), // "STARTAPP"
|
||||
QT_MOC_LITERAL(5, 45, 9), // "STARTWORK"
|
||||
QT_MOC_LITERAL(6, 55, 9), // "PAUSEWORK"
|
||||
QT_MOC_LITERAL(7, 65, 6), // "UNLOCK"
|
||||
QT_MOC_LITERAL(8, 72, 9), // "DEBUGMODE"
|
||||
QT_MOC_LITERAL(9, 82, 10), // "UNKICKMODE"
|
||||
QT_MOC_LITERAL(10, 93, 7), // "SETTING"
|
||||
QT_MOC_LITERAL(11, 101, 8), // "CLEANPIC"
|
||||
QT_MOC_LITERAL(12, 110, 11), // "DOUBLECLICK"
|
||||
QT_MOC_LITERAL(13, 122, 9), // "ROTATEPIC"
|
||||
QT_MOC_LITERAL(14, 132, 10), // "PLCSETTING"
|
||||
QT_MOC_LITERAL(15, 143, 5) // "ALARM"
|
||||
|
||||
},
|
||||
"CLog\0recMegFromCigarette\0\0CLOG_TYPE\0"
|
||||
"STARTAPP\0STARTWORK\0PAUSEWORK\0UNLOCK\0"
|
||||
"DEBUGMODE\0UNKICKMODE\0SETTING\0CLEANPIC\0"
|
||||
"DOUBLECLICK\0ROTATEPIC\0PLCSETTING\0ALARM"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_CLog[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
1, 22, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 1, 19, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, QMetaType::QString, 2,
|
||||
|
||||
// enums: name, alias, flags, count, data
|
||||
3, 3, 0x0, 12, 27,
|
||||
|
||||
// enum data: key, value
|
||||
4, uint(CLog::STARTAPP),
|
||||
5, uint(CLog::STARTWORK),
|
||||
6, uint(CLog::PAUSEWORK),
|
||||
7, uint(CLog::UNLOCK),
|
||||
8, uint(CLog::DEBUGMODE),
|
||||
9, uint(CLog::UNKICKMODE),
|
||||
10, uint(CLog::SETTING),
|
||||
11, uint(CLog::CLEANPIC),
|
||||
12, uint(CLog::DOUBLECLICK),
|
||||
13, uint(CLog::ROTATEPIC),
|
||||
14, uint(CLog::PLCSETTING),
|
||||
15, uint(CLog::ALARM),
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void CLog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<CLog *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->recMegFromCigarette((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject CLog::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QObject::staticMetaObject>(),
|
||||
qt_meta_stringdata_CLog.data,
|
||||
qt_meta_data_CLog,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *CLog::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *CLog::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_CLog.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QObject::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int CLog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QObject::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,95 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'SyncWorkThread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../SyncWorkThread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'SyncWorkThread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_SyncWorkThread_t {
|
||||
QByteArrayData data[1];
|
||||
char stringdata0[15];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_SyncWorkThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_SyncWorkThread_t qt_meta_stringdata_SyncWorkThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 14) // "SyncWorkThread"
|
||||
|
||||
},
|
||||
"SyncWorkThread"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_SyncWorkThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
0, 0, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void SyncWorkThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
Q_UNUSED(_o);
|
||||
Q_UNUSED(_id);
|
||||
Q_UNUSED(_c);
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject SyncWorkThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_SyncWorkThread.data,
|
||||
qt_meta_data_SyncWorkThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *SyncWorkThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *SyncWorkThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_SyncWorkThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int SyncWorkThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,124 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'alarmdialog.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../alarmdialog.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'alarmdialog.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_AlarmDialog_t {
|
||||
QByteArrayData data[4];
|
||||
char stringdata0[71];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_AlarmDialog_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_AlarmDialog_t qt_meta_stringdata_AlarmDialog = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "AlarmDialog"
|
||||
QT_MOC_LITERAL(1, 12, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(2, 41, 0), // ""
|
||||
QT_MOC_LITERAL(3, 42, 28) // "on_pushButton_clear_released"
|
||||
|
||||
},
|
||||
"AlarmDialog\0on_pushButton_close_released\0"
|
||||
"\0on_pushButton_clear_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_AlarmDialog[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
2, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 24, 2, 0x08 /* Private */,
|
||||
3, 0, 25, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void AlarmDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<AlarmDialog *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->on_pushButton_close_released(); break;
|
||||
case 1: _t->on_pushButton_clear_released(); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject AlarmDialog::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_AlarmDialog.data,
|
||||
qt_meta_data_AlarmDialog,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *AlarmDialog::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *AlarmDialog::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_AlarmDialog.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int AlarmDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 2)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 2;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 2)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 2;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,150 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'camera_glue.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../camera_glue.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'camera_glue.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_camera_glue_t {
|
||||
QByteArrayData data[7];
|
||||
char stringdata0[97];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_camera_glue_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_camera_glue_t qt_meta_stringdata_camera_glue = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "camera_glue"
|
||||
QT_MOC_LITERAL(1, 12, 20), // "sendMsgToDialogSetup"
|
||||
QT_MOC_LITERAL(2, 33, 0), // ""
|
||||
QT_MOC_LITERAL(3, 34, 8), // "int[][3]"
|
||||
QT_MOC_LITERAL(4, 43, 3), // "ptr"
|
||||
QT_MOC_LITERAL(5, 47, 21), // "recMsgFromDialogSetup"
|
||||
QT_MOC_LITERAL(6, 69, 27) // "on_pushButton_take_released"
|
||||
|
||||
},
|
||||
"camera_glue\0sendMsgToDialogSetup\0\0"
|
||||
"int[][3]\0ptr\0recMsgFromDialogSetup\0"
|
||||
"on_pushButton_take_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_camera_glue[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
3, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 29, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
5, 1, 32, 2, 0x0a /* Public */,
|
||||
6, 0, 35, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, 0x80000000 | 3, 4,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void, 0x80000000 | 3, 4,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void camera_glue::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<camera_glue *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendMsgToDialogSetup((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 1: _t->recMsgFromDialogSetup((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 2: _t->on_pushButton_take_released(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (camera_glue::*)(int [][3]);
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&camera_glue::sendMsgToDialogSetup)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject camera_glue::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_camera_glue.data,
|
||||
qt_meta_data_camera_glue,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *camera_glue::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *camera_glue::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_camera_glue.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int camera_glue::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 3)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 3;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 3)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 3;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void camera_glue::sendMsgToDialogSetup(int _t1[][3])
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,151 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'change_shift.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../change_shift.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'change_shift.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_change_shift_t {
|
||||
QByteArrayData data[8];
|
||||
char stringdata0[104];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_change_shift_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_change_shift_t qt_meta_stringdata_change_shift = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 12), // "change_shift"
|
||||
QT_MOC_LITERAL(1, 13, 20), // "sendMsgToDialogSetup"
|
||||
QT_MOC_LITERAL(2, 34, 0), // ""
|
||||
QT_MOC_LITERAL(3, 35, 5), // "timeA"
|
||||
QT_MOC_LITERAL(4, 41, 5), // "timeB"
|
||||
QT_MOC_LITERAL(5, 47, 5), // "timeC"
|
||||
QT_MOC_LITERAL(6, 53, 28), // "on_pushButton_apply_released"
|
||||
QT_MOC_LITERAL(7, 82, 21) // "recMsgFromDialogSetup"
|
||||
|
||||
},
|
||||
"change_shift\0sendMsgToDialogSetup\0\0"
|
||||
"timeA\0timeB\0timeC\0on_pushButton_apply_released\0"
|
||||
"recMsgFromDialogSetup"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_change_shift[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
3, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 3, 29, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
6, 0, 36, 2, 0x08 /* Private */,
|
||||
7, 3, 37, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 3, 4, 5,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 3, 4, 5,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void change_shift::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<change_shift *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendMsgToDialogSetup((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
case 1: _t->on_pushButton_apply_released(); break;
|
||||
case 2: _t->recMsgFromDialogSetup((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (change_shift::*)(QTime , QTime , QTime );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&change_shift::sendMsgToDialogSetup)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject change_shift::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_change_shift.data,
|
||||
qt_meta_data_change_shift,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *change_shift::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *change_shift::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_change_shift.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int change_shift::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 3)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 3;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 3)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 3;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void change_shift::sendMsgToDialogSetup(QTime _t1, QTime _t2, QTime _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,349 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'cigarette.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../cigarette.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'cigarette.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Cigarette_t {
|
||||
QByteArrayData data[57];
|
||||
char stringdata0[830];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Cigarette_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Cigarette_t qt_meta_stringdata_Cigarette = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 9), // "Cigarette"
|
||||
QT_MOC_LITERAL(1, 10, 13), // "sengMsgToClog"
|
||||
QT_MOC_LITERAL(2, 24, 0), // ""
|
||||
QT_MOC_LITERAL(3, 25, 19), // "sendMsgToExportData"
|
||||
QT_MOC_LITERAL(4, 45, 21), // "on_btn_start_released"
|
||||
QT_MOC_LITERAL(5, 67, 21), // "on_btn_pause_released"
|
||||
QT_MOC_LITERAL(6, 89, 20), // "on_btn_lock_released"
|
||||
QT_MOC_LITERAL(7, 110, 21), // "on_btn_setup_released"
|
||||
QT_MOC_LITERAL(8, 132, 25), // "on_checkBox_debug_clicked"
|
||||
QT_MOC_LITERAL(9, 158, 7), // "checked"
|
||||
QT_MOC_LITERAL(10, 166, 26), // "on_checkBox_unkick_clicked"
|
||||
QT_MOC_LITERAL(11, 193, 28), // "on_pushButton_wintab_clicked"
|
||||
QT_MOC_LITERAL(12, 222, 26), // "on_toolButton_plc_released"
|
||||
QT_MOC_LITERAL(13, 249, 28), // "on_toolButton_alarm_released"
|
||||
QT_MOC_LITERAL(14, 278, 28), // "on_pushButton_clear_released"
|
||||
QT_MOC_LITERAL(15, 307, 12), // "enable_shift"
|
||||
QT_MOC_LITERAL(16, 320, 11), // "OnNotifyHub"
|
||||
QT_MOC_LITERAL(17, 332, 3), // "Num"
|
||||
QT_MOC_LITERAL(18, 336, 3), // "Cnt"
|
||||
QT_MOC_LITERAL(19, 340, 7), // "cv::Mat"
|
||||
QT_MOC_LITERAL(20, 348, 1), // "m"
|
||||
QT_MOC_LITERAL(21, 350, 20), // "OnDisplayTimeCostHub"
|
||||
QT_MOC_LITERAL(22, 371, 2), // "ms"
|
||||
QT_MOC_LITERAL(23, 374, 23), // "OnDisplayCheckNumberHub"
|
||||
QT_MOC_LITERAL(24, 398, 2), // "no"
|
||||
QT_MOC_LITERAL(25, 401, 16), // "OnDisplayJdNoHub"
|
||||
QT_MOC_LITERAL(26, 418, 5), // "jd_no"
|
||||
QT_MOC_LITERAL(27, 424, 7), // "OnOKHub"
|
||||
QT_MOC_LITERAL(28, 432, 7), // "OnNGHub"
|
||||
QT_MOC_LITERAL(29, 440, 19), // "updateStatisticsHub"
|
||||
QT_MOC_LITERAL(30, 460, 15), // "statisticalData"
|
||||
QT_MOC_LITERAL(31, 476, 19), // "OnRotateReleasedHub"
|
||||
QT_MOC_LITERAL(32, 496, 26), // "OnToolButtonCamReleasedHub"
|
||||
QT_MOC_LITERAL(33, 523, 17), // "OpenCamTimeoutHub"
|
||||
QT_MOC_LITERAL(34, 541, 12), // "OnDBClickHub"
|
||||
QT_MOC_LITERAL(35, 554, 7), // "Num_Cnt"
|
||||
QT_MOC_LITERAL(36, 562, 13), // "DrawRect_init"
|
||||
QT_MOC_LITERAL(37, 576, 12), // "OnTPClickHub"
|
||||
QT_MOC_LITERAL(38, 589, 14), // "OnDBClickNGHub"
|
||||
QT_MOC_LITERAL(39, 604, 15), // "ReconnectCamHub"
|
||||
QT_MOC_LITERAL(40, 620, 7), // "OnMouse"
|
||||
QT_MOC_LITERAL(41, 628, 12), // "QMouseEvent*"
|
||||
QT_MOC_LITERAL(42, 641, 5), // "event"
|
||||
QT_MOC_LITERAL(43, 647, 5), // "OnKey"
|
||||
QT_MOC_LITERAL(44, 653, 10), // "QKeyEvent*"
|
||||
QT_MOC_LITERAL(45, 664, 13), // "handleTimeout"
|
||||
QT_MOC_LITERAL(46, 678, 10), // "op_timeout"
|
||||
QT_MOC_LITERAL(47, 689, 13), // "admin_timeout"
|
||||
QT_MOC_LITERAL(48, 703, 15), // "EnableDebugMode"
|
||||
QT_MOC_LITERAL(49, 719, 16), // "DisableDebugMode"
|
||||
QT_MOC_LITERAL(50, 736, 13), // "OnCancelAlarm"
|
||||
QT_MOC_LITERAL(51, 750, 28), // "on_pushButton_reset_released"
|
||||
QT_MOC_LITERAL(52, 779, 4), // "OnOp"
|
||||
QT_MOC_LITERAL(53, 784, 6), // "OnExit"
|
||||
QT_MOC_LITERAL(54, 791, 9), // "OnRestart"
|
||||
QT_MOC_LITERAL(55, 801, 7), // "OnAdmin"
|
||||
QT_MOC_LITERAL(56, 809, 20) // "CleanThreadStartAuto"
|
||||
|
||||
},
|
||||
"Cigarette\0sengMsgToClog\0\0sendMsgToExportData\0"
|
||||
"on_btn_start_released\0on_btn_pause_released\0"
|
||||
"on_btn_lock_released\0on_btn_setup_released\0"
|
||||
"on_checkBox_debug_clicked\0checked\0"
|
||||
"on_checkBox_unkick_clicked\0"
|
||||
"on_pushButton_wintab_clicked\0"
|
||||
"on_toolButton_plc_released\0"
|
||||
"on_toolButton_alarm_released\0"
|
||||
"on_pushButton_clear_released\0enable_shift\0"
|
||||
"OnNotifyHub\0Num\0Cnt\0cv::Mat\0m\0"
|
||||
"OnDisplayTimeCostHub\0ms\0OnDisplayCheckNumberHub\0"
|
||||
"no\0OnDisplayJdNoHub\0jd_no\0OnOKHub\0"
|
||||
"OnNGHub\0updateStatisticsHub\0statisticalData\0"
|
||||
"OnRotateReleasedHub\0OnToolButtonCamReleasedHub\0"
|
||||
"OpenCamTimeoutHub\0OnDBClickHub\0Num_Cnt\0"
|
||||
"DrawRect_init\0OnTPClickHub\0OnDBClickNGHub\0"
|
||||
"ReconnectCamHub\0OnMouse\0QMouseEvent*\0"
|
||||
"event\0OnKey\0QKeyEvent*\0handleTimeout\0"
|
||||
"op_timeout\0admin_timeout\0EnableDebugMode\0"
|
||||
"DisableDebugMode\0OnCancelAlarm\0"
|
||||
"on_pushButton_reset_released\0OnOp\0"
|
||||
"OnExit\0OnRestart\0OnAdmin\0CleanThreadStartAuto"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Cigarette[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
42, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
2, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 224, 2, 0x06 /* Public */,
|
||||
3, 0, 227, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
4, 0, 228, 2, 0x08 /* Private */,
|
||||
5, 0, 229, 2, 0x08 /* Private */,
|
||||
6, 0, 230, 2, 0x08 /* Private */,
|
||||
7, 0, 231, 2, 0x08 /* Private */,
|
||||
8, 1, 232, 2, 0x08 /* Private */,
|
||||
10, 1, 235, 2, 0x08 /* Private */,
|
||||
11, 1, 238, 2, 0x08 /* Private */,
|
||||
12, 0, 241, 2, 0x08 /* Private */,
|
||||
13, 0, 242, 2, 0x08 /* Private */,
|
||||
14, 0, 243, 2, 0x08 /* Private */,
|
||||
15, 0, 244, 2, 0x08 /* Private */,
|
||||
16, 3, 245, 2, 0x08 /* Private */,
|
||||
21, 2, 252, 2, 0x08 /* Private */,
|
||||
23, 2, 257, 2, 0x08 /* Private */,
|
||||
25, 2, 262, 2, 0x08 /* Private */,
|
||||
27, 1, 267, 2, 0x08 /* Private */,
|
||||
28, 1, 270, 2, 0x08 /* Private */,
|
||||
29, 2, 273, 2, 0x08 /* Private */,
|
||||
31, 1, 278, 2, 0x08 /* Private */,
|
||||
32, 1, 281, 2, 0x08 /* Private */,
|
||||
33, 1, 284, 2, 0x08 /* Private */,
|
||||
34, 1, 287, 2, 0x08 /* Private */,
|
||||
36, 1, 290, 2, 0x08 /* Private */,
|
||||
37, 1, 293, 2, 0x08 /* Private */,
|
||||
38, 1, 296, 2, 0x08 /* Private */,
|
||||
39, 1, 299, 2, 0x08 /* Private */,
|
||||
40, 1, 302, 2, 0x08 /* Private */,
|
||||
43, 1, 305, 2, 0x08 /* Private */,
|
||||
45, 0, 308, 2, 0x08 /* Private */,
|
||||
46, 0, 309, 2, 0x08 /* Private */,
|
||||
47, 0, 310, 2, 0x08 /* Private */,
|
||||
48, 0, 311, 2, 0x08 /* Private */,
|
||||
49, 0, 312, 2, 0x08 /* Private */,
|
||||
50, 0, 313, 2, 0x08 /* Private */,
|
||||
51, 0, 314, 2, 0x08 /* Private */,
|
||||
52, 0, 315, 2, 0x08 /* Private */,
|
||||
53, 0, 316, 2, 0x08 /* Private */,
|
||||
54, 0, 317, 2, 0x08 /* Private */,
|
||||
55, 0, 318, 2, 0x08 /* Private */,
|
||||
56, 0, 319, 2, 0x0a /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 2,
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Bool, 9,
|
||||
QMetaType::Void, QMetaType::Bool, 9,
|
||||
QMetaType::Void, QMetaType::Bool, 9,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 0x80000000 | 19, 17, 18, 20,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 17, 22,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Long, 17, 24,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::QString, 17, 26,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::QString, QMetaType::Int, 30, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, QMetaType::Int, 17,
|
||||
QMetaType::Void, 0x80000000 | 41, 42,
|
||||
QMetaType::Void, 0x80000000 | 44, 42,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Cigarette::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<Cigarette *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sengMsgToClog((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->sendMsgToExportData(); break;
|
||||
case 2: _t->on_btn_start_released(); break;
|
||||
case 3: _t->on_btn_pause_released(); break;
|
||||
case 4: _t->on_btn_lock_released(); break;
|
||||
case 5: _t->on_btn_setup_released(); break;
|
||||
case 6: _t->on_checkBox_debug_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 7: _t->on_checkBox_unkick_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 8: _t->on_pushButton_wintab_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 9: _t->on_toolButton_plc_released(); break;
|
||||
case 10: _t->on_toolButton_alarm_released(); break;
|
||||
case 11: _t->on_pushButton_clear_released(); break;
|
||||
case 12: _t->enable_shift(); break;
|
||||
case 13: _t->OnNotifyHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< cv::Mat(*)>(_a[3]))); break;
|
||||
case 14: _t->OnDisplayTimeCostHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 15: _t->OnDisplayCheckNumberHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< long(*)>(_a[2]))); break;
|
||||
case 16: _t->OnDisplayJdNoHub((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 17: _t->OnOKHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 18: _t->OnNGHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 19: _t->updateStatisticsHub((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 20: _t->OnRotateReleasedHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 21: _t->OnToolButtonCamReleasedHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 22: _t->OpenCamTimeoutHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 23: _t->OnDBClickHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 24: _t->DrawRect_init((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 25: _t->OnTPClickHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 26: _t->OnDBClickNGHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 27: _t->ReconnectCamHub((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 28: _t->OnMouse((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 29: _t->OnKey((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break;
|
||||
case 30: _t->handleTimeout(); break;
|
||||
case 31: _t->op_timeout(); break;
|
||||
case 32: _t->admin_timeout(); break;
|
||||
case 33: _t->EnableDebugMode(); break;
|
||||
case 34: _t->DisableDebugMode(); break;
|
||||
case 35: _t->OnCancelAlarm(); break;
|
||||
case 36: _t->on_pushButton_reset_released(); break;
|
||||
case 37: _t->OnOp(); break;
|
||||
case 38: _t->OnExit(); break;
|
||||
case 39: _t->OnRestart(); break;
|
||||
case 40: _t->OnAdmin(); break;
|
||||
case 41: _t->CleanThreadStartAuto(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (Cigarette::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Cigarette::sengMsgToClog)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (Cigarette::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Cigarette::sendMsgToExportData)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject Cigarette::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
|
||||
qt_meta_stringdata_Cigarette.data,
|
||||
qt_meta_data_Cigarette,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Cigarette::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Cigarette::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Cigarette.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QMainWindow::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Cigarette::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 42)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 42;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 42)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 42;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void Cigarette::sengMsgToClog(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void Cigarette::sendMsgToExportData()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,273 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'db_label.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../db_label.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'db_label.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_db_label_t {
|
||||
QByteArrayData data[14];
|
||||
char stringdata0[219];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_db_label_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_db_label_t qt_meta_stringdata_db_label = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 8), // "db_label"
|
||||
QT_MOC_LITERAL(1, 9, 11), // "QlabelClick"
|
||||
QT_MOC_LITERAL(2, 21, 0), // ""
|
||||
QT_MOC_LITERAL(3, 22, 17), // "QlabelDoubleClick"
|
||||
QT_MOC_LITERAL(4, 40, 17), // "QlabelTripleClick"
|
||||
QT_MOC_LITERAL(5, 58, 27), // "SignalmouseDoubleClickEvent"
|
||||
QT_MOC_LITERAL(6, 86, 12), // "QMouseEvent*"
|
||||
QT_MOC_LITERAL(7, 99, 5), // "event"
|
||||
QT_MOC_LITERAL(8, 105, 21), // "SignalmousePressEvent"
|
||||
QT_MOC_LITERAL(9, 127, 23), // "SignalmouseReleaseEvent"
|
||||
QT_MOC_LITERAL(10, 151, 20), // "SignalmouseMoveEvent"
|
||||
QT_MOC_LITERAL(11, 172, 21), // "SignalkeyReleaseEvent"
|
||||
QT_MOC_LITERAL(12, 194, 10), // "QKeyEvent*"
|
||||
QT_MOC_LITERAL(13, 205, 13) // "TimeOutNotify"
|
||||
|
||||
},
|
||||
"db_label\0QlabelClick\0\0QlabelDoubleClick\0"
|
||||
"QlabelTripleClick\0SignalmouseDoubleClickEvent\0"
|
||||
"QMouseEvent*\0event\0SignalmousePressEvent\0"
|
||||
"SignalmouseReleaseEvent\0SignalmouseMoveEvent\0"
|
||||
"SignalkeyReleaseEvent\0QKeyEvent*\0"
|
||||
"TimeOutNotify"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_db_label[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
9, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
8, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 59, 2, 0x06 /* Public */,
|
||||
3, 0, 60, 2, 0x06 /* Public */,
|
||||
4, 0, 61, 2, 0x06 /* Public */,
|
||||
5, 1, 62, 2, 0x06 /* Public */,
|
||||
8, 1, 65, 2, 0x06 /* Public */,
|
||||
9, 1, 68, 2, 0x06 /* Public */,
|
||||
10, 1, 71, 2, 0x06 /* Public */,
|
||||
11, 1, 74, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
13, 0, 77, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 6, 7,
|
||||
QMetaType::Void, 0x80000000 | 12, 7,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void db_label::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<db_label *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->QlabelClick(); break;
|
||||
case 1: _t->QlabelDoubleClick(); break;
|
||||
case 2: _t->QlabelTripleClick(); break;
|
||||
case 3: _t->SignalmouseDoubleClickEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 4: _t->SignalmousePressEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 5: _t->SignalmouseReleaseEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 6: _t->SignalmouseMoveEvent((*reinterpret_cast< QMouseEvent*(*)>(_a[1]))); break;
|
||||
case 7: _t->SignalkeyReleaseEvent((*reinterpret_cast< QKeyEvent*(*)>(_a[1]))); break;
|
||||
case 8: _t->TimeOutNotify(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (db_label::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::QlabelClick)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::QlabelDoubleClick)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::QlabelTripleClick)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmouseDoubleClickEvent)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmousePressEvent)) {
|
||||
*result = 4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmouseReleaseEvent)) {
|
||||
*result = 5;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QMouseEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalmouseMoveEvent)) {
|
||||
*result = 6;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (db_label::*)(QKeyEvent * );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&db_label::SignalkeyReleaseEvent)) {
|
||||
*result = 7;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject db_label::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QLabel::staticMetaObject>(),
|
||||
qt_meta_stringdata_db_label.data,
|
||||
qt_meta_data_db_label,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *db_label::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *db_label::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_db_label.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QLabel::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int db_label::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QLabel::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 9)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 9;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 9)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 9;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void db_label::QlabelClick()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void db_label::QlabelDoubleClick()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void db_label::QlabelTripleClick()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void db_label::SignalmouseDoubleClickEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 4
|
||||
void db_label::SignalmousePressEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 4, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 5
|
||||
void db_label::SignalmouseReleaseEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 5, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 6
|
||||
void db_label::SignalmouseMoveEvent(QMouseEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 6, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 7
|
||||
void db_label::SignalkeyReleaseEvent(QKeyEvent * _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 7, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,137 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'debugthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../debugthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'debugthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DebugThread_t {
|
||||
QByteArrayData data[6];
|
||||
char stringdata0[36];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DebugThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DebugThread_t qt_meta_stringdata_DebugThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "DebugThread"
|
||||
QT_MOC_LITERAL(1, 12, 6), // "notify"
|
||||
QT_MOC_LITERAL(2, 19, 0), // ""
|
||||
QT_MOC_LITERAL(3, 20, 3), // "Num"
|
||||
QT_MOC_LITERAL(4, 24, 3), // "Cnt"
|
||||
QT_MOC_LITERAL(5, 28, 7) // "cv::Mat"
|
||||
|
||||
},
|
||||
"DebugThread\0notify\0\0Num\0Cnt\0cv::Mat"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DebugThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 3, 19, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 0x80000000 | 5, 3, 4, 2,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DebugThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DebugThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->notify((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< cv::Mat(*)>(_a[3]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (DebugThread::*)(int , int , cv::Mat );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DebugThread::notify)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DebugThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_DebugThread.data,
|
||||
qt_meta_data_DebugThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DebugThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DebugThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DebugThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DebugThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void DebugThread::notify(int _t1, int _t2, cv::Mat _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,202 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'dialogin.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../dialogin.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'dialogin.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_Dialogin_t {
|
||||
QByteArrayData data[16];
|
||||
char stringdata0[351];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_Dialogin_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_Dialogin_t qt_meta_stringdata_Dialogin = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 8), // "Dialogin"
|
||||
QT_MOC_LITERAL(1, 9, 8), // "enter_op"
|
||||
QT_MOC_LITERAL(2, 18, 0), // ""
|
||||
QT_MOC_LITERAL(3, 19, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(4, 48, 26), // "on_pushButton_clr_released"
|
||||
QT_MOC_LITERAL(5, 75, 25), // "on_pushButton_ok_released"
|
||||
QT_MOC_LITERAL(6, 101, 24), // "on_pushButton_0_released"
|
||||
QT_MOC_LITERAL(7, 126, 24), // "on_pushButton_1_released"
|
||||
QT_MOC_LITERAL(8, 151, 24), // "on_pushButton_2_released"
|
||||
QT_MOC_LITERAL(9, 176, 24), // "on_pushButton_3_released"
|
||||
QT_MOC_LITERAL(10, 201, 24), // "on_pushButton_4_released"
|
||||
QT_MOC_LITERAL(11, 226, 24), // "on_pushButton_5_released"
|
||||
QT_MOC_LITERAL(12, 251, 24), // "on_pushButton_6_released"
|
||||
QT_MOC_LITERAL(13, 276, 24), // "on_pushButton_7_released"
|
||||
QT_MOC_LITERAL(14, 301, 24), // "on_pushButton_8_released"
|
||||
QT_MOC_LITERAL(15, 326, 24) // "on_pushButton_9_released"
|
||||
|
||||
},
|
||||
"Dialogin\0enter_op\0\0on_pushButton_close_released\0"
|
||||
"on_pushButton_clr_released\0"
|
||||
"on_pushButton_ok_released\0"
|
||||
"on_pushButton_0_released\0"
|
||||
"on_pushButton_1_released\0"
|
||||
"on_pushButton_2_released\0"
|
||||
"on_pushButton_3_released\0"
|
||||
"on_pushButton_4_released\0"
|
||||
"on_pushButton_5_released\0"
|
||||
"on_pushButton_6_released\0"
|
||||
"on_pushButton_7_released\0"
|
||||
"on_pushButton_8_released\0"
|
||||
"on_pushButton_9_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_Dialogin[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
14, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 84, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
3, 0, 85, 2, 0x08 /* Private */,
|
||||
4, 0, 86, 2, 0x08 /* Private */,
|
||||
5, 0, 87, 2, 0x08 /* Private */,
|
||||
6, 0, 88, 2, 0x08 /* Private */,
|
||||
7, 0, 89, 2, 0x08 /* Private */,
|
||||
8, 0, 90, 2, 0x08 /* Private */,
|
||||
9, 0, 91, 2, 0x08 /* Private */,
|
||||
10, 0, 92, 2, 0x08 /* Private */,
|
||||
11, 0, 93, 2, 0x08 /* Private */,
|
||||
12, 0, 94, 2, 0x08 /* Private */,
|
||||
13, 0, 95, 2, 0x08 /* Private */,
|
||||
14, 0, 96, 2, 0x08 /* Private */,
|
||||
15, 0, 97, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void Dialogin::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<Dialogin *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->enter_op(); break;
|
||||
case 1: _t->on_pushButton_close_released(); break;
|
||||
case 2: _t->on_pushButton_clr_released(); break;
|
||||
case 3: _t->on_pushButton_ok_released(); break;
|
||||
case 4: _t->on_pushButton_0_released(); break;
|
||||
case 5: _t->on_pushButton_1_released(); break;
|
||||
case 6: _t->on_pushButton_2_released(); break;
|
||||
case 7: _t->on_pushButton_3_released(); break;
|
||||
case 8: _t->on_pushButton_4_released(); break;
|
||||
case 9: _t->on_pushButton_5_released(); break;
|
||||
case 10: _t->on_pushButton_6_released(); break;
|
||||
case 11: _t->on_pushButton_7_released(); break;
|
||||
case 12: _t->on_pushButton_8_released(); break;
|
||||
case 13: _t->on_pushButton_9_released(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (Dialogin::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Dialogin::enter_op)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject Dialogin::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_Dialogin.data,
|
||||
qt_meta_data_Dialogin,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *Dialogin::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *Dialogin::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_Dialogin.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int Dialogin::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 14)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 14;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 14)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 14;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void Dialogin::enter_op()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,322 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'dialogsetup.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../dialogsetup.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'dialogsetup.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DialogSetup_t {
|
||||
QByteArrayData data[38];
|
||||
char stringdata0[872];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DialogSetup_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DialogSetup_t qt_meta_stringdata_DialogSetup = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 11), // "DialogSetup"
|
||||
QT_MOC_LITERAL(1, 12, 11), // "system_exit"
|
||||
QT_MOC_LITERAL(2, 24, 0), // ""
|
||||
QT_MOC_LITERAL(3, 25, 14), // "sendMsgToShift"
|
||||
QT_MOC_LITERAL(4, 40, 5), // "timeA"
|
||||
QT_MOC_LITERAL(5, 46, 5), // "timeB"
|
||||
QT_MOC_LITERAL(6, 52, 5), // "timeC"
|
||||
QT_MOC_LITERAL(7, 58, 15), // "sendMsgToOutput"
|
||||
QT_MOC_LITERAL(8, 74, 15), // "sendMsgToConfig"
|
||||
QT_MOC_LITERAL(9, 90, 8), // "int[][3]"
|
||||
QT_MOC_LITERAL(10, 99, 3), // "ptr"
|
||||
QT_MOC_LITERAL(11, 103, 31), // "on_toolButton_keyboard_released"
|
||||
QT_MOC_LITERAL(12, 135, 27), // "on_pushButton_exit_released"
|
||||
QT_MOC_LITERAL(13, 163, 27), // "on_pushButton_save_released"
|
||||
QT_MOC_LITERAL(14, 191, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(15, 220, 41), // "on_toolButton_choose_config_p..."
|
||||
QT_MOC_LITERAL(16, 262, 40), // "on_toolButton_choose_model_pa..."
|
||||
QT_MOC_LITERAL(17, 303, 38), // "on_toolButton_choose_path_jpg..."
|
||||
QT_MOC_LITERAL(18, 342, 44), // "on_toolButton_choose_save_pic..."
|
||||
QT_MOC_LITERAL(19, 387, 30), // "on_pushButton_desktop_released"
|
||||
QT_MOC_LITERAL(20, 418, 28), // "on_pushButton_image_released"
|
||||
QT_MOC_LITERAL(21, 447, 27), // "on_pushButton_pswd_released"
|
||||
QT_MOC_LITERAL(22, 475, 30), // "on_pushButton_pswd_op_released"
|
||||
QT_MOC_LITERAL(23, 506, 27), // "on_pushButton_expo_released"
|
||||
QT_MOC_LITERAL(24, 534, 29), // "on_pushButton_filter_released"
|
||||
QT_MOC_LITERAL(25, 564, 32), // "on_pushButton_clear_pic_released"
|
||||
QT_MOC_LITERAL(26, 597, 29), // "on_pushButton_config_released"
|
||||
QT_MOC_LITERAL(27, 627, 29), // "on_pushButton_change_released"
|
||||
QT_MOC_LITERAL(28, 657, 32), // "on_pushButton_statistic_released"
|
||||
QT_MOC_LITERAL(29, 690, 29), // "on_checkBox_auto_open_clicked"
|
||||
QT_MOC_LITERAL(30, 720, 7), // "checked"
|
||||
QT_MOC_LITERAL(31, 728, 29), // "on_checkBox_auto_work_clicked"
|
||||
QT_MOC_LITERAL(32, 758, 22), // "recMsgFromDialogConfig"
|
||||
QT_MOC_LITERAL(33, 781, 21), // "recMsgFromChangeShift"
|
||||
QT_MOC_LITERAL(34, 803, 16), // "onComboBoxSelect"
|
||||
QT_MOC_LITERAL(35, 820, 5), // "index"
|
||||
QT_MOC_LITERAL(36, 826, 20), // "onComboBoxConfSelect"
|
||||
QT_MOC_LITERAL(37, 847, 24) // "onComboBoxPicsPathSelect"
|
||||
|
||||
},
|
||||
"DialogSetup\0system_exit\0\0sendMsgToShift\0"
|
||||
"timeA\0timeB\0timeC\0sendMsgToOutput\0"
|
||||
"sendMsgToConfig\0int[][3]\0ptr\0"
|
||||
"on_toolButton_keyboard_released\0"
|
||||
"on_pushButton_exit_released\0"
|
||||
"on_pushButton_save_released\0"
|
||||
"on_pushButton_close_released\0"
|
||||
"on_toolButton_choose_config_path_released\0"
|
||||
"on_toolButton_choose_model_path_released\0"
|
||||
"on_toolButton_choose_path_jpg_released\0"
|
||||
"on_toolButton_choose_save_pics_path_released\0"
|
||||
"on_pushButton_desktop_released\0"
|
||||
"on_pushButton_image_released\0"
|
||||
"on_pushButton_pswd_released\0"
|
||||
"on_pushButton_pswd_op_released\0"
|
||||
"on_pushButton_expo_released\0"
|
||||
"on_pushButton_filter_released\0"
|
||||
"on_pushButton_clear_pic_released\0"
|
||||
"on_pushButton_config_released\0"
|
||||
"on_pushButton_change_released\0"
|
||||
"on_pushButton_statistic_released\0"
|
||||
"on_checkBox_auto_open_clicked\0checked\0"
|
||||
"on_checkBox_auto_work_clicked\0"
|
||||
"recMsgFromDialogConfig\0recMsgFromChangeShift\0"
|
||||
"onComboBoxSelect\0index\0onComboBoxConfSelect\0"
|
||||
"onComboBoxPicsPathSelect"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DialogSetup[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
29, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 159, 2, 0x06 /* Public */,
|
||||
3, 3, 160, 2, 0x06 /* Public */,
|
||||
7, 0, 167, 2, 0x06 /* Public */,
|
||||
8, 1, 168, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
11, 0, 171, 2, 0x08 /* Private */,
|
||||
12, 0, 172, 2, 0x08 /* Private */,
|
||||
13, 0, 173, 2, 0x08 /* Private */,
|
||||
14, 0, 174, 2, 0x08 /* Private */,
|
||||
15, 0, 175, 2, 0x08 /* Private */,
|
||||
16, 0, 176, 2, 0x08 /* Private */,
|
||||
17, 0, 177, 2, 0x08 /* Private */,
|
||||
18, 0, 178, 2, 0x08 /* Private */,
|
||||
19, 0, 179, 2, 0x08 /* Private */,
|
||||
20, 0, 180, 2, 0x08 /* Private */,
|
||||
21, 0, 181, 2, 0x08 /* Private */,
|
||||
22, 0, 182, 2, 0x08 /* Private */,
|
||||
23, 0, 183, 2, 0x08 /* Private */,
|
||||
24, 0, 184, 2, 0x08 /* Private */,
|
||||
25, 0, 185, 2, 0x08 /* Private */,
|
||||
26, 0, 186, 2, 0x08 /* Private */,
|
||||
27, 0, 187, 2, 0x08 /* Private */,
|
||||
28, 0, 188, 2, 0x08 /* Private */,
|
||||
29, 1, 189, 2, 0x08 /* Private */,
|
||||
31, 1, 192, 2, 0x08 /* Private */,
|
||||
32, 1, 195, 2, 0x08 /* Private */,
|
||||
33, 3, 198, 2, 0x08 /* Private */,
|
||||
34, 1, 205, 2, 0x08 /* Private */,
|
||||
36, 1, 208, 2, 0x08 /* Private */,
|
||||
37, 1, 211, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 4, 5, 6,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, 0x80000000 | 9, 10,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::Bool, 30,
|
||||
QMetaType::Void, QMetaType::Bool, 30,
|
||||
QMetaType::Void, 0x80000000 | 9, 10,
|
||||
QMetaType::Void, QMetaType::QTime, QMetaType::QTime, QMetaType::QTime, 4, 5, 6,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
QMetaType::Void, QMetaType::Int, 35,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DialogSetup::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DialogSetup *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->system_exit(); break;
|
||||
case 1: _t->sendMsgToShift((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
case 2: _t->sendMsgToOutput(); break;
|
||||
case 3: _t->sendMsgToConfig((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 4: _t->on_toolButton_keyboard_released(); break;
|
||||
case 5: _t->on_pushButton_exit_released(); break;
|
||||
case 6: _t->on_pushButton_save_released(); break;
|
||||
case 7: _t->on_pushButton_close_released(); break;
|
||||
case 8: _t->on_toolButton_choose_config_path_released(); break;
|
||||
case 9: _t->on_toolButton_choose_model_path_released(); break;
|
||||
case 10: _t->on_toolButton_choose_path_jpg_released(); break;
|
||||
case 11: _t->on_toolButton_choose_save_pics_path_released(); break;
|
||||
case 12: _t->on_pushButton_desktop_released(); break;
|
||||
case 13: _t->on_pushButton_image_released(); break;
|
||||
case 14: _t->on_pushButton_pswd_released(); break;
|
||||
case 15: _t->on_pushButton_pswd_op_released(); break;
|
||||
case 16: _t->on_pushButton_expo_released(); break;
|
||||
case 17: _t->on_pushButton_filter_released(); break;
|
||||
case 18: _t->on_pushButton_clear_pic_released(); break;
|
||||
case 19: _t->on_pushButton_config_released(); break;
|
||||
case 20: _t->on_pushButton_change_released(); break;
|
||||
case 21: _t->on_pushButton_statistic_released(); break;
|
||||
case 22: _t->on_checkBox_auto_open_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 23: _t->on_checkBox_auto_work_clicked((*reinterpret_cast< bool(*)>(_a[1]))); break;
|
||||
case 24: _t->recMsgFromDialogConfig((*reinterpret_cast< int(*)[][3]>(_a[1]))); break;
|
||||
case 25: _t->recMsgFromChangeShift((*reinterpret_cast< QTime(*)>(_a[1])),(*reinterpret_cast< QTime(*)>(_a[2])),(*reinterpret_cast< QTime(*)>(_a[3]))); break;
|
||||
case 26: _t->onComboBoxSelect((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 27: _t->onComboBoxConfSelect((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 28: _t->onComboBoxPicsPathSelect((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (DialogSetup::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::system_exit)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DialogSetup::*)(QTime , QTime , QTime );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::sendMsgToShift)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DialogSetup::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::sendMsgToOutput)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DialogSetup::*)(int [][3]);
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetup::sendMsgToConfig)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DialogSetup::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_DialogSetup.data,
|
||||
qt_meta_data_DialogSetup,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DialogSetup::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DialogSetup::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DialogSetup.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DialogSetup::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 29)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 29;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 29)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 29;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void DialogSetup::system_exit()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void DialogSetup::sendMsgToShift(QTime _t1, QTime _t2, QTime _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void DialogSetup::sendMsgToOutput()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, nullptr);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void DialogSetup::sendMsgToConfig(int _t1[][3])
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,203 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'dialogsetuppasswd.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../dialogsetuppasswd.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'dialogsetuppasswd.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DialogSetupPasswd_t {
|
||||
QByteArrayData data[16];
|
||||
char stringdata0[363];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DialogSetupPasswd_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DialogSetupPasswd_t qt_meta_stringdata_DialogSetupPasswd = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 17), // "DialogSetupPasswd"
|
||||
QT_MOC_LITERAL(1, 18, 11), // "enter_admin"
|
||||
QT_MOC_LITERAL(2, 30, 0), // ""
|
||||
QT_MOC_LITERAL(3, 31, 28), // "on_pushButton_close_released"
|
||||
QT_MOC_LITERAL(4, 60, 26), // "on_pushButton_clr_released"
|
||||
QT_MOC_LITERAL(5, 87, 25), // "on_pushButton_ok_released"
|
||||
QT_MOC_LITERAL(6, 113, 24), // "on_pushButton_0_released"
|
||||
QT_MOC_LITERAL(7, 138, 24), // "on_pushButton_1_released"
|
||||
QT_MOC_LITERAL(8, 163, 24), // "on_pushButton_2_released"
|
||||
QT_MOC_LITERAL(9, 188, 24), // "on_pushButton_3_released"
|
||||
QT_MOC_LITERAL(10, 213, 24), // "on_pushButton_4_released"
|
||||
QT_MOC_LITERAL(11, 238, 24), // "on_pushButton_5_released"
|
||||
QT_MOC_LITERAL(12, 263, 24), // "on_pushButton_6_released"
|
||||
QT_MOC_LITERAL(13, 288, 24), // "on_pushButton_7_released"
|
||||
QT_MOC_LITERAL(14, 313, 24), // "on_pushButton_8_released"
|
||||
QT_MOC_LITERAL(15, 338, 24) // "on_pushButton_9_released"
|
||||
|
||||
},
|
||||
"DialogSetupPasswd\0enter_admin\0\0"
|
||||
"on_pushButton_close_released\0"
|
||||
"on_pushButton_clr_released\0"
|
||||
"on_pushButton_ok_released\0"
|
||||
"on_pushButton_0_released\0"
|
||||
"on_pushButton_1_released\0"
|
||||
"on_pushButton_2_released\0"
|
||||
"on_pushButton_3_released\0"
|
||||
"on_pushButton_4_released\0"
|
||||
"on_pushButton_5_released\0"
|
||||
"on_pushButton_6_released\0"
|
||||
"on_pushButton_7_released\0"
|
||||
"on_pushButton_8_released\0"
|
||||
"on_pushButton_9_released"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DialogSetupPasswd[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
14, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 0, 84, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
3, 0, 85, 2, 0x08 /* Private */,
|
||||
4, 0, 86, 2, 0x08 /* Private */,
|
||||
5, 0, 87, 2, 0x08 /* Private */,
|
||||
6, 0, 88, 2, 0x08 /* Private */,
|
||||
7, 0, 89, 2, 0x08 /* Private */,
|
||||
8, 0, 90, 2, 0x08 /* Private */,
|
||||
9, 0, 91, 2, 0x08 /* Private */,
|
||||
10, 0, 92, 2, 0x08 /* Private */,
|
||||
11, 0, 93, 2, 0x08 /* Private */,
|
||||
12, 0, 94, 2, 0x08 /* Private */,
|
||||
13, 0, 95, 2, 0x08 /* Private */,
|
||||
14, 0, 96, 2, 0x08 /* Private */,
|
||||
15, 0, 97, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DialogSetupPasswd::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DialogSetupPasswd *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->enter_admin(); break;
|
||||
case 1: _t->on_pushButton_close_released(); break;
|
||||
case 2: _t->on_pushButton_clr_released(); break;
|
||||
case 3: _t->on_pushButton_ok_released(); break;
|
||||
case 4: _t->on_pushButton_0_released(); break;
|
||||
case 5: _t->on_pushButton_1_released(); break;
|
||||
case 6: _t->on_pushButton_2_released(); break;
|
||||
case 7: _t->on_pushButton_3_released(); break;
|
||||
case 8: _t->on_pushButton_4_released(); break;
|
||||
case 9: _t->on_pushButton_5_released(); break;
|
||||
case 10: _t->on_pushButton_6_released(); break;
|
||||
case 11: _t->on_pushButton_7_released(); break;
|
||||
case 12: _t->on_pushButton_8_released(); break;
|
||||
case 13: _t->on_pushButton_9_released(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (DialogSetupPasswd::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DialogSetupPasswd::enter_admin)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DialogSetupPasswd::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_DialogSetupPasswd.data,
|
||||
qt_meta_data_DialogSetupPasswd,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DialogSetupPasswd::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DialogSetupPasswd::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DialogSetupPasswd.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DialogSetupPasswd::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 14)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 14;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 14)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 14;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void DialogSetupPasswd::enter_admin()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,124 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'exportData.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../exportData.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'exportData.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_ExportDataThread_t {
|
||||
QByteArrayData data[5];
|
||||
char stringdata0[71];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_ExportDataThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_ExportDataThread_t qt_meta_stringdata_ExportDataThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 16), // "ExportDataThread"
|
||||
QT_MOC_LITERAL(1, 17, 21), // "EDrecMsgFromCigarette"
|
||||
QT_MOC_LITERAL(2, 39, 0), // ""
|
||||
QT_MOC_LITERAL(3, 40, 21), // "GetDataFromSaveThread"
|
||||
QT_MOC_LITERAL(4, 62, 8) // "filePath"
|
||||
|
||||
},
|
||||
"ExportDataThread\0EDrecMsgFromCigarette\0"
|
||||
"\0GetDataFromSaveThread\0filePath"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_ExportDataThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
2, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 24, 2, 0x0a /* Public */,
|
||||
3, 1, 25, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 4,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void ExportDataThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<ExportDataThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->EDrecMsgFromCigarette(); break;
|
||||
case 1: _t->GetDataFromSaveThread((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject ExportDataThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_ExportDataThread.data,
|
||||
qt_meta_data_ExportDataThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *ExportDataThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *ExportDataThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_ExportDataThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int ExportDataThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 2)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 2;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 2)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 2;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,120 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'output_statistic.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../output_statistic.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'output_statistic.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_output_statistic_t {
|
||||
QByteArrayData data[3];
|
||||
char stringdata0[40];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_output_statistic_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_output_statistic_t qt_meta_stringdata_output_statistic = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 16), // "output_statistic"
|
||||
QT_MOC_LITERAL(1, 17, 21), // "recMsgFromDialogSetup"
|
||||
QT_MOC_LITERAL(2, 39, 0) // ""
|
||||
|
||||
},
|
||||
"output_statistic\0recMsgFromDialogSetup\0"
|
||||
""
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_output_statistic[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 19, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void output_statistic::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<output_statistic *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->recMsgFromDialogSetup(); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject output_statistic::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_output_statistic.data,
|
||||
qt_meta_data_output_statistic,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *output_statistic::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *output_statistic::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_output_statistic.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int output_statistic::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,146 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'plcsetup.hpp'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../plcsetup.hpp"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'plcsetup.hpp' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_PlcSetup_t {
|
||||
QByteArrayData data[9];
|
||||
char stringdata0[153];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_PlcSetup_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_PlcSetup_t qt_meta_stringdata_PlcSetup = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 8), // "PlcSetup"
|
||||
QT_MOC_LITERAL(1, 9, 10), // "click_read"
|
||||
QT_MOC_LITERAL(2, 20, 0), // ""
|
||||
QT_MOC_LITERAL(3, 21, 11), // "click_write"
|
||||
QT_MOC_LITERAL(4, 33, 10), // "click_save"
|
||||
QT_MOC_LITERAL(5, 44, 33), // "on_toolButton_batch_read_rele..."
|
||||
QT_MOC_LITERAL(6, 78, 31), // "on_toolButton_keyboard_released"
|
||||
QT_MOC_LITERAL(7, 110, 28), // "on_toolButton_close_released"
|
||||
QT_MOC_LITERAL(8, 139, 13) // "handleTimeout"
|
||||
|
||||
},
|
||||
"PlcSetup\0click_read\0\0click_write\0"
|
||||
"click_save\0on_toolButton_batch_read_released\0"
|
||||
"on_toolButton_keyboard_released\0"
|
||||
"on_toolButton_close_released\0handleTimeout"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_PlcSetup[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
7, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 49, 2, 0x08 /* Private */,
|
||||
3, 0, 50, 2, 0x08 /* Private */,
|
||||
4, 0, 51, 2, 0x08 /* Private */,
|
||||
5, 0, 52, 2, 0x08 /* Private */,
|
||||
6, 0, 53, 2, 0x08 /* Private */,
|
||||
7, 0, 54, 2, 0x08 /* Private */,
|
||||
8, 0, 55, 2, 0x08 /* Private */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void PlcSetup::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<PlcSetup *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->click_read(); break;
|
||||
case 1: _t->click_write(); break;
|
||||
case 2: _t->click_save(); break;
|
||||
case 3: _t->on_toolButton_batch_read_released(); break;
|
||||
case 4: _t->on_toolButton_keyboard_released(); break;
|
||||
case 5: _t->on_toolButton_close_released(); break;
|
||||
case 6: _t->handleTimeout(); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject PlcSetup::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
|
||||
qt_meta_stringdata_PlcSetup.data,
|
||||
qt_meta_data_PlcSetup,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *PlcSetup::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *PlcSetup::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_PlcSetup.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QDialog::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int PlcSetup::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QDialog::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 7)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 7;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 7)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 7;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,135 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'savethread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../savethread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'savethread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_SaveThread_t {
|
||||
QByteArrayData data[4];
|
||||
char stringdata0[38];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_SaveThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_SaveThread_t qt_meta_stringdata_SaveThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 10), // "SaveThread"
|
||||
QT_MOC_LITERAL(1, 11, 16), // "sendDataToExport"
|
||||
QT_MOC_LITERAL(2, 28, 0), // ""
|
||||
QT_MOC_LITERAL(3, 29, 8) // "filePath"
|
||||
|
||||
},
|
||||
"SaveThread\0sendDataToExport\0\0filePath"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_SaveThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
1, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 19, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void SaveThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<SaveThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendDataToExport((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (SaveThread::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SaveThread::sendDataToExport)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject SaveThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_SaveThread.data,
|
||||
qt_meta_data_SaveThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *SaveThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *SaveThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_SaveThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int SaveThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 1)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 1;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 1)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 1;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void SaveThread::sendDataToExport(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,149 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'threadReceive.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../threadReceive.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'threadReceive.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_threadReceive_t {
|
||||
QByteArrayData data[6];
|
||||
char stringdata0[88];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_threadReceive_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_threadReceive_t qt_meta_stringdata_threadReceive = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 13), // "threadReceive"
|
||||
QT_MOC_LITERAL(1, 14, 17), // "sendMsgToCigratte"
|
||||
QT_MOC_LITERAL(2, 32, 0), // ""
|
||||
QT_MOC_LITERAL(3, 33, 4), // "data"
|
||||
QT_MOC_LITERAL(4, 38, 22), // "processPendingDatagram"
|
||||
QT_MOC_LITERAL(5, 61, 26) // "fileprocessPendingDatagram"
|
||||
|
||||
},
|
||||
"threadReceive\0sendMsgToCigratte\0\0data\0"
|
||||
"processPendingDatagram\0"
|
||||
"fileprocessPendingDatagram"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_threadReceive[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
3, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
1, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 29, 2, 0x06 /* Public */,
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
4, 0, 32, 2, 0x08 /* Private */,
|
||||
5, 0, 33, 2, 0x08 /* Private */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void threadReceive::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<threadReceive *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->sendMsgToCigratte((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->processPendingDatagram(); break;
|
||||
case 2: _t->fileprocessPendingDatagram(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (threadReceive::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&threadReceive::sendMsgToCigratte)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject threadReceive::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_threadReceive.data,
|
||||
qt_meta_data_threadReceive,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *threadReceive::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *threadReceive::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_threadReceive.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int threadReceive::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 3)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 3;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 3)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 3;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void threadReceive::sendMsgToCigratte(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
@ -0,0 +1,233 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'workthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.2)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../../workthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'workthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.2. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_WorkThread_t {
|
||||
QByteArrayData data[14];
|
||||
char stringdata0[116];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_WorkThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_WorkThread_t qt_meta_stringdata_WorkThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 10), // "WorkThread"
|
||||
QT_MOC_LITERAL(1, 11, 6), // "notify"
|
||||
QT_MOC_LITERAL(2, 18, 0), // ""
|
||||
QT_MOC_LITERAL(3, 19, 3), // "Num"
|
||||
QT_MOC_LITERAL(4, 23, 3), // "Cnt"
|
||||
QT_MOC_LITERAL(5, 27, 7), // "cv::Mat"
|
||||
QT_MOC_LITERAL(6, 35, 16), // "display_timecost"
|
||||
QT_MOC_LITERAL(7, 52, 2), // "ms"
|
||||
QT_MOC_LITERAL(8, 55, 19), // "display_check_total"
|
||||
QT_MOC_LITERAL(9, 75, 2), // "no"
|
||||
QT_MOC_LITERAL(10, 78, 13), // "display_jd_no"
|
||||
QT_MOC_LITERAL(11, 92, 5), // "jd_no"
|
||||
QT_MOC_LITERAL(12, 98, 8), // "event_ok"
|
||||
QT_MOC_LITERAL(13, 107, 8) // "event_ng"
|
||||
|
||||
},
|
||||
"WorkThread\0notify\0\0Num\0Cnt\0cv::Mat\0"
|
||||
"display_timecost\0ms\0display_check_total\0"
|
||||
"no\0display_jd_no\0jd_no\0event_ok\0"
|
||||
"event_ng"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_WorkThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
6, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
6, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 3, 44, 2, 0x06 /* Public */,
|
||||
6, 2, 51, 2, 0x06 /* Public */,
|
||||
8, 2, 56, 2, 0x06 /* Public */,
|
||||
10, 2, 61, 2, 0x06 /* Public */,
|
||||
12, 1, 66, 2, 0x06 /* Public */,
|
||||
13, 1, 69, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 0x80000000 | 5, 3, 4, 2,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Int, 3, 7,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::Long, 3, 9,
|
||||
QMetaType::Void, QMetaType::Int, QMetaType::QString, 3, 11,
|
||||
QMetaType::Void, QMetaType::Int, 3,
|
||||
QMetaType::Void, QMetaType::Int, 3,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void WorkThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<WorkThread *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
switch (_id) {
|
||||
case 0: _t->notify((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< cv::Mat(*)>(_a[3]))); break;
|
||||
case 1: _t->display_timecost((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
|
||||
case 2: _t->display_check_total((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< long(*)>(_a[2]))); break;
|
||||
case 3: _t->display_jd_no((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
|
||||
case 4: _t->event_ok((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
case 5: _t->event_ng((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , int , cv::Mat );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::notify)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::display_timecost)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , long );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::display_check_total)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int , QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::display_jd_no)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::event_ok)) {
|
||||
*result = 4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (WorkThread::*)(int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&WorkThread::event_ng)) {
|
||||
*result = 5;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject WorkThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_WorkThread.data,
|
||||
qt_meta_data_WorkThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *WorkThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *WorkThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_WorkThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int WorkThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 6)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 6;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 6)
|
||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||
_id -= 6;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void WorkThread::notify(int _t1, int _t2, cv::Mat _t3)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void WorkThread::display_timecost(int _t1, int _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void WorkThread::display_check_total(int _t1, long _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void WorkThread::display_jd_no(int _t1, QString _t2)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 4
|
||||
void WorkThread::event_ok(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 4, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 5
|
||||
void WorkThread::event_ng(int _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 5, _a);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,83 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'alarmdialog.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.15.2
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_ALARMDIALOG_H
|
||||
#define UI_ALARMDIALOG_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QDialog>
|
||||
#include <QtWidgets/QHeaderView>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QTableWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_AlarmDialog
|
||||
{
|
||||
public:
|
||||
QTableWidget *tableWidget;
|
||||
QLabel *label;
|
||||
QPushButton *pushButton_close;
|
||||
QPushButton *pushButton_clear;
|
||||
|
||||
void setupUi(QDialog *AlarmDialog)
|
||||
{
|
||||
if (AlarmDialog->objectName().isEmpty())
|
||||
AlarmDialog->setObjectName(QString::fromUtf8("AlarmDialog"));
|
||||
AlarmDialog->resize(800, 600);
|
||||
AlarmDialog->setStyleSheet(QString::fromUtf8("background-color: rgb(240, 240, 240);"));
|
||||
tableWidget = new QTableWidget(AlarmDialog);
|
||||
tableWidget->setObjectName(QString::fromUtf8("tableWidget"));
|
||||
tableWidget->setGeometry(QRect(10, 60, 781, 531));
|
||||
label = new QLabel(AlarmDialog);
|
||||
label->setObjectName(QString::fromUtf8("label"));
|
||||
label->setGeometry(QRect(40, 10, 101, 41));
|
||||
QFont font;
|
||||
font.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
|
||||
font.setPointSize(14);
|
||||
font.setBold(true);
|
||||
font.setWeight(75);
|
||||
label->setFont(font);
|
||||
pushButton_close = new QPushButton(AlarmDialog);
|
||||
pushButton_close->setObjectName(QString::fromUtf8("pushButton_close"));
|
||||
pushButton_close->setGeometry(QRect(640, 10, 111, 41));
|
||||
QFont font1;
|
||||
font1.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
|
||||
font1.setPointSize(12);
|
||||
font1.setBold(true);
|
||||
font1.setWeight(75);
|
||||
pushButton_close->setFont(font1);
|
||||
pushButton_clear = new QPushButton(AlarmDialog);
|
||||
pushButton_clear->setObjectName(QString::fromUtf8("pushButton_clear"));
|
||||
pushButton_clear->setGeometry(QRect(500, 10, 111, 41));
|
||||
pushButton_clear->setFont(font1);
|
||||
|
||||
retranslateUi(AlarmDialog);
|
||||
|
||||
QMetaObject::connectSlotsByName(AlarmDialog);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QDialog *AlarmDialog)
|
||||
{
|
||||
AlarmDialog->setWindowTitle(QCoreApplication::translate("AlarmDialog", "\346\212\245\350\255\246\345\216\206\345\217\262", nullptr));
|
||||
label->setText(QCoreApplication::translate("AlarmDialog", "\346\212\245\350\255\246\345\216\206\345\217\262\357\274\232", nullptr));
|
||||
pushButton_close->setText(QCoreApplication::translate("AlarmDialog", "\345\205\263\351\227\255\347\252\227\345\217\243", nullptr));
|
||||
pushButton_clear->setText(QCoreApplication::translate("AlarmDialog", "\346\270\205\347\251\272\346\212\245\350\255\246", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class AlarmDialog: public Ui_AlarmDialog {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_ALARMDIALOG_H
|
@ -0,0 +1,303 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'camera_glue.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.15.2
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_CAMERA_GLUE_H
|
||||
#define UI_CAMERA_GLUE_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QDialog>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QSpinBox>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_camera_glue
|
||||
{
|
||||
public:
|
||||
QSpinBox *spinBox_21;
|
||||
QSpinBox *spinBox_31;
|
||||
QSpinBox *spinBox_41;
|
||||
QSpinBox *spinBox_32;
|
||||
QSpinBox *spinBox_22;
|
||||
QSpinBox *spinBox_42;
|
||||
QSpinBox *spinBox_33;
|
||||
QSpinBox *spinBox_23;
|
||||
QSpinBox *spinBox_43;
|
||||
QSpinBox *spinBox_12;
|
||||
QSpinBox *spinBox_11;
|
||||
QSpinBox *spinBox_13;
|
||||
QLabel *label_first;
|
||||
QLabel *label_second;
|
||||
QLabel *label_third;
|
||||
QLabel *label_1;
|
||||
QLabel *label_2;
|
||||
QLabel *label_3;
|
||||
QLabel *label_4;
|
||||
QLabel *label_hint;
|
||||
QPushButton *pushButton_take;
|
||||
QSpinBox *spinBox_53;
|
||||
QLabel *label_5;
|
||||
QSpinBox *spinBox_52;
|
||||
QSpinBox *spinBox_51;
|
||||
QSpinBox *spinBox_63;
|
||||
QLabel *label_6;
|
||||
QSpinBox *spinBox_62;
|
||||
QSpinBox *spinBox_61;
|
||||
QSpinBox *spinBox_73;
|
||||
QLabel *label_7;
|
||||
QSpinBox *spinBox_72;
|
||||
QSpinBox *spinBox_71;
|
||||
QSpinBox *spinBox_83;
|
||||
QLabel *label_8;
|
||||
QSpinBox *spinBox_82;
|
||||
QSpinBox *spinBox_81;
|
||||
|
||||
void setupUi(QDialog *camera_glue)
|
||||
{
|
||||
if (camera_glue->objectName().isEmpty())
|
||||
camera_glue->setObjectName(QString::fromUtf8("camera_glue"));
|
||||
camera_glue->resize(433, 262);
|
||||
spinBox_21 = new QSpinBox(camera_glue);
|
||||
spinBox_21->setObjectName(QString::fromUtf8("spinBox_21"));
|
||||
spinBox_21->setGeometry(QRect(220, 50, 70, 30));
|
||||
QFont font;
|
||||
font.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
|
||||
font.setPointSize(12);
|
||||
font.setBold(true);
|
||||
font.setWeight(75);
|
||||
spinBox_21->setFont(font);
|
||||
spinBox_21->setWrapping(true);
|
||||
spinBox_21->setMaximum(10);
|
||||
spinBox_31 = new QSpinBox(camera_glue);
|
||||
spinBox_31->setObjectName(QString::fromUtf8("spinBox_31"));
|
||||
spinBox_31->setGeometry(QRect(320, 50, 70, 30));
|
||||
spinBox_31->setFont(font);
|
||||
spinBox_31->setWrapping(true);
|
||||
spinBox_31->setMaximum(10);
|
||||
spinBox_41 = new QSpinBox(camera_glue);
|
||||
spinBox_41->setObjectName(QString::fromUtf8("spinBox_41"));
|
||||
spinBox_41->setGeometry(QRect(390, 1850, 70, 30));
|
||||
spinBox_41->setFont(font);
|
||||
spinBox_41->setWrapping(true);
|
||||
spinBox_41->setMaximum(10);
|
||||
spinBox_32 = new QSpinBox(camera_glue);
|
||||
spinBox_32->setObjectName(QString::fromUtf8("spinBox_32"));
|
||||
spinBox_32->setGeometry(QRect(320, 100, 70, 30));
|
||||
spinBox_32->setFont(font);
|
||||
spinBox_32->setWrapping(true);
|
||||
spinBox_32->setMaximum(10);
|
||||
spinBox_22 = new QSpinBox(camera_glue);
|
||||
spinBox_22->setObjectName(QString::fromUtf8("spinBox_22"));
|
||||
spinBox_22->setGeometry(QRect(220, 100, 70, 30));
|
||||
spinBox_22->setFont(font);
|
||||
spinBox_22->setWrapping(true);
|
||||
spinBox_22->setMaximum(10);
|
||||
spinBox_42 = new QSpinBox(camera_glue);
|
||||
spinBox_42->setObjectName(QString::fromUtf8("spinBox_42"));
|
||||
spinBox_42->setGeometry(QRect(390, 1900, 70, 30));
|
||||
spinBox_42->setFont(font);
|
||||
spinBox_42->setWrapping(true);
|
||||
spinBox_42->setMaximum(10);
|
||||
spinBox_33 = new QSpinBox(camera_glue);
|
||||
spinBox_33->setObjectName(QString::fromUtf8("spinBox_33"));
|
||||
spinBox_33->setGeometry(QRect(320, 150, 70, 30));
|
||||
spinBox_33->setFont(font);
|
||||
spinBox_33->setWrapping(true);
|
||||
spinBox_33->setMaximum(10);
|
||||
spinBox_23 = new QSpinBox(camera_glue);
|
||||
spinBox_23->setObjectName(QString::fromUtf8("spinBox_23"));
|
||||
spinBox_23->setGeometry(QRect(220, 150, 70, 30));
|
||||
spinBox_23->setFont(font);
|
||||
spinBox_23->setWrapping(true);
|
||||
spinBox_23->setMaximum(10);
|
||||
spinBox_43 = new QSpinBox(camera_glue);
|
||||
spinBox_43->setObjectName(QString::fromUtf8("spinBox_43"));
|
||||
spinBox_43->setGeometry(QRect(390, 1950, 70, 30));
|
||||
spinBox_43->setFont(font);
|
||||
spinBox_43->setWrapping(true);
|
||||
spinBox_43->setMaximum(10);
|
||||
spinBox_12 = new QSpinBox(camera_glue);
|
||||
spinBox_12->setObjectName(QString::fromUtf8("spinBox_12"));
|
||||
spinBox_12->setGeometry(QRect(120, 100, 70, 30));
|
||||
spinBox_12->setFont(font);
|
||||
spinBox_12->setWrapping(true);
|
||||
spinBox_12->setMaximum(10);
|
||||
spinBox_11 = new QSpinBox(camera_glue);
|
||||
spinBox_11->setObjectName(QString::fromUtf8("spinBox_11"));
|
||||
spinBox_11->setGeometry(QRect(120, 50, 70, 30));
|
||||
spinBox_11->setFont(font);
|
||||
spinBox_11->setWrapping(true);
|
||||
spinBox_11->setMaximum(10);
|
||||
spinBox_13 = new QSpinBox(camera_glue);
|
||||
spinBox_13->setObjectName(QString::fromUtf8("spinBox_13"));
|
||||
spinBox_13->setGeometry(QRect(120, 150, 70, 30));
|
||||
spinBox_13->setFont(font);
|
||||
spinBox_13->setWrapping(true);
|
||||
spinBox_13->setMaximum(10);
|
||||
label_first = new QLabel(camera_glue);
|
||||
label_first->setObjectName(QString::fromUtf8("label_first"));
|
||||
label_first->setGeometry(QRect(40, 53, 61, 21));
|
||||
label_first->setFont(font);
|
||||
label_second = new QLabel(camera_glue);
|
||||
label_second->setObjectName(QString::fromUtf8("label_second"));
|
||||
label_second->setGeometry(QRect(40, 105, 61, 21));
|
||||
label_second->setFont(font);
|
||||
label_third = new QLabel(camera_glue);
|
||||
label_third->setObjectName(QString::fromUtf8("label_third"));
|
||||
label_third->setGeometry(QRect(40, 155, 61, 21));
|
||||
label_third->setFont(font);
|
||||
label_1 = new QLabel(camera_glue);
|
||||
label_1->setObjectName(QString::fromUtf8("label_1"));
|
||||
label_1->setGeometry(QRect(120, 20, 70, 20));
|
||||
label_1->setFont(font);
|
||||
label_2 = new QLabel(camera_glue);
|
||||
label_2->setObjectName(QString::fromUtf8("label_2"));
|
||||
label_2->setGeometry(QRect(220, 20, 70, 20));
|
||||
label_2->setFont(font);
|
||||
label_3 = new QLabel(camera_glue);
|
||||
label_3->setObjectName(QString::fromUtf8("label_3"));
|
||||
label_3->setGeometry(QRect(320, 20, 70, 20));
|
||||
label_3->setFont(font);
|
||||
label_4 = new QLabel(camera_glue);
|
||||
label_4->setObjectName(QString::fromUtf8("label_4"));
|
||||
label_4->setGeometry(QRect(390, 1820, 70, 20));
|
||||
label_4->setFont(font);
|
||||
label_hint = new QLabel(camera_glue);
|
||||
label_hint->setObjectName(QString::fromUtf8("label_hint"));
|
||||
label_hint->setGeometry(QRect(140, 190, 285, 25));
|
||||
QFont font1;
|
||||
font1.setFamily(QString::fromUtf8("\345\276\256\350\275\257\351\233\205\351\273\221"));
|
||||
font1.setPointSize(10);
|
||||
label_hint->setFont(font1);
|
||||
pushButton_take = new QPushButton(camera_glue);
|
||||
pushButton_take->setObjectName(QString::fromUtf8("pushButton_take"));
|
||||
pushButton_take->setGeometry(QRect(140, 220, 141, 31));
|
||||
pushButton_take->setFont(font);
|
||||
spinBox_53 = new QSpinBox(camera_glue);
|
||||
spinBox_53->setObjectName(QString::fromUtf8("spinBox_53"));
|
||||
spinBox_53->setGeometry(QRect(490, 1950, 70, 30));
|
||||
spinBox_53->setFont(font);
|
||||
spinBox_53->setWrapping(true);
|
||||
spinBox_53->setMaximum(10);
|
||||
label_5 = new QLabel(camera_glue);
|
||||
label_5->setObjectName(QString::fromUtf8("label_5"));
|
||||
label_5->setGeometry(QRect(490, 1820, 70, 20));
|
||||
label_5->setFont(font);
|
||||
spinBox_52 = new QSpinBox(camera_glue);
|
||||
spinBox_52->setObjectName(QString::fromUtf8("spinBox_52"));
|
||||
spinBox_52->setGeometry(QRect(490, 1900, 70, 30));
|
||||
spinBox_52->setFont(font);
|
||||
spinBox_52->setWrapping(true);
|
||||
spinBox_52->setMaximum(10);
|
||||
spinBox_51 = new QSpinBox(camera_glue);
|
||||
spinBox_51->setObjectName(QString::fromUtf8("spinBox_51"));
|
||||
spinBox_51->setGeometry(QRect(490, 1850, 70, 30));
|
||||
spinBox_51->setFont(font);
|
||||
spinBox_51->setWrapping(true);
|
||||
spinBox_51->setMaximum(10);
|
||||
spinBox_63 = new QSpinBox(camera_glue);
|
||||
spinBox_63->setObjectName(QString::fromUtf8("spinBox_63"));
|
||||
spinBox_63->setGeometry(QRect(590, 1950, 70, 30));
|
||||
spinBox_63->setFont(font);
|
||||
spinBox_63->setWrapping(true);
|
||||
spinBox_63->setMaximum(10);
|
||||
label_6 = new QLabel(camera_glue);
|
||||
label_6->setObjectName(QString::fromUtf8("label_6"));
|
||||
label_6->setGeometry(QRect(590, 1820, 70, 20));
|
||||
label_6->setFont(font);
|
||||
spinBox_62 = new QSpinBox(camera_glue);
|
||||
spinBox_62->setObjectName(QString::fromUtf8("spinBox_62"));
|
||||
spinBox_62->setGeometry(QRect(590, 1900, 70, 30));
|
||||
spinBox_62->setFont(font);
|
||||
spinBox_62->setWrapping(true);
|
||||
spinBox_62->setMaximum(10);
|
||||
spinBox_61 = new QSpinBox(camera_glue);
|
||||
spinBox_61->setObjectName(QString::fromUtf8("spinBox_61"));
|
||||
spinBox_61->setGeometry(QRect(590, 1850, 70, 30));
|
||||
spinBox_61->setFont(font);
|
||||
spinBox_61->setWrapping(true);
|
||||
spinBox_61->setMaximum(10);
|
||||
spinBox_73 = new QSpinBox(camera_glue);
|
||||
spinBox_73->setObjectName(QString::fromUtf8("spinBox_73"));
|
||||
spinBox_73->setGeometry(QRect(690, 1950, 70, 30));
|
||||
spinBox_73->setFont(font);
|
||||
spinBox_73->setWrapping(true);
|
||||
spinBox_73->setMaximum(10);
|
||||
label_7 = new QLabel(camera_glue);
|
||||
label_7->setObjectName(QString::fromUtf8("label_7"));
|
||||
label_7->setGeometry(QRect(690, 1820, 70, 20));
|
||||
label_7->setFont(font);
|
||||
spinBox_72 = new QSpinBox(camera_glue);
|
||||
spinBox_72->setObjectName(QString::fromUtf8("spinBox_72"));
|
||||
spinBox_72->setGeometry(QRect(690, 1900, 70, 30));
|
||||
spinBox_72->setFont(font);
|
||||
spinBox_72->setWrapping(true);
|
||||
spinBox_72->setMaximum(10);
|
||||
spinBox_71 = new QSpinBox(camera_glue);
|
||||
spinBox_71->setObjectName(QString::fromUtf8("spinBox_71"));
|
||||
spinBox_71->setGeometry(QRect(690, 1850, 70, 30));
|
||||
spinBox_71->setFont(font);
|
||||
spinBox_71->setWrapping(true);
|
||||
spinBox_71->setMaximum(10);
|
||||
spinBox_83 = new QSpinBox(camera_glue);
|
||||
spinBox_83->setObjectName(QString::fromUtf8("spinBox_83"));
|
||||
spinBox_83->setGeometry(QRect(790, 1950, 70, 30));
|
||||
spinBox_83->setFont(font);
|
||||
spinBox_83->setWrapping(true);
|
||||
spinBox_83->setMaximum(10);
|
||||
label_8 = new QLabel(camera_glue);
|
||||
label_8->setObjectName(QString::fromUtf8("label_8"));
|
||||
label_8->setGeometry(QRect(790, 1820, 70, 20));
|
||||
label_8->setFont(font);
|
||||
spinBox_82 = new QSpinBox(camera_glue);
|
||||
spinBox_82->setObjectName(QString::fromUtf8("spinBox_82"));
|
||||
spinBox_82->setGeometry(QRect(790, 1900, 70, 30));
|
||||
spinBox_82->setFont(font);
|
||||
spinBox_82->setWrapping(true);
|
||||
spinBox_82->setMaximum(10);
|
||||
spinBox_81 = new QSpinBox(camera_glue);
|
||||
spinBox_81->setObjectName(QString::fromUtf8("spinBox_81"));
|
||||
spinBox_81->setGeometry(QRect(790, 1850, 70, 30));
|
||||
spinBox_81->setFont(font);
|
||||
spinBox_81->setWrapping(true);
|
||||
spinBox_81->setMaximum(10);
|
||||
|
||||
retranslateUi(camera_glue);
|
||||
|
||||
QMetaObject::connectSlotsByName(camera_glue);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QDialog *camera_glue)
|
||||
{
|
||||
camera_glue->setWindowTitle(QCoreApplication::translate("camera_glue", "\351\205\215\346\226\271\350\256\276\347\275\256", nullptr));
|
||||
label_first->setText(QCoreApplication::translate("camera_glue", "\347\254\254\344\270\200\345\274\240", nullptr));
|
||||
label_second->setText(QCoreApplication::translate("camera_glue", "\347\254\254\344\272\214\345\274\240", nullptr));
|
||||
label_third->setText(QCoreApplication::translate("camera_glue", "\347\254\254\344\270\211\345\274\240", nullptr));
|
||||
label_1->setText(QCoreApplication::translate("camera_glue", "1\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
label_2->setText(QCoreApplication::translate("camera_glue", "2\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
label_3->setText(QCoreApplication::translate("camera_glue", "3\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
label_4->setText(QCoreApplication::translate("camera_glue", "4\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
label_hint->setText(QCoreApplication::translate("camera_glue", "\350\213\245\350\246\201\344\277\235\345\255\230\345\217\202\346\225\260\350\257\267\350\277\224\345\233\236\344\270\212\344\270\200\347\272\247\347\202\271\345\207\273\344\277\235\345\255\230", nullptr));
|
||||
pushButton_take->setText(QCoreApplication::translate("camera_glue", "\345\272\224\347\224\250", nullptr));
|
||||
label_5->setText(QCoreApplication::translate("camera_glue", "5\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
label_6->setText(QCoreApplication::translate("camera_glue", "6\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
label_7->setText(QCoreApplication::translate("camera_glue", "7\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
label_8->setText(QCoreApplication::translate("camera_glue", "8\345\217\267\347\233\270\346\234\272", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class camera_glue: public Ui_camera_glue {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_CAMERA_GLUE_H
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue