#ifndef FORM_MAININTERFACE_H #define FORM_MAININTERFACE_H #include #include #include #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 m_map_title_name; }; #endif // FORM_MAININTERFACE_H