/* * SubmitWorkflowCmd.h * * Created on: 2012-10-19 * Author: shenpenglin */ #ifndef PAI_FRAME_WORKFLOWVIEW_SUBMITWORKFLOWCMD_H #define PAI_FRAME_WORKFLOWVIEW_SUBMITWORKFLOWCMD_H #include #include #include "Job.h" namespace pai { namespace objectmodel { class PaiObject; class PaiWorkflowDataModel; } /** * @class SubmitWorkflowCmd * @brief 提交工作流命令 */ class SubmitWorkflowCmd : public QUndoCommand { public: /** * @brief 构造函数 * @param[in] invoker Submit命令调用者对象指针 * @param[in] actionSender Submit信号发送者对象指针 * @param[in] viewID 工作流视图ID * @param[in] parent 父命令指针 */ SubmitWorkflowCmd(QObject *invoker, pai::objectmodel::PaiObject *actionSender,QUuid viewID, pai::objectmodel::PaiWorkflowDataModel *pActiveWorkflow, QUndoCommand *parent = 0); /** * @brief 析构函数 */ virtual ~SubmitWorkflowCmd(); /** * @brief undo */ void undo(); /** * @brief redo */ void redo(); private: /** * @brief 提交工作流函数 */ void SubmitWorkflowHelper(); /** * @brief 显示提交工作流对话框 * @param[in] projectID 项目ID * @param[out] jobName 作业名称 * @param[out] priority 作业优先级 * @param[out] queueName 队列名称 */ bool GetSubmitInformation(long long projectID, QString& jobName, pai::ios::job::JobPriority& priority, QString& queueName); private: QObject *m_pCmdInvoker; pai::objectmodel::PaiObject* m_pActionSender; QUuid m_ViewID;//视图ID pai::objectmodel::PaiWorkflowDataModel *m_pActiveWorkflow; }; } #endif