DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DACommandsForWorkFlowRemoveNodeItem类 参考

节点删除命令 更多...

#include <DACommandsForWorkFlowNodeGraphics.h>

类 DA::DACommandsForWorkFlowRemoveNodeItem 继承关系图:

Public 成员函数

 DACommandsForWorkFlowRemoveNodeItem (DANodeGraphicsScene *scene, DAAbstractNodeGraphicsItem *item, QUndoCommand *parent=nullptr)
 
void redo ()
 
void undo ()
 
QList< DAAbstractNodeLinkGraphicsItem * > getRemovedNodeLinkItems () const
 

详细描述

节点删除命令

此命令只适合单独删除

注解
此命令不会合并

构造及析构函数说明

◆ DACommandsForWorkFlowRemoveNodeItem()

DA::DACommandsForWorkFlowRemoveNodeItem::DACommandsForWorkFlowRemoveNodeItem ( DANodeGraphicsScene scene,
DAAbstractNodeGraphicsItem item,
QUndoCommand *  parent = nullptr 
)

针对在命令的构造函数中就直接执行了创建或者删除动作的情况, 创建的命令mNeedDelete初始要为true,否则创建此命令,但没推入stack就会出现内存泄露 反之亦然,删除的命令,needdelete应该为false

成员函数说明

◆ redo()

void DA::DACommandsForWorkFlowRemoveNodeItem::redo ( )

这里要把node保存下来,node是智能指针,如果用户正常操作添加,addNode_,node的智能指针是有其它地方的实例不会析构 但是,如果是打开工程,打开后再删除,这样ndoe是没有其它地方的实例,wf->removeNode会直接把node析构了, 如果这里直接removeNode,节点就会被析构, 因此,为了避免node析构,这里要把node再保存下来


该类的文档由以下文件生成: