Salome HOME
Copyright update 2022
[modules/homard.git] / src / HOMARDGUI / MonEditIteration.cxx
index e1cf044aba8fe245fa41446b61df09aa0a9ca1a4..5202b3596437a1c42dda38a2de5cc729108355fb 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2011-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2011-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
 // 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
@@ -17,8 +17,6 @@
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
-using namespace std;
-
 #include "MonEditIteration.h"
 
 #include "SalomeApp_Tools.h"
@@ -26,6 +24,7 @@ using namespace std;
 #include "HomardQtCommun.h"
 #include <utilities.h>
 
+using namespace std;
 
 // -------------------------------------------------------------------------------------------------------------------------------------
 MonEditIteration::MonEditIteration ( QWidget* parent, bool modal,
@@ -41,12 +40,12 @@ MonEditIteration::MonEditIteration ( QWidget* parent, bool modal,
     MESSAGE("Debut de  MonEditIteration" << IterName.toStdString().c_str());
     setWindowTitle(QObject::tr("HOM_ITER_EDIT_WINDOW_TITLE"));
     _IterationName = IterName;
-    aIter = _myHomardGen->GetIteration(_IterationName.toStdString().c_str());
+    aIter = myHomardGen->GetIteration(_IterationName.toStdString().c_str());
 
 //  Attention au cas ou c'est une iteration initiale : il faut inhiber l'essentiel
-    int number = aIter->GetNumber() ;
-    if ( number == 0 ) { InitValEdit0(); }
-    else               { InitValEdit(); }
+    int etat = aIter->GetState() ;
+    if ( etat <= 0 ) { InitValEdit0(etat); }
+    else             { InitValEdit(); }
 }
 // ------------------------------
 MonEditIteration::~MonEditIteration()
@@ -55,13 +54,13 @@ MonEditIteration::~MonEditIteration()
 }
 
 // ------------------------------
-void MonEditIteration::InitValEdit0()
+void MonEditIteration::InitValEdit0(int etat)
 // ------------------------------
-//    Cas d'une iteration 0
+//    Cas d'une iteration initiale d'un cas (initial ou poursuite)
 {
 //
-      LEIterationName->setText(_IterationName);
-      LEIterationName->setReadOnly(true);
+      LEName->setText(_IterationName);
+      LEName->setReadOnly(true);
 
 //    Invisibilite de l'iteration parent
       Iter_Parent->setVisible(0);
@@ -75,88 +74,89 @@ void MonEditIteration::InitValEdit0()
       LEMeshName_n->setReadOnly(1);
 
 //    Message general
-      Mesh_np1->setText(QObject::tr("HOM_ITER_STARTING_POINT_1"));
+      if ( etat == 0 ) { Mesh_np1->setText(QObject::tr("HOM_ITER_STARTING_POINT_1")) ; }
+      else             { Mesh_np1->setText(QObject::tr("HOM_ITER_STARTING_POINT_2")) ; }
       LEMeshName_np1->setVisible(0);
 //
 //    Invisibilite des hypotheses et des champs
       Hypothese->setVisible(0);
       GBField->setVisible(0);
-      adjustSize();
 //
 }
 // ------------------------------
 void MonEditIteration::InitValEdit()
 // ------------------------------
