logplus/ModuleConsole/command/include/SubmitWorkflowCmd.h
2026-01-16 17:18:41 +08:00

79 lines
1.8 KiB
C++

/*
* SubmitWorkflowCmd.h
*
* Created on: 2012-10-19
* Author: shenpenglin
*/
#ifndef PAI_FRAME_WORKFLOWVIEW_SUBMITWORKFLOWCMD_H
#define PAI_FRAME_WORKFLOWVIEW_SUBMITWORKFLOWCMD_H
#include <QUuid>
#include <QUndoCommand>
#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