-// Copyright (C) 2009-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2009-2014 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include <string>
#include <list>
+namespace Ui {
+ class ResourceRequirementsWizardPage;
+ class FilesWizardPage;
+}
+
namespace BL{
class JobsManager_QT;
class JobNamePage;
- class CreateJobWizard: virtual public QWizard
+ class BatchParametersPage;
+ class CreateJobWizard: public QWizard
{
Q_OBJECT
void end(int result);
private:
- //Page Name
- QLineEdit * _nameLineEdit;
BL::JobsManager_QT * _jobs_manager;
QListWidget * _input_files_list;
QListWidget * _output_files_list;
BL::JobNamePage * _job_name_page;
+ BL::BatchParametersPage * _batch_parameters_page;
BL::SALOMEServices * _salome_services;
public:
std::string env_file;
std::string batch_directory;
+
+ // For COORM
+ std::string coorm_batch_directory;
+
std::string maximum_duration;
- std::string expected_memory;
+ unsigned long mem_limit;
+ BL::Job::MemReqType mem_req_type;
int nb_proc;
+ bool exclusive;
+
+ // Parameters for COORM
+ std::string launcher_file;
+ std::string launcher_args;
std::string result_directory;
std::list<std::string> input_files_list;
Page_Command_Main_Definitions,
Page_PythonSalome_Main_Definitions,
Page_BatchParameters,
+ Page_COORM_BatchParameters,
Page_Files,
Page_Resource,
Page_Conclusion};
};
- class JobNamePage: virtual public QWizardPage
+ class JobNamePage: public QWizardPage
{
Q_OBJECT
bool _check_name;
};
- class ConclusionPage: virtual public QWizardPage
+ class ConclusionPage: public QWizardPage
{
public:
ConclusionPage(QWidget * parent);
virtual void cleanupPage() {}
};
- class BatchParametersPage: virtual public QWizardPage
+ class BatchParametersPage: public QWizardPage
{
Q_OBJECT
public:
+ enum MemUnit {MB, GB};
+
BatchParametersPage(QWidget * parent, BL::SALOMEServices * salome_services);
virtual ~BatchParametersPage();
+ virtual void initializePage();
+ virtual int nextId() const;
+ virtual void cleanupPage();
+
+ MemUnit getMemUnit() const;
+ void setMemUnit(MemUnit mem_unit);
+
+ BL::Job::MemReqType getMemReqType() const;
+ void setMemReqType(BL::Job::MemReqType mem_req_type);
+
+ private:
+ Ui::ResourceRequirementsWizardPage * ui;
+ BL::SALOMEServices * _salome_services;
+ std::string resource_choosed;
+ };
+
+ // For COORM
+ class COORM_BatchParametersPage: public QWizardPage
+ {
+ Q_OBJECT
+
+ public:
+ COORM_BatchParametersPage(QWidget * parent, BL::SALOMEServices * salome_services);
+ virtual ~COORM_BatchParametersPage();
+
virtual bool validatePage();
virtual int nextId() const;
virtual void cleanupPage();
virtual void initializePage();
+ public slots:
+ void choose_launcher_file();
+
private:
BL::SALOMEServices * _salome_services;
+ QLineEdit * _launcher_file_text;
QString resource_choosed;
};
- class FilesPage: virtual public QWizardPage
+ class FilesPage: public QWizardPage
{
Q_OBJECT
public:
- FilesPage(BL::CreateJobWizard * parent);
+ FilesPage(BL::CreateJobWizard * parent, BL::SALOMEServices * salome_services);
virtual ~FilesPage();
+ virtual void initializePage();
virtual int nextId() const;
- virtual bool validatePage();
+ virtual bool isComplete() const;
virtual void cleanupPage() {}
public slots:
void output_itemSelectionChanged();
private:
- QPushButton * _input_files_button;
- QPushButton * _remove_input_files_button;
- QListWidget * _input_files_list;
- QLineEdit * _result_directory;
-
- QPushButton * _output_files_button;
- QPushButton * _remove_output_files_button;
- QListWidget * _output_files_list;
+ Ui::FilesWizardPage * ui;
+ BL::SALOMEServices * _salome_services;
+ QString resource_choosed;
};
- class ResourcePage: virtual public QWizardPage
+ class ResourcePage: public QWizardPage
{
Q_OBJECT
QGridLayout * _main_layout;
};
- class YACSSchemaPage: virtual public QWizardPage
+ class YACSSchemaPage: public QWizardPage
{
Q_OBJECT
QLineEdit * _line_env_file;
};
- class CommandMainPage: virtual public QWizardPage
+ class CommandMainPage: public QWizardPage
{
Q_OBJECT
QLineEdit * _line_env_file;
};
- class PythonSalomeMainPage: virtual public QWizardPage
+ class PythonSalomeMainPage: public QWizardPage
{
Q_OBJECT