mirror of http://192.168.1.51:8099/lmh188/twain3
67 lines
1.8 KiB
C++
67 lines
1.8 KiB
C++
#pragma once
|
|
#include <memory>
|
|
#include <functional>
|
|
#include "common.h"
|
|
#include "Global.h"
|
|
#include "twglue.hpp"
|
|
|
|
class QApplication;
|
|
class QWidget;
|
|
class ScanSettingDialog;
|
|
|
|
|
|
class IScannerUI
|
|
{
|
|
public:
|
|
virtual ~IScannerUI() {}
|
|
virtual void showTwainUI(void* handle, bool uiOnly,Func f,std::string model,bool modelui) = 0;
|
|
virtual void closeTwainUI() = 0;
|
|
virtual void postMessage() = 0;
|
|
virtual void setHandle(TwGlue twglue) = 0;
|
|
virtual void showindicator() = 0;
|
|
virtual void hideindicator() = 0;
|
|
virtual void getjsonstring(std::string& str) = 0;
|
|
virtual void is_showindicator(bool enabel)=0;
|
|
virtual void Message(std::string title, std::string msg, int type) = 0;
|
|
};
|
|
|
|
|
|
typedef std::shared_ptr<IScannerUI> ScannerUIPtr;
|
|
|
|
class GUICreate
|
|
{
|
|
public:
|
|
static ScannerUIPtr Instance();
|
|
};
|
|
|
|
class ScannerUI : public IScannerUI
|
|
{
|
|
public:
|
|
ScannerUI();
|
|
~ScannerUI();
|
|
virtual void showTwainUI(void* handle, bool uiOnly, Func f,std::string model,bool modelui);
|
|
virtual void closeTwainUI();
|
|
virtual void postMessage();
|
|
virtual void hideindicator();
|
|
virtual void showindicator();
|
|
virtual void getjsonstring(std::string& str);
|
|
virtual void is_showindicator(bool enabel);
|
|
virtual void setHandle(TwGlue twglue);
|
|
virtual void Message(std::string title, std::string msg, int type);
|
|
|
|
private:
|
|
static int argc;// = 0;
|
|
static char** argv;// = nullptr;
|
|
static std::unique_ptr<QApplication> application;
|
|
static std::unique_ptr<ScanSettingDialog> scanDialog;
|
|
json defaultjson;
|
|
#ifdef WIN32
|
|
static std::unique_ptr<QWidget> guiBridge;
|
|
HWND parent;
|
|
bool modalfalg;
|
|
#endif
|
|
static std::unique_ptr<QWidget> guiIndicator;
|
|
static TwGlue twglue;
|
|
Func func{ nullptr,nullptr,nullptr,nullptr,nullptr,nullptr };
|
|
};
|