/* * @file BreakLineCmd.h * @brief BreakLineCmd是为工作流编辑界面模块删除连线的命令 * @date: 2012-10-10 * @author: limengzhuo */ #ifndef PAI_FRAME_WORKFLOWVIEW_BREAKLINECMD_H #define PAI_FRAME_WORKFLOWVIEW_BREAKLINECMD_H #include #include #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 connectionList, QUndoCommand *pParent = 0); /** * @brief 析构函数 */ virtual ~BreakLineCmd(); /** * @brief undo操作添加连线 */ void undo(); /** * @brief redo操作断开连线 */ void redo(); private: /** * @brief 删除连线 */ void BreakLine(); /** * @brief 删除连线 */ void AddLine(); private: QList m_connectionList; //被选中连线的连线信息 pai::objectmodel::PaiWorkflowDataModel* m_pWorkflow; //工作流模型 pai::graphics2d::WorkflowSceneManager *m_pScene; //连线item所在场景 }; } #endif /* BREAKLINECMD_H_ */