code_production/app/HGProductionTool/form_maininterface.h

128 lines
3.0 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, Dialog_logIn::LogInType logInType, SANE_Handle handle, HGPdtToolDbUserMgr pdtToolDbuserMgr, HGPdtToolDbDevice pdtToolDbDevice,
const QString &serialNum, const QString &devType, const QString &devName, const QString &devFwNum);
~Form_mainInterface();
bool isTesting();
QString getSn();
QString getDevName();
SANE_Handle getDevHandle();
hgscanner *getScanner();
void setDevDisconnect();
protected:
void paintEvent(QPaintEvent *event) override;
signals:
void testResult(QString text);
void testResultImg(void* img);
void testDistortion(float value);
void testCorrectInfo(QString info);
private slots:
void on_testResult(QString text);
void on_testResultImg(void* img);
void on_testDistortion(float value);
void on_testCorrectInfo(QString info);
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(SANE_Int speedMode);
QString getSleepTime(int sleepTime);
void getVidPid();
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;
Dialog_logIn::LogInType m_logInType;
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_curItemName;
bool m_isTesting;
int m_multiIndex;
int m_curNameIndex;
QStringList m_list_images;
QMap<QString, AnalysisJson::json_node> m_map_title_name;
};
#endif // FORM_MAININTERFACE_H