logplus/ModuleConsole/command/include/SaveAsTemplateCmd.h

98 lines
2.7 KiB
C
Raw Normal View History

2026-01-16 17:18:41 +08:00
/*
* @file SaveAsTemplateCmd.h
* @brief
* @date: 2012-12-10
* @author: liujunxia
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_SAVEASTEMPLATECMD_H_
#define PAI_FRAME_WORKFLOWVIEW_SAVEASTEMPLATECMD_H_
#include <QUuid>
#include <QUndoCommand>
enum TemplateSaveType
{
SaveTemplate_DoCancel = 0x00000000, /**<取消,不保存 */
SaveTemplate_DoOpenDialog = 0x00000001, /**<不覆盖,继续打开保存对话框 一般是点击了不覆盖后设置的*/
SaveTemplate_Save = 0x00000010, /**< 不保存*/
};
namespace pai
{
class CPaiWorkflowTemplateTree;
namespace objectmodel
{
class PaiObject;
class PaiWorkflowDataModel;
}
class SaveAsTemplateCmd :public QUndoCommand
{
public:
SaveAsTemplateCmd(pai::CPaiWorkflowTemplateTree* pTemplateTree,
pai::objectmodel::PaiWorkflowDataModel *pActiveWorkflow, QUndoCommand *parent = 0);
virtual ~SaveAsTemplateCmd();
/**
* @brief undo
*/
void undo();
/**
* @brief redo
*/
void redo();
/**
* @brief
*/
private:
/**
* @brief
* @param[out]
*/
bool _HandleSaveAsTemplate();
/**
* @brief
*/
pai::objectmodel::PaiWorkflowDataModel* _CopyWorkflow();
/**
* @brief
* @param[out] PaiObject类型的
*/
pai::objectmodel::PaiObject* _GetOldSameNameWorkflow();
/**
* @brief
*/
int OpenSaveDialog(QString &strTemplateName);
/**
* @brief
*/
int OpenSaveAsDialog(QString &strTemplateName);
/**
* @brief
* @param bSave Save Save as操作 save true, save as false
* @param workflowName
* @param[out] SaveType
*/
int OpenSaveDialog(bool bSave, QString &strTemplateName);
/**
* @brief
* @param bSave Save Save as操作 save true, save as false
* @param strTemplateName
* @param[out] SaveType
*/
int ValidateSaveTemplateName(QString strTemplateName);
private:
pai::objectmodel::PaiWorkflowDataModel * m_pOldWorkflow; //备份原来的当前工作流
pai::objectmodel::PaiObject* m_pSameNameTemplate; //同名工作流
QString m_strNewTtemplateName; //另存为的工作流的名字
int m_SaveType; //保存类型
bool m_bSaveSuccess;
pai::CPaiWorkflowTemplateTree* m_pTemplateTree;
pai::objectmodel::PaiWorkflowDataModel *m_pActiveWorkflow;
};
}
#endif /* SAVEASTEMPLATECMD_H_ */