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

59 lines
1.2 KiB
C++

/*
*@file CopyModuleCmd.h
*@brief 拷贝工作流中的模块
*@date: 2012-10-9
*@author: liujunxia
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_COPYMODULECMD_H_
#define PAI_FRAME_WORKFLOWVIEW_COPYMODULECMD_H_
#include <QGraphicsItem>
#include <QUndoCommand>
namespace pai
{
class CPaiWorkflowPlugin;
namespace objectmodel
{
class PaiWorkflowDataModel;
}
namespace graphics2d
{
/**
* @class CopyModuleCmd
* @brief 拷贝工作流中的模块
*/
class CopyModuleCmd :public QUndoCommand
{
public:
CopyModuleCmd(pai::objectmodel::PaiWorkflowDataModel *pWorkflow, QList<QGraphicsItem*> list, QUndoCommand *parent = 0);
virtual ~CopyModuleCmd();
/**
* @brief undo 操作
*/
void undo();
/**
* @brief redo 操作
*/
void redo();
private:
/**
* @brief 拷贝图元
*/
void copyGraphicItems();
private:
QList<QGraphicsItem*> m_list;
pai::objectmodel::PaiWorkflowDataModel* m_pWorkflow;
QList<QGraphicsItem*> m_pCopyItems; // copy graphic items buffer
};
}
}
#endif /* COPYMODULECMD_H_ */