71 lines
1.4 KiB
C++
71 lines
1.4 KiB
C++
/*
|
|
* @file SaveWorkflowCmd.h
|
|
* @brief 保存工作流
|
|
* @date: 2012-10-16
|
|
* @author: liujunxia
|
|
*/
|
|
|
|
#ifndef PAI_FRAME_WORKFLOWVIEW_SAVEWORKFLOWCMD_H_
|
|
#define PAI_FRAME_WORKFLOWVIEW_SAVEWORKFLOWCMD_H_
|
|
|
|
#include <QUndoCommand>
|
|
|
|
#include "PaiTextEdit.h"
|
|
#include "WorkflowPlugin.h"
|
|
|
|
|
|
namespace pai
|
|
{
|
|
namespace objectmodel
|
|
{
|
|
class PaiObject;
|
|
class PaiSurvey;
|
|
class PaiWorkflowDataModel;
|
|
}
|
|
|
|
/**
|
|
* @class SaveWorkflowCmd
|
|
* @brief 保存工作流
|
|
*/
|
|
class SaveWorkflowCmd :public QUndoCommand{
|
|
public:
|
|
SaveWorkflowCmd(QUuid viewID, pai::objectmodel::PaiWorkflowDataModel *pCurrentWorkflow, QUndoCommand *parent = 0);
|
|
virtual ~SaveWorkflowCmd();
|
|
/**
|
|
* @brief undo
|
|
*/
|
|
void undo();
|
|
/**
|
|
* @brief redo
|
|
*/
|
|
void redo();
|
|
/**
|
|
* @brief 获得保存是否成功的结果。
|
|
*/
|
|
bool GetSaveResult();
|
|
|
|
private:
|
|
/**
|
|
* @brief 处理保存当前工作流,对于没有保存过的,会弹出命名窗口。
|
|
* @param[out] 返回是否进行保存并保存成功。
|
|
*/
|
|
bool HandleSaveWorkflow();
|
|
/**
|
|
* @brief 刷新属性窗口
|
|
*/
|
|
void RefreshProperties(const QUuid & id);
|
|
/**
|
|
* @brief 获得属性编辑框
|
|
*/
|
|
pai::gui::PaiTextEdit* GetPropertiesTextEdit();
|
|
|
|
private:
|
|
bool m_bSaveSuccess;
|
|
QUuid m_ViewID;//视图ID
|
|
pai::objectmodel::PaiWorkflowDataModel *m_pCurrentWorkflow;
|
|
};
|
|
|
|
}
|
|
|
|
#endif /* SAVEWORKFLOWCMD_H_ */
|