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

70 lines
1.5 KiB
C++

/*
*@file MoveModuleCmd.h
*@brief 移动工作流中的模块
*@date: 2012-10-31
*@author: liujunxia
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_MOVEMODULECMD_H_
#define PAI_FRAME_WORKFLOWVIEW_MOVEMODULECMD_H_
#include <QGraphicsItem>
#include <QUndoCommand>
namespace pai
{
class CPaiWorkflowPlugin;
namespace objectmodel
{
class PaiWorkflowDataModel;
}
namespace graphics2d
{
class WorkflowSceneManager;
struct ModuleMovedInfo
{
int stepId;
QPointF mousePressPos;
QPointF mouseReleasePos;
};
/**
* @class MoveModuleCmd
* @brief 移动工作流中的模块
*/
class MoveModuleCmd :public QUndoCommand
{
public:
MoveModuleCmd(pai::graphics2d::WorkflowSceneManager *pSceneManager, QList<ModuleMovedInfo> moduleMovedInfoList, bool bKeyPressedMove, QUndoCommand *parent = 0);
virtual ~MoveModuleCmd();
/**
* @brief undo 操作
*/
void undo();
/**
* @brief redo 操作
*/
void redo();
/**
*
*/
int id() const;
/**
* @brief mergeWith 操作
*/
bool mergeWith(const QUndoCommand *other);
private:
QList<QGraphicsItem*> m_list;
QList<ModuleMovedInfo> m_moduleMovedInfoList;
pai::graphics2d::WorkflowSceneManager *m_pSceneManager;
bool m_bKeyPressedMove;
};
}
}
#endif /* COPYMODULECMD_H_ */