-//    Cas d'une iteration > 0
+//    Cas d'une iteration courante
 {
 //    Affichage bloque du nom de l'iteration
-      LEIterationName->setText(_IterationName);
-      LEIterationName->setReadOnly(true);
-
-//    Affichage bloque du nom de l'iteration parent
-      _IterParentName = aIter->GetIterParentName();
-      LEIterationParentName->setText(_IterParentName);
-      LEIterationParentName->setReadOnly(true);
-      PBIterParent->setEnabled(false);
-      PBIterParent->setVisible(0);
+  LEName->setText(_IterationName);
+  LEName->setReadOnly(true);
+
+  //    Affichage bloque du nom de l'iteration parent
+  _IterParentName = aIter->GetIterParentName();
+  LEIterationParentName->setText(_IterParentName);
+  LEIterationParentName->setReadOnly(true);
+  PBIterParent->setEnabled(false);
+  PBIterParent->setVisible(0);
+
+  //    Affichage bloque du nom du maillage de l'iteration parent
+  aIterParent = myHomardGen->GetIteration(_IterParentName.toStdString().c_str());
+  QString MeshNameParent = aIterParent->GetMeshName();
+  LEMeshName_n->setText(MeshNameParent);
+  LEMeshName_n->setReadOnly(1);
+
+  //    Affichage bloque du nom du maillage de l'iteration courante
+  QString MeshName = aIter->GetMeshName();
+  LEMeshName_np1->setText(MeshName);
+  LEMeshName_np1->setReadOnly(1);
+
+  //    Affichage de la bonne hypothese
+  QString HypoName = aIter->GetHypoName();
+  CBHypothese->insertItem(0,HypoName);
+  CBHypothese->setCurrentIndex(0);
+  CBHypothese->setEnabled(false);
+  PBHypoNew->setVisible(0);
+
+  //    Pour une adaptation selon un champ
+  HOMARD::HOMARD_Hypothesis_var myHypo = myHomardGen->GetHypothesis(HypoName.toStdString().c_str()) ;
+  _aTypeAdap = myHypo->GetAdapType() ;
+  if ( _aTypeAdap == 1 )
+  {
+    _FieldFile = aIter->GetFieldFile();
+    LEFieldFile->setText(_FieldFile);
+    _step = aIter->GetTimeStep() ;
+    SpinBox_TimeStep->setValue(_step);
+    _rank = aIter->GetRank() ;
+    SpinBox_Rank->setValue(_rank);
+
+  // Cas ou on prend le dernier pas de temps ou sans pas de temps
+    if ( _step <= -1 )
+    {
+      Rank->setVisible(0);
+      SpinBox_Rank->setVisible(0);
+      TimeStep->setVisible(0);
+      SpinBox_TimeStep->setVisible(0);
 
-//    Affichage bloque du nom du maillage de l'iteration parent
-      aIterParent = _myHomardGen->GetIteration(_IterParentName.toStdString().c_str());
-      QString MeshNameParent = aIterParent->GetMeshName();
-      LEMeshName_n->setText(MeshNameParent);
-      LEMeshName_n->setReadOnly(1);
+      if ( _step == -2 ) { RBLast->setChecked(true); }
+      else               { RBNo->setChecked(true); }
+    }
 
-//    Affichage bloque du nom du maillage de l'iteration courante
-      QString MeshName = aIter->GetMeshName();
-      LEMeshName_np1->setText(MeshName);
-      LEMeshName_np1->setReadOnly(1);
-
-//    Affichage de la bonne hypothese
-      QString HypoName = aIter->GetHypoName();
-      CBHypothese->insertItem(0,HypoName);
-      CBHypothese->setCurrentIndex(0);
-      CBHypothese->setEnabled(false);
-      PBHypoNew->setVisible(0);
-
-//    Pour une adaptation selon un champ
-      HOMARD::HOMARD_Hypothesis_var myHypo = _myHomardGen->GetHypothesis(HypoName.toStdString().c_str()) ;
-      _aTypeAdap = myHypo->GetAdapType() ;
-      if ( _aTypeAdap == 1 )
-      {
-          _FieldFile = aIter->GetFieldFile();
-          LEFieldFile->setText(_FieldFile);
-          _step = aIter->GetTimeStep() ;
-          SpinBox_TimeStep->setValue(_step);
-          _rank = aIter->GetRank() ;
-          SpinBox_Rank->setValue(_rank);
-
-// Cas ou on prend le dernier pas de temps ou sans pas de temps
-          if ( _step <= -1 )
-          {
-            Rank->setVisible(0);
-            SpinBox_Rank->setVisible(0);
-            TimeStep->setVisible(0);
-            SpinBox_TimeStep->setVisible(0);
-
-            if ( _step == -2 ) { RBLast->setChecked(true); }
-            else               { RBNo->setChecked(true); }
-          }
-
-// Cas avec pas de temps
-          else
-          {
-            Rank->setVisible(1);
-            SpinBox_Rank->setVisible(1);
-            TimeStep->setVisible(1);
-            SpinBox_TimeStep->setVisible(1);
-            RBChosen->setChecked(true);
-          }
-      }
-      else
-      {
-          GBField->setVisible(0);
-      }
-      adjustSize();
+  // Cas avec pas de temps
+    else
+    {
+      Rank->setVisible(1);
+      SpinBox_Rank->setVisible(1);
+      TimeStep->setVisible(1);
+      SpinBox_TimeStep->setVisible(1);
+      RBChosen->setChecked(true);
+    }
+  }
+  else
+  {
+    GBField->setVisible(0);
+  }
+//
+  adjustSize();
 //
 }
 
@@ -167,8 +167,8 @@ bool MonEditIteration::PushOnApply()
   if ( _aTypeAdap ==  1)
   {
 // Pour du raffinement selon un champ, les instants ont-ils change ?
-    if ( (_FieldFile != LEFieldFile->text().trimmed()) or
-       (  _rank != SpinBox_Rank->value())  or
+    if ( (_FieldFile != LEFieldFile->text().trimmed()) ||
+       (  _rank != SpinBox_Rank->value())  ||
        (  _step != SpinBox_TimeStep->value()))
     {
       _FieldFile = LEFieldFile->text().trimmed();
@@ -177,7 +177,7 @@ bool MonEditIteration::PushOnApply()
       _step = SpinBox_TimeStep->value();
       if ( _step == -2 ) { aIter->SetTimeStepRankLast(); }
       else               { aIter->SetTimeStepRank(_step, _rank); }
-      _myHomardGen->InvalideIter(_IterationName.toStdString().c_str());
+      myHomardGen->InvalideIter(_IterationName.toStdString().c_str());
       HOMARD_UTILS::updateObjBrowser();
     }
   }