Salome HOME
Copyright update 2022
[modules/jobmanager.git] / src / genericgui / BL_CreateJobWizard.hxx
index 54f5e112b8bc58995be6464ba7eb12293096f036..9217744453f5aa531c304d63a80d2b412af8263f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2022  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
 #ifndef _BL_CREATEJOBWIZARD_HXX_
 #define _BL_CREATEJOBWIZARD_HXX_
 
-#include <QtGui>
-
 #include "BL_Traces.hxx"
 #include "BL_SALOMEServices.hxx"
 #include "JM_ResourceCatalog.hxx"
 
+#include <QWizard>
+#include <QWizardPage>
 #include <string>
 #include <list>
 
+class QGridLayout;
+class QLabel;
+class QLineEdit;
+class QListWidget;
+
 namespace Ui {
   class ResourceRequirementsWizardPage;
   class FilesWizardPage;
   class AdvancedParametersWizardPage;
 }
 
-namespace BL{
+namespace BL {
 
   class JobsManager_QT;
   class JobNamePage;
@@ -67,12 +72,14 @@ namespace BL{
     public:
       // Results
       std::string job_name;
+      enum {YACS, COMMAND, PYTHON_SALOME, COMMAND_SALOME} job_type;
 
       std::string yacs_file;
       std::string command;
       std::string python_salome_file;
 
       std::string env_file;
+      std::string pre_command;
 
       std::string batch_directory;
 
@@ -83,6 +90,7 @@ namespace BL{
       long mem_limit;
       BL::Job::MemReqType mem_req_type;
       int nb_proc;
+      int nb_node;
       bool exclusive;
 
       // Parameters for COORM
@@ -95,12 +103,14 @@ namespace BL{
 
       std::string resource_choosed;
       std::string batch_queue;
+      std::string batch_partition;
       std::string wckey;
       std::string extra_params;
 
       bool start_job;
       int dump_yacs_state;
       std::string ll_jobtype;
+      std::string yacs_driver_options;
 
     public:
       enum {Page_JobName,
@@ -130,6 +140,7 @@ namespace BL{
     public slots:
       void yacs_schema_button(bool checked);
       void command_button(bool checked);
+      void command_salome_button(bool checked);
       void python_salome_button(bool checked);
 
     private:
@@ -137,9 +148,6 @@ namespace BL{
       QLabel * _explanation;
 
     public:
-      QRadioButton * _yacs_schema_button;
-      QRadioButton * _command_button;
-      QRadioButton * _python_salome_button;
       bool _check_name;
   };
 
@@ -277,10 +285,12 @@ namespace BL{
     public slots:
       void choose_file();
       void choose_env_file();
+      void choose_pre_command_file();
 
     private:
       QLineEdit * _yacs_file_text;
       QLineEdit * _line_env_file;
+      QLineEdit * _line_pre_command;
   };
 
   class CommandMainPage: public QWizardPage
@@ -298,10 +308,12 @@ namespace BL{
     public slots:
       void choose_command_file();
       void choose_env_file();
+      void choose_pre_command_file();
 
     private:
       QLineEdit * _line_command;
       QLineEdit * _line_env_file;
+      QLineEdit * _line_pre_command;
   };
 
   class PythonSalomeMainPage: public QWizardPage
@@ -319,10 +331,12 @@ namespace BL{
     public slots:
       void choose_PythonSalome_file();
       void choose_env_file();
+      void choose_pre_command_file();
 
     private:
       QLineEdit * _line_PythonSalome;
       QLineEdit * _line_env_file;
+      QLineEdit * _line_pre_command;
   };
 
   class AdvancedParametersPage: public QWizardPage