66 lines
1.8 KiB
C++
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 */
|