#pragma once #include #include "base/HGEvent.h" #include "dialog_device_select.h" #include "hg_settingdialog.h" #include "dialog_progress_ui.h" #include "dialog_twain_source_select.h" #include "dialog_source_select.h" #include "dialog_abnormal_img_select.h" class Manager : public QObject { Q_OBJECT public: Manager(); ~Manager(); int showDeviceSelect(bool qt, const std::vector& devs); int showSettingUi(bool qt, SANE_Handle device, HWND settingUiParent, LPSANEAPI api, const char * devName, gb::scanner_cfg* cfg, bool with_scan, std::function callback); int showProgressUi(bool qt, HWND parent, std::function callback, std::function *notify); int showMessageBoxUi(bool qt, HWND parent, int event, void *msg, int flag); int showTwainSrcUi(bool qt, const TW_IDENTITY *vds, HGUInt count, const char* defDevName, HGWindow parent, TW_IDENTITY *ds); int showSaneSrcUi(bool qt, const char **manuNames, const char **sanePaths, HGWindow parent, HGDll *dll, SANEAPI* saneApi, char *manuName, unsigned int maxLen); int showAbnormalImgUi(bool qt, SANE_Image *img); void closeSettingUi(); void closeProgressUi(); void closeMessageBoxUi(); void clear_functions(void); signals: void init(); void createDeviceSelect(bool qt); void createSettingUi(bool qt); void createProgressUi(bool qt); void createMessageBoxUi(bool qt); void createTwainSrcUi(bool qt); void createSaneSrcUi(bool qt); void createAbnormalImgUi(bool qt, HGImage image); void deleteSettingUi(); void deleteProgressUi(); void deleteMessageBoxUi(); void deleteManager(); private slots: void on_init(); void on_createDeviceSelect(bool qt); void on_createSettingUi(bool qt); void on_createProgressUi(bool qt); void on_createMessageBoxUi(bool qt); void on_createTwainSrcUi(bool qt); void on_createSaneSrcUi(bool qt); void on_createAbnormalImgUi(bool qt, HGImage image); void on_deleteSettingUi(); void on_deleteProgressUi(); void on_deleteMessageBoxUi(); public: QTranslator m_translator; QTranslator m_translator_qt; int m_langCode; HGEvent m_event; std::vector m_DeviceSelectDevs; #ifdef HG_CMP_MSC unsigned long m_DeviceSelectThreadId; #endif int m_DeviceSelectResult; hg_settingdialog *m_settingUi; #ifdef HG_CMP_MSC unsigned long m_SettingUiThreadId; #endif SANE_Handle m_device; HGWindow m_settingUiParent; SANEAPI m_api; std::string m_devName; bool m_with_scan; gb::scanner_cfg* scanner_cfg_; std::function m_settingUiCallback; Dialog_progress_ui *m_progressUi; HGWindow m_progressUiparent; #ifdef HG_CMP_MSC unsigned long m_ProgressUiThreadId; #endif std::function m_progressUiCallback; std::function *m_notify; QMessageBox *m_msgBoxUi; #ifdef HG_CMP_MSC unsigned long m_MessageBoxUiThreadId; #endif HGWindow m_messageBoxUiParent; int m_notifyEvent; std::string m_message; int m_flag; #ifdef HG_CMP_MSC unsigned long m_twainSrcUiThreadId; #endif std::vector m_vds; std::string m_defDsName; HGWindow m_TwainSrcUiparent; TW_IDENTITY m_ds; #ifdef HG_CMP_MSC unsigned long m_saneSrcUiThreadId; #endif std::vector > m_saneSource; HGWindow m_SaneSrcUiparent; HGDll m_saneDll; SANEAPI m_saneApi; std::string m_saneManuName; #ifdef HG_CMP_MSC unsigned long m_abnormalImgThreadId; #endif int m_abnormalImgResult; };