WindowAppBlockWait.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #pragma once
  2. #include "WindowAppBlockStandardBase.h"
  3. /// <summary>
  4. /// Wait功能块的封装
  5. /// </summary>
  6. class WindowAppBlockWait : public WindowAppBlockStandardBase
  7. {
  8. Q_OBJECT
  9. Q_INTERFACES(QGraphicsItem)
  10. public:
  11. WindowAppBlockWait(TOOL* pNewTool, POU* Pou, bool bShowOnly = false, QGraphicsObject* parent = nullptr);
  12. ~WindowAppBlockWait();
  13. // 设定本Item的自定义类型
  14. enum { Type = ITEM_TYPE_WAIT };
  15. int type() const
  16. {
  17. // 针对该 item 启用 qgraphicsitem_cast
  18. return Type;
  19. }
  20. // 添加接口(Wait工具只需要添加两个ToolInerface)
  21. virtual void addItemInterfaces();
  22. // 用户选择的单步执行是否跳过等待
  23. bool m_bSkipWait;
  24. // 用户选择的等待事件变量
  25. VARIABLE* m_selVariable;
  26. // 2022-9-22,Wait工具的等待超时时长
  27. int m_nTimeout;
  28. // 2022-9-22,用户设置的等待变量的值信息
  29. VALUE m_WaitValue;
  30. protected:
  31. // 更新矩形区域的尺寸
  32. virtual void updateRect();
  33. // 根据Wait工具当前的事件绑定信息,初始化变量
  34. void initVariable();
  35. protected slots:
  36. // 双击弹出配置对话框
  37. void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event);
  38. };