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

61 lines
1.2 KiB
C++

/*
*@file CutModuleCmd.h
*@brief 剪切工作流中的模块
*@date: 2012-10-9
*@author: liujunxia
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_CUTMODULECMD_H_
#define PAI_FRAME_WORKFLOWVIEW_CUTMODULECMD_H_
#include <QGraphicsItem>
#include <QUndoCommand>
#include "ModuleConnection.h"
namespace pai
{
class DeleteModuleCmd;
namespace objectmodel
{
class PaiWorkflowDataModel;
}
namespace graphics2d
{
class WorkflowSceneManager;
/**
* @class CutModuleCmd
* @brief 剪切工作流中的模块
*/
class CutModuleCmd :public QUndoCommand {
public:
CutModuleCmd(pai::graphics2d::WorkflowSceneManager *pSceneManager,
pai::objectmodel::PaiWorkflowDataModel *pWorkflow, QList<QGraphicsItem*> list, QUndoCommand *parent = 0);
virtual ~CutModuleCmd();
/**
* @brief undo 操作
*/
void undo();
/**
* @brief redo 操作
*/
void redo();
private:
/**
* @brief copy GraphicsItem list.
*/
QList<QGraphicsItem*> copyGraphicItems(QList<QGraphicsItem*> list);
private:
QList<QGraphicsItem*> m_list;
pai::objectmodel::PaiWorkflowDataModel* m_pWorkflow;
pai::graphics2d::WorkflowSceneManager *m_pSceneManager;
DeleteModuleCmd * m_pDeleteModuleCmd;
};
}
}
#endif /* CUTMODULECMD_H_ */