#pragma once #include #include "ToolDialog.h" #ifndef BUILD_STATIC # if defined(CST_VISIONPLUS_TOOL_LIB) # define CST_VISIONPLUS_TOOL_EXPORT Q_DECL_EXPORT # else # define CST_VISIONPLUS_TOOL_EXPORT Q_DECL_IMPORT # endif #else # define CST_VISIONPLUS_TOOL_EXPORT #endif class ToolImpl : public DllTool { public: ToolImpl(); virtual ~ToolImpl(); public: // 不带参数初始化 virtual int InitTool(); // 初始化 virtual int InitTool(QWidget* pParent, QString strPouName, QString strInstanceName, QObject* pEventTarget = nullptr); virtual const DLL_TOOL_DESC& Description(); /// /// 序列化至文件 /// virtual bool SerializedToDoc(QDataStream& out); /// /// 从文件反序列化 /// virtual bool SerializedFromDoc(QDataStream& in); //// 动态增加接口 //virtual void AddInterface(const DLL_INF& dll_inf); //// 绑定变量。用于动态添加端口的变量绑定 virtual bool bindValuePtrByName(const QString strName, const int nIndex); protected: virtual void InitDefaultInterfaces(bool withValue = false); };