Salome HOME
Merge branch 'V7_dev'
[modules/jobmanager.git] / src / genericgui / BL_JobsManager_QT.cxx
index 47171ed0ff09dd90252d7ec11842cf56b9c38777..e56bde129d86812aa84a053fb9292ad164bb4df9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2016  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
 
 #include "BL_JobsManager_QT.hxx"
 #include "BL_GenericGui.hxx"
+
+#include <QApplication>
+#include <QFileDialog>
+#include <QGroupBox>
+#include <QHBoxLayout>
+#include <QMenu>
+#include <QPushButton>
+#include <QScrollArea>
+#include <QStandardItemModel>
+#include <QTextEdit>
+#include <QTimer>
+#include <QVBoxLayout>
 #include <vector>
 
 using namespace std;
@@ -132,8 +144,8 @@ BL::JobsManager_QT::save_jobs_button()
   filters << "XML files (*.xml)"
           << "Any files (*)";
   dialog.setFileMode(QFileDialog::AnyFile);
-  dialog.setFilters(filters);
-  dialog.selectFilter("(*.xml)");
+  dialog.setNameFilters(filters);
+  dialog.selectNameFilter("(*.xml)");
   dialog.setDefaultSuffix("xml");
   dialog.setConfirmOverwrite(true);
   dialog.setAcceptMode(QFileDialog::AcceptSave);
@@ -272,24 +284,27 @@ void
 BL::JobsManager_QT::create_job_with_wizard(BL::CreateJobWizard & wizard)
 {
   BL::Job * new_job = createJob(wizard.job_name);
-  if (wizard.yacs_file != "")
+  switch (wizard.job_type)
   {
+  case BL::CreateJobWizard::YACS:
     // YACS schema job
     new_job->setType(BL::Job::YACS_SCHEMA);
     new_job->setJobFile(wizard.yacs_file);
     new_job->setDumpYACSState(wizard.dump_yacs_state);
-  }
-  else if (wizard.command != "")
-  {
+    new_job->setYacsDriverOptions(wizard.yacs_driver_options);
+    break;
+  case BL::CreateJobWizard::COMMAND:
     // Command Job
     new_job->setType(BL::Job::COMMAND);
     new_job->setJobFile(wizard.command);
-  }
-  else if (wizard.python_salome_file != "")
-  {
-    // Command Job
+    break;
+  case BL::CreateJobWizard::PYTHON_SALOME:
+    // Python Salome Job
     new_job->setType(BL::Job::PYTHON_SALOME);
     new_job->setJobFile(wizard.python_salome_file);
+    break;
+  default:
+    throw BL::Exception("Unknown job type");
   }
 
   // For all jobs
@@ -325,6 +340,8 @@ BL::JobsManager_QT::create_job_with_wizard(BL::CreateJobWizard & wizard)
   new_job->setResource(wizard.resource_choosed);
   new_job->setBatchQueue(wizard.batch_queue);
   new_job->setLoadLevelerJobType(wizard.ll_jobtype);
+  new_job->setWCKey(wizard.wckey);
+  new_job->setExtraParams(wizard.extra_params);
 
   // End
   addJobToLauncher(wizard.job_name);