code_app/modules/twainui/Manager.h

108 lines
2.9 KiB
C
Raw Normal View History

2023-05-10 12:30:07 +00:00
#pragma once
#include <QTranslator>
#include "base/HGEvent.h"
#include "dialog_device_select.h"
#include "hg_settingdialog.h"
#include "dialog_progress_ui.h"
#include "dialog_twain_source_select.h"
2023-05-10 12:30:07 +00:00
class Manager : public QObject
{
Q_OBJECT
public:
Manager();
~Manager();
2023-05-24 06:40:06 +00:00
int showDeviceSelect(bool qt, const std::vector<DEVQUEUI>& devs);
int showSettingUi(bool qt, SANE_Handle device, HWND settingUiParent, LPSANEAPI api, const char *devName, bool with_scan, std::function<void(ui_result)> callback);
int showProgressUi(bool qt, HWND parent, std::function<void (ui_result)> callback, std::function<void (int, void *, int)> *notify);
int showMessageBoxUi(bool qt, HWND parent, int event, void *msg, int flag);
2023-05-31 01:05:33 +00:00
int showTwainSrcUi(bool qt, const TW_IDENTITY *vds, HGUInt count, const char* defDevName, HGWindow parent, TW_IDENTITY *ds);
2023-05-24 06:40:06 +00:00
2023-05-23 09:40:43 +00:00
void closeDeviceSelectUi();
void closeSettingUi();
void closeProgressUi();
void closeMessageBoxUi();
void closeTwainSrcUi();
2023-05-24 06:40:06 +00:00
void closeManager();
2023-05-23 09:40:43 +00:00
2023-05-24 06:40:06 +00:00
void clear_functions(void);
2023-05-10 12:30:07 +00:00
signals:
void init();
2023-05-19 10:41:49 +00:00
void createDeviceSelect(bool qt);
void createSettingUi(bool qt);
void createProgressUi(bool qt);
void createMessageBoxUi(bool qt);
void createTwainSrcUi(bool qt);
2023-05-10 12:30:07 +00:00
2023-05-24 06:40:06 +00:00
void deleteSettingUi();
void deleteProgressUi();
void deleteMessageBoxUi();
void deleteManager();
2023-05-10 12:30:07 +00:00
private slots:
void on_init();
2023-05-19 10:41:49 +00:00
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);
2023-05-10 12:30:07 +00:00
2023-05-24 06:40:06 +00:00
void on_deleteSettingUi();
void on_deleteProgressUi();
void on_deleteMessageBoxUi();
void on_deleteManager();
public:
2023-05-10 12:30:07 +00:00
QTranslator m_translator;
QTranslator m_translator_qt;
int m_langCode;
HGEvent m_event;
std::vector<DEVQUEUI> m_DeviceSelectDevs;
#ifdef HG_CMP_MSC
2023-05-10 12:30:07 +00:00
unsigned long m_DeviceSelectThreadId;
#endif
2023-05-10 12:30:07 +00:00
int m_DeviceSelectResult;
2023-05-23 09:40:43 +00:00
hg_settingdialog *m_settingUi;
#ifdef HG_CMP_MSC
2023-05-10 12:30:07 +00:00
unsigned long m_SettingUiThreadId;
#endif
2023-05-10 12:30:07 +00:00
SANE_Handle m_device;
HGWindow m_settingUiParent;
2023-05-10 12:30:07 +00:00
SANEAPI m_api;
std::string m_devName;
bool m_with_scan;
std::function<void(ui_result)> m_settingUiCallback;
2023-05-23 09:40:43 +00:00
Dialog_progress_ui *m_progressUi;
HGWindow m_progressUiparent;
#ifdef HG_CMP_MSC
2023-05-10 12:30:07 +00:00
unsigned long m_ProgressUiThreadId;
#endif
2023-05-10 12:30:07 +00:00
std::function<void (ui_result)> m_progressUiCallback;
std::function<void (int, void *, int)> *m_notify;
2023-05-23 09:40:43 +00:00
QMessageBox *m_msgBoxUi;
#ifdef HG_CMP_MSC
2023-05-10 12:30:07 +00:00
unsigned long m_MessageBoxUiThreadId;
#endif
HGWindow m_messageBoxUiParent;
2023-05-10 12:30:07 +00:00
int m_notifyEvent;
std::string m_message;
int m_flag;
#ifdef HG_CMP_MSC
2023-05-12 10:26:23 +00:00
unsigned long m_twainSrcUiThreadId;
#endif
2023-05-30 11:11:24 +00:00
std::vector<TW_IDENTITY> m_vds;
std::string m_defDsName;
HGWindow m_TwainSrcUiparent;
TW_IDENTITY m_ds;
2023-05-10 12:30:07 +00:00
};