#pragma once #include "ui_toolinterface.h" #include #include "HalconCpp.h" using namespace HalconCpp; // namespace Ui { // Q_OBJECT // class ToolInterface; class ToolDialogImpl; class ToolInterface : public QDialog { Q_OBJECT public: explicit ToolInterface(QWidget *parent = 0, ToolDialogImpl* p = nullptr); virtual ~ToolInterface(); virtual bool Serialized(QDataStream& ar, bool bIsOut); virtual bool setValue(HObject); virtual HObject GetResult(); virtual QString ShowParameter(); virtual int Execute(); signals: void updateParameter(QString); void updateParameterIndex(QString); private: Ui::ToolInterface ui; public: HObject m_InImage; HObject m_OutImage; ToolDialogImpl* m_pToolDialogImpl; }; typedef struct LinkCtrl { int ToolID; int nUi; bool isrun; QString ToolName; ToolInterface* p_dlg; LinkCtrl() { isrun = true; ToolID = -1; nUi = -1; ToolName.isEmpty(); p_dlg = nullptr; } }LINKCTRL;