/* * @file SaveWorkflowCmd.h * @brief 保存工作流 * @date: 2012-10-16 * @author: liujunxia */ #ifndef PAI_FRAME_WORKFLOWVIEW_SAVEWORKFLOWCMD_H_ #define PAI_FRAME_WORKFLOWVIEW_SAVEWORKFLOWCMD_H_ #include #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_ */