#pragma once #include "WindowAppBlockStandardBase.h" /// /// Wait功能块的封装 /// class WindowAppBlockWait : public WindowAppBlockStandardBase { Q_OBJECT Q_INTERFACES(QGraphicsItem) public: WindowAppBlockWait(TOOL* pNewTool, POU* Pou, bool bShowOnly = false, QGraphicsObject* parent = nullptr); ~WindowAppBlockWait(); // 设定本Item的自定义类型 enum { Type = ITEM_TYPE_WAIT }; int type() const { // 针对该 item 启用 qgraphicsitem_cast return Type; } // 添加接口(Wait工具只需要添加两个ToolInerface) virtual void addItemInterfaces(); // 用户选择的单步执行是否跳过等待 bool m_bSkipWait; // 用户选择的等待事件变量 VARIABLE* m_selVariable; // 2022-9-22,Wait工具的等待超时时长 int m_nTimeout; // 2022-9-22,用户设置的等待变量的值信息 VALUE m_WaitValue; protected: // 更新矩形区域的尺寸 virtual void updateRect(); // 根据Wait工具当前的事件绑定信息,初始化变量 void initVariable(); protected slots: // 双击弹出配置对话框 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event); };