X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fgenericgui%2FBL_CreateJobWizard.hxx;h=28f1585eb4136b1c8741399e5abda9e88c76eab6;hb=fafdcee64180ce59122b48b01f869eb35f681b34;hp=b66491436886177bd8418330c7b0d8eb6418ddf3;hpb=160698311c8deb02d7eb674f3a94f88d7199a877;p=modules%2Fjobmanager.git diff --git a/src/genericgui/BL_CreateJobWizard.hxx b/src/genericgui/BL_CreateJobWizard.hxx index b664914..28f1585 100644 --- a/src/genericgui/BL_CreateJobWizard.hxx +++ b/src/genericgui/BL_CreateJobWizard.hxx @@ -1,9 +1,9 @@ -// 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 @@ -29,11 +29,17 @@ #include #include +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 @@ -49,13 +55,12 @@ namespace BL{ 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: @@ -69,9 +74,19 @@ namespace BL{ 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 input_files_list; @@ -90,12 +105,13 @@ namespace BL{ 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 @@ -123,7 +139,7 @@ namespace BL{ bool _check_name; }; - class ConclusionPage: virtual public QWizardPage + class ConclusionPage: public QWizardPage { public: ConclusionPage(QWidget * parent); @@ -134,34 +150,66 @@ namespace BL{ 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: @@ -175,17 +223,12 @@ namespace BL{ 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 @@ -211,7 +254,7 @@ namespace BL{ QGridLayout * _main_layout; }; - class YACSSchemaPage: virtual public QWizardPage + class YACSSchemaPage: public QWizardPage { Q_OBJECT @@ -232,7 +275,7 @@ namespace BL{ QLineEdit * _line_env_file; }; - class CommandMainPage: virtual public QWizardPage + class CommandMainPage: public QWizardPage { Q_OBJECT @@ -253,7 +296,7 @@ namespace BL{ QLineEdit * _line_env_file; }; - class PythonSalomeMainPage: virtual public QWizardPage + class PythonSalomeMainPage: public QWizardPage { Q_OBJECT