Salome HOME
Updated copyright comment
[modules/homard.git] / src / HOMARDGUI / MonPursueIteration.cxx
index feb96985dab4a605f4a5144b4bfc5331a57d2910..561af779ab8a5b669e9e41dc673fb53bab4a2d02 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2011-2012  CEA/DEN, EDF R&D
+// Copyright (C) 2011-2024  CEA, EDF
 //
 // 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
@@ -18,6 +18,7 @@
 //
 
 #include "MonPursueIteration.h"
+#include "HOMARD.hxx"
 
 #include <QFileDialog>
 #include <QMessageBox>
@@ -38,13 +39,13 @@ using namespace std;
  * Sets attributes to default values
  */
 // -----------------------------------------------------------------------------------------
-MonPursueIteration::MonPursueIteration (QWidget* parent, bool modal, HOMARD::HOMARD_Gen_var myHomardGen)
+MonPursueIteration::MonPursueIteration ( bool modal, HOMARD::HOMARD_Gen_var myHomardGen0 )
     :
     Ui_PursueIteration(),
     _aCaseName(""), _aDirName(""), _aDirNameStart("")
 {
   MESSAGE("Debut du constructeur de MonPursueIteration");
-  myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen);
+  myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen0);
   setupUi(this);
   setModal(modal);
 
@@ -53,7 +54,7 @@ MonPursueIteration::MonPursueIteration (QWidget* parent, bool modal, HOMARD::HOM
   SetNewCaseName() ;
   _Type = 1 ;
   GBIterationintoCase->setVisible(0);
-  spinBoxNumber->setVisible(0);
+  SpinBoxNumber->setVisible(0);
 
   adjustSize();
   MESSAGE("Fin du constructeur de MonPursueIteration");
@@ -69,7 +70,6 @@ MonPursueIteration::~MonPursueIteration()
 void MonPursueIteration::InitConnect()
 // ------------------------------------------------------------------------
 {
-    connect( LECaseName,     SIGNAL(textChanged(QString)), this, SLOT(CaseNameChanged()));
     connect( PushDir,        SIGNAL(pressed()), this, SLOT(SetDirName()));
 
     connect( RBIteration,    SIGNAL(clicked()), this, SLOT(FromIteration()));
@@ -89,7 +89,7 @@ bool MonPursueIteration::PushOnApply()
 // --------------------------------
 {
   MESSAGE("PushOnApply");
-
+// 1. Enregistrement du repertoire du cas
   QString aDirName=LEDirName->text().trimmed();
   if (aDirName == QString(""))
   {
@@ -108,24 +108,37 @@ bool MonPursueIteration::PushOnApply()
       return false;
     }
   }
-#ifndef WIN32
-  if (chdir(aDirName.toStdString().c_str()) != 0)
-#else
-  if (_chdir(aDirName.toStdString().c_str()) != 0)
-#endif
+  if (CHDIR(aDirName.toStdString().c_str()) != 0)
   {
     QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
                               QObject::tr("HOM_CASE_DIRECTORY_3") );
     return false;
   }
+// 2. Enregistrement du repertoire de depart
+  QString aDirNameStart=LEDirNameStart->text().trimmed();
+  if (aDirNameStart == QString(""))
+  {
+    QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
+                              QObject::tr("HOM_START_DIRECTORY_1") );
+    return false;
+  }
+  if (CHDIR(aDirNameStart.toStdString().c_str()) != 0)
+  {
+    QMessageBox::critical( 0, QObject::tr("HOM_ERROR"),
+                              QObject::tr("HOM_START_DIRECTORY_3") );
+    return false;
+  }
 
-// Enregistrement du numero d'iteration
+// 3. Enregistrement du numero d'iteration
   int Number ;
-  if ( _Type == 3 ) { Number = spinBoxNumber->value() ; }
+  if ( _Type == 3 ) { Number = SpinBoxNumber->value() ; }
 
-// Creation du cas
+// 4. Creation du cas
   QString _aCaseName=LECaseName->text().trimmed();
+  _aDirNameStart=aDirNameStart;
 
+  MESSAGE("_aCaseName = "<<_aCaseName.toStdString().c_str());
+  MESSAGE("_aDirNameStart = "<<_aDirNameStart.toStdString().c_str());
   MESSAGE("_Type = "<<_Type);
   switch (_Type)
   {
@@ -183,6 +196,9 @@ bool MonPursueIteration::PushOnApply()
     }
   }
 
+  aCase->SetDirName(aDirName.toStdString().c_str());
+  _aDirName=aDirName;
+
   HOMARD_UTILS::updateObjBrowser();
 
   return true;
@@ -198,8 +214,8 @@ void MonPursueIteration::PushOnOK()
 void MonPursueIteration::PushOnHelp()
 //-------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_case.html"), QString(""), QString(LanguageShort.c_str()));
 }
 // ---------------------------------
 void MonPursueIteration::SetNewCaseName()
@@ -215,9 +231,9 @@ void MonPursueIteration::SetNewCaseName()
     {
       if ( aCaseName == QString((MyCases)[i]))
       {
-          num += 1;
-          aCaseName = "";
-          break;
+        num ++ ;
+        aCaseName = "" ;
+        break ;
       }
    }
   }
@@ -243,7 +259,7 @@ void MonPursueIteration::FromIteration()
 // ------------------------------------------------------------------------
 {
   GBIterationintoCase->setVisible(0);
-  spinBoxNumber->setVisible(0);
+  SpinBoxNumber->setVisible(0);
   _Type = 1 ;
   adjustSize();
 }
@@ -258,7 +274,7 @@ void MonPursueIteration::FromCase()
 void MonPursueIteration::CaseLastIteration()
 // ------------------------------------------------------------------------
 {
-  spinBoxNumber->setVisible(0);
+  SpinBoxNumber->setVisible(0);
   _Type = 2 ;
   adjustSize();
 }
@@ -266,7 +282,7 @@ void MonPursueIteration::CaseLastIteration()
 void MonPursueIteration::CaseNIteration()
 // ------------------------------------------------------------------------
 {
-  spinBoxNumber->setVisible(1);
+  SpinBoxNumber->setVisible(1);
   _Type = 3 ;
   adjustSize();
 }