code_production/app/HGProductionTool/form_maininterface.h

156 lines
4.4 KiB
C++

#ifndef FORM_MAININTERFACE_H
#define FORM_MAININTERFACE_H
#include <QWidget>
#include <QMap>
#include <QTableWidgetItem>
#include "HGImgView.h"
#include "form_texttips.h"
#include "analysisjson.h"
#include "sane/sane_ex.h"
//#include "HGPdtToolDb.h"
#include "hgscanner.h"
#include "dialog_login.h"
namespace Ui {
class Form_mainInterface;
}
class Form_mainInterface : public QWidget
{
Q_OBJECT
public:
explicit Form_mainInterface(class MainWindow *mainwnd, const QString &deviceConfig, const QString &accountName, SANE_Handle handle,
const QString &serialNum, const QString &devType, const QString &devName, const QString &devFwNum,
const QString &logInTypeStr);
~Form_mainInterface();
bool isTesting();
QString getSn();
QString getDevName();
SANE_Handle getDevHandle();
hgscanner *getScanner();
void setDevDisconnect();
void checkDynamicCorrectItem(bool pass, int correctType); //1:200dpi-color; 2:200dpi-gray;3:300dpi-color; 4:300dpi-gray;5:600dpi-color; 6:600dpi-gray;
void resetCorrectItems();
void updateDistortionItem(bool pass);
protected:
void paintEvent(QPaintEvent *event) override;
signals:
void testResult(QString text);
void testResultImg(void* img);
void testDistortion(float width, float height, float distortion, bool verify);
void testCorrectInfo(QString info);
void testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw, QString devModel);
void testGetDevCpuDisk(int cpu, int disk);
void testOpenCacheFile(QString name);
void testGetDevdistortion(float dis_200dpi, float dis_300dpi, float dis_600dpi);
private slots:
void on_testResult(QString text);
void on_testResultImg(void* img);
void on_testDistortion(float width, float height, float distortion, bool verify);
void on_testCorrectInfo(QString info);
void on_testGetDevCfgInfo(int vid, int pid, int sleepTime, int speedMode, QString devSn, QString devFw, QString devModel);
void on_testGetDevCpuDisk(int cpu, int disk);
void on_testOpenCacheFile(QString name);
void on_testGetDevdistortion(float dis_200dpi, float dis_300dpi, float dis_600dpi);
void on_viewerDblClick();
private slots:
void on_pbtn_preStep_clicked();
void on_pbtn_nextStep_clicked();
void on_pbtn_fail_clicked();
void on_pbtn_pass_clicked();
void on_pbtn_stop_clicked();
void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous);
void on_pbtn_start_clicked();
void on_pbtn_showImg_clicked();
void on_pbtn_leftRotate_clicked();
void on_pbtn_rightRotate_clicked();
void on_pbtn_prePage_clicked();
void on_pbtn_nextPage_clicked();
private:
void initTableWidgetUi();
QString getItemStatusStr(HGUInt status);
QString getCachePath();
QString getCacheFileName();
QString getCurItemName();
void updateUiEnabled(bool enable);
void updateImgPixelInfo();
QString getSpeedMode();
QString getSleepTime();
QString getDevVid();
QString getDevPid();
QString getDevSn();
QString getDevMotorVersion();
int getRollerNum();
int getHistoryCount();
void getLogInfo(int ret);
QString getLogPath();
void writeTestLog(QString logContent);
int str_to_wchar(std::string str, wchar_t* s, size_t* strlen);
private:
union VIDPID
{
struct
{
unsigned short VID;
unsigned short PID;
};
unsigned int Value;
};
private:
Ui::Form_mainInterface *ui;
AnalysisJson *m_analysisJson;
Form_textTips *m_textTips;
HGImgView *m_view;
class MainWindow *m_mainwnd;
QString m_accountName;
QString m_deviceConfig;
hgscanner *m_hg;
SANE_Handle m_handle;
bool m_disconnect;
//HGPdtToolDbUserMgr m_pdtToolDbuserMgr;
//HGPdtToolDbDevice m_pdtToolDbDevice;
QString m_serialNum;
QString m_devType;
QString m_devName;
QString m_devFwNum;
QString m_logInTypeStr;
QString m_curItemName;
bool m_isTesting;
bool m_isCorrectNormal;
int m_multiIndex;
int m_curNameIndex;
int m_curDpi;
double m_distortion_200dpi;
double m_distortion_300dpi;
double m_distortion_600dpi;
QStringList m_list_images;
QMap<QString, AnalysisJson::json_node> m_map_title_name;
};
#endif // FORM_MAININTERFACE_H