#pragma once #include "ui_CToolDialog.h" #include "../../Common/DllToolCommon.h" #include "../../ShowUnit/HWndUnit.h" #include #include "Com.h" #include "HalconCpp.h" #include "HDevEngineCpp.h" #include ".\XML\pugixml.hpp" using namespace HDevEngineCpp; class QsciScintilla; class ToolDialogImpl : public DllToolDialog { Q_OBJECT public: ToolDialogImpl(QWidget *parent ,DllTool* pDllTool); ~ToolDialogImpl(); private: Ui::CToolDialog ui; public: virtual VPEnum::RETURN_VALUE Execute(); virtual void Running(bool bRun); virtual void timerEvent(QTimerEvent* event); virtual bool Serialized(QDataStream& ar, bool bIsOut); bool bindValuePtrByName(const QString strName, const int nIndex); signals: void sigUpdateUI(); private slots: void on_UpdateUI(); void on_btnOK_clicked(); void on_btnCancel_clicked(); void on_btnExecute_clicked(); void documentWasModified(); void on_btnLoad_clicked(); void on_btnExport_clicked(); void on_btnCompile_clicked(); void on_checkBoxEnableDebug_stateChanged(int arg1); private: // 窗口管理变量 HWndUnit* hwndUnit; // 在此处添加需要导出的变量 public: HImage m_Image; // 在此处添加内部需要使用的变量 private: bool ParseToolXML(QString strPath); bool SaveXML(QString strPath); void UpdateScriptByEdit(QString FunctionName, bool isLoad); bool Compile(QString strPath); bool addNewValueToInf(); bool resetValueToInf(); // 2022-3-8 向exe中的同步最新的接口变动(一个或多个) void syncInterfacesToPou(QList pInfs, bool bAdd = true); QString m_strFunctionName; // 函数名称 QString m_strProcName; // 加载的脚本名称,工具会根据该名称,生产本地临时脚本 QString m_strScriptBaseName; H_SCRIPT m_HalconScript; HDevProgram my_program; HDevProcedure proc_fib; QsciScintilla* scriptEdit; DllTool* m_pDllTool; // 指向DllTool的指针,用于调用其中函数 ////////////////////////////////////////////////////////////////////////// };