79 lines
1.8 KiB
C++
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
|