ToolDialog.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #pragma once
  2. #include "ui_CToolDialog.h"
  3. #include "../../Common/DllToolCommon.h"
  4. #include "../../ShowUnit/HWndUnit.h"
  5. #include <QBuffer>
  6. #include <QScriptEngine>
  7. #include <QScriptEngineDebugger>
  8. class QsciScintilla;
  9. class ToolDialogImpl : public DllToolDialog
  10. {
  11. Q_OBJECT
  12. public:
  13. ToolDialogImpl(QWidget *parent ,DllTool* pDllTool);
  14. ~ToolDialogImpl();
  15. private:
  16. Ui::CToolDialog ui;
  17. public:
  18. virtual VPEnum::RETURN_VALUE Execute();
  19. virtual void Running(bool bRun);
  20. virtual bool Serialized(QDataStream& ar, bool bIsOut);
  21. static QScriptValue Sleep(QScriptContext* context, QScriptEngine* engine, void* pargs);
  22. static QScriptValue SetRealValue(QScriptContext* context, QScriptEngine* engine, void* pargs);
  23. static QScriptValue GetRealValue(QScriptContext* context, QScriptEngine* engine, void* pargs);
  24. // 2022-3-8 向exe中的同步最新的接口变动(一个或多个)
  25. void syncInterfacesToPou(QList<DLL_INF> pInfs, bool bAdd = true);
  26. bool bindValuePtrByName(const QString strName, const int nIndex);
  27. signals:
  28. void sigUpdateUI();
  29. private slots:
  30. void on_UpdateUI();
  31. void on_btnOK_clicked();
  32. void on_btnCancel_clicked();
  33. void on_btnExecute_clicked();
  34. void on_btnImport_clicked();
  35. void on_btnExport_clicked();
  36. void on_btnCheck_clicked();
  37. void on_btnEdit_clicked();
  38. void documentWasModified();
  39. void on_cbEnDebug_stateChanged(int arg1);
  40. void on_btnAddInterface_clicked();
  41. void on_btnDelInterface_clicked();
  42. private:
  43. void initScriptEdit();
  44. void initEngine();
  45. void initDebugger();
  46. // 在此处添加需要导出的变量
  47. public:
  48. float m_fValue1;
  49. float m_fValue2;
  50. float m_fValue3;
  51. float m_fValue4;
  52. float m_fValue5;
  53. // 在此处添加内部需要使用的变量
  54. private:
  55. QString m_strCodes;
  56. QsciScintilla* scriptEdit;
  57. DllTool* m_pDllTool; // 指向DllTool的指针,用于调用其中函数
  58. QScriptEngine* m_pEngine = nullptr;
  59. QScriptEngineDebugger* m_pDebugger = nullptr;
  60. QMap<QString, float*> m_ValueMap;
  61. };