1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #pragma once
- #include "WindowAppBlockStandardBase.h"
- /// <summary>
- /// 标准类型的工具功能块图 (Standard Block Diagram)
- /// </summary>
- class WindowAppBlockStandard : public WindowAppBlockStandardBase
- {
- Q_OBJECT
- // 添加这一行,否则会出现警告:Warning: qobject_cast to QGraphicsItem will not work!
- Q_INTERFACES(QGraphicsItem)
- public:
- // bShowOnly 是否仅供展示使用,展示使用的话不提供右键菜单以及其他互动功能
- WindowAppBlockStandard(TOOL* pTool, POU* Pou, bool bShowOnly = false, QGraphicsObject* parent = nullptr);
- // 设定本Item的自定义类型
- enum { Type = ITEM_TYPE_STANDARD };
- int type() const
- {
- // 针对该 item 启用 qgraphicsitem_cast
- return Type;
- }
- public:
- // 添加接口(Standard工具需要额外添加ToolStart接口)
- virtual void addItemInterfaces();
- //// 添加ToolStart接口
- //void addItemTopInterface();
- //
- // 2022-3-10 根据Dll中的信息动态添加接口
- bool addDynamicInterfacesFromDll(const QList<DLL_INF>& infList, QString& strReason);
- // 2022-3-11 根据Dll中的信息动态删除接口
- bool deleteDynamicInterfacesFromDll(const QList<DLL_INF>& infList, QString& strReason);
- //
- // // 更新Block的相关位置和尺寸
- // void updatePosition();
- //
- protected:
- // 双击弹出工具dll中的对话框
- void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event);
- };
|