/* * @file RenameModuleCmd.h * @brief RenameModuleCmd是对工作流编辑界面模块进行重命名进而更换模块的命令 * @date: 2012-10-10 * @author: limengzhuo */ #ifndef PAI_FRAME_WORKFLOWVIEW_RENAMEMODULECMD_H #define PAI_FRAME_WORKFLOWVIEW_RENAMEMODULECMD_H #include #include #include "ModuleConnection.h" namespace pai { namespace objectmodel { class PaiWorkflowDataModel; } namespace graphics2d { class WorkflowSceneManager; } /** * @class RenameModuleCmd * @brief RenameModuleCmd是对工作流编辑界面模块进行重命名进而更换模块的命令 */ class RenameModuleCmd :public QUndoCommand { public: RenameModuleCmd(pai::graphics2d::WorkflowSceneManager *pSceneManager, pai::objectmodel::PaiWorkflowDataModel *pWorkflow,QList list, QGraphicsItem* pItem, QString newName, QUndoCommand *parent = 0); virtual ~RenameModuleCmd(); /** * @brief undo */ void undo(); /** * @brief redo */ void redo(); private: /** * @brief 重命名 */ void rename(QString originalName, QString newName); /** * @brief 被重命名模块的所有连线。 * @param 被重命名模块的StepId. */ QList GetRemovedModuleConnections(int stepId); private: pai::objectmodel::PaiWorkflowDataModel* m_pWorkflow;//工作流模型 pai::graphics2d::WorkflowSceneManager *m_pSceneManager; QList m_connectionList; QString m_sNewName;//新的模块名 QString m_originalName;//模块原来的名字 int m_stepId; //要重命名的模块StepID }; } #endif /* PAI_FRAME_WORKFLOWVIEW_RENAMEMODULECMD_H */