ToolDialog.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #pragma once
  2. #include "ui_CToolDialog.h"
  3. #include "../../Common/DllToolCommon.h"
  4. #include "../../ShowUnit/HWndUnit.h"
  5. #include <QTimer>
  6. #include <QBuffer>
  7. #include <QElapsedTimer>
  8. #include <QThreadPool>
  9. class ToolDialogImpl : public DllToolDialog
  10. {
  11. Q_OBJECT
  12. public:
  13. ToolDialogImpl(QWidget *parent, DllTool* pDllTool);
  14. ~ToolDialogImpl();
  15. Ui::CToolDialog ui;
  16. public:
  17. virtual VPEnum::RETURN_VALUE Execute();
  18. virtual void Running(bool bRun);
  19. virtual bool Serialized(QDataStream& ar, bool bIsOut);
  20. protected:
  21. public:
  22. HImage m_Image;
  23. signals:
  24. void sigUpdateUI();
  25. private slots:
  26. void on_UpdateUI();
  27. void on_btnOK_clicked();
  28. void on_btnCancel_clicked();
  29. void on_btnExecute_clicked();
  30. void on_btnChagePath_clicked();
  31. private:
  32. HWndUnit* hwndUnit;
  33. // //用来在显示控件内部存图的路径
  34. QString m_strFilePath;
  35. //根据此执行状态,确定写入的图片存到 ok 还是 ng文件夹
  36. int m_nExecuteState;
  37. bool m_bEnableSave;
  38. private:
  39. QThreadPool m_SaveThreadPool;
  40. public:
  41. QVector<SAVE_IMG> m_SaveImages;
  42. int m_nThreadState;
  43. int m_nImageIndex;
  44. QString m_strTempPath;
  45. };
  46. // Save的执行线程体
  47. class _SaveThread : public QObject, public QRunnable
  48. {
  49. Q_OBJECT
  50. public:
  51. _SaveThread(ToolDialogImpl* pDlg)
  52. {
  53. this->m_pDlg = pDlg;
  54. };
  55. ~_SaveThread() {};
  56. protected:
  57. // 线程函数
  58. virtual void run();
  59. private:
  60. ToolDialogImpl* m_pDlg;
  61. };