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

66 lines
1.8 KiB
C++

/*
* @file RenameModuleCmd.h
* @brief RenameModuleCmd是对工作流编辑界面模块进行重命名进而更换模块的命令
* @date: 2012-10-10
* @author: limengzhuo
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_RENAMEMODULECMD_H
#define PAI_FRAME_WORKFLOWVIEW_RENAMEMODULECMD_H
#include <QGraphicsItem>
#include <QUndoCommand>
#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<QGraphicsItem*> 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<workflow::CModuleConnection *> GetRemovedModuleConnections(int stepId);
private:
pai::objectmodel::PaiWorkflowDataModel* m_pWorkflow;//工作流模型
pai::graphics2d::WorkflowSceneManager *m_pSceneManager;
QList<workflow::CModuleConnection *> m_connectionList;
QString m_sNewName;//新的模块名
QString m_originalName;//模块原来的名字
int m_stepId; //要重命名的模块StepID
};
}
#endif /* PAI_FRAME_WORKFLOWVIEW_RENAMEMODULECMD_H */