70 lines
1.5 KiB
C++
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_ */
|