/* *@file MoveModuleCmd.h *@brief 移动工作流中的模块 *@date: 2012-10-31 *@author: liujunxia */ #ifndef PAI_FRAME_WORKFLOWVIEW_MOVEMODULECMD_H_ #define PAI_FRAME_WORKFLOWVIEW_MOVEMODULECMD_H_ #include #include 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 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 m_list; QList m_moduleMovedInfoList; pai::graphics2d::WorkflowSceneManager *m_pSceneManager; bool m_bKeyPressedMove; }; } } #endif /* COPYMODULECMD_H_ */