77 lines
1.9 KiB
C++
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_ */
|