logplus/ModuleConsole/command/include/BreakLineCmd.h
2026-01-16 17:18:41 +08:00

77 lines
1.9 KiB
C++

/*
* @file BreakLineCmd.h
* @brief BreakLineCmd是为工作流编辑界面模块删除连线的命令
* @date: 2012-10-10
* @author: limengzhuo
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_BREAKLINECMD_H
#define PAI_FRAME_WORKFLOWVIEW_BREAKLINECMD_H
#include <QGraphicsItem>
#include <QUndoCommand>
#include "ModuleConnection.h"
namespace pai
{
namespace objectmodel
{
class PaiWorkflowDataModel;
}
namespace graphics2d
{
class WorkflowSceneManager;
}
/**
* @class BreakLineCmd
* @brief BreakLineCmd是为工作流编辑界面模块删除连线的命令
*/
class BreakLineCmd :public QUndoCommand
{
public:
/**
* @brief 构造函数
* @param[in] pWorkflow 当前工作流
* @param[in] pScene 连线所在场景
* @param[in] list 被选中连线的连线信息
* @param[in] pParent 断开连线命令父亲
*/
BreakLineCmd(pai::objectmodel::PaiWorkflowDataModel *pWorkflow,
pai::graphics2d::WorkflowSceneManager *pScene,
QList<workflow::CModuleConnection*> connectionList,
QUndoCommand *pParent = 0);
/**
* @brief 析构函数
*/
virtual ~BreakLineCmd();
/**
* @brief undo操作添加连线
*/
void undo();
/**
* @brief redo操作断开连线
*/
void redo();
private:
/**
* @brief 删除连线
*/
void BreakLine();
/**
* @brief 删除连线
*/
void AddLine();
private:
QList<workflow::CModuleConnection*> m_connectionList; //被选中连线的连线信息
pai::objectmodel::PaiWorkflowDataModel* m_pWorkflow; //工作流模型
pai::graphics2d::WorkflowSceneManager *m_pScene; //连线item所在场景
};
}
#endif /* BREAKLINECMD_H_ */