Salome HOME
Gestion des préférences entre HOMARD_GEN et le GUI
authornicolas <nicolas>
Thu, 16 Jan 2014 08:40:00 +0000 (08:40 +0000)
committernicolas <nicolas>
Thu, 16 Jan 2014 08:40:00 +0000 (08:40 +0000)
15 files changed:
idl/HOMARD_Gen.idl
src/HOMARDGUI/HOMARDGUI.cxx
src/HOMARDGUI/HOMARDGUI.h
src/HOMARDGUI/MonCreateBoundaryAn.cxx
src/HOMARDGUI/MonCreateBoundaryDi.cxx
src/HOMARDGUI/MonCreateCase.cxx
src/HOMARDGUI/MonCreateHypothesis.cxx
src/HOMARDGUI/MonCreateIteration.cxx
src/HOMARDGUI/MonCreateListGroup.cxx
src/HOMARDGUI/MonCreateYACS.cxx
src/HOMARDGUI/MonCreateZone.cxx
src/HOMARDGUI/MonIterInfo.cxx
src/HOMARDGUI/MonMeshInfo.cxx
src/HOMARDGUI/MonPursueIteration.cxx
src/HOMARD_I/HOMARD_Gen_i.cxx

index 8ae213db0b6225c3577c127578ec5f4a95465f32..2331b3050742b2e5a5da9c80b309de03bd71abfb 100644 (file)
@@ -200,6 +200,7 @@ module HOMARD
 //
 
 //
+//  La creation des schemas YACS
     HOMARD_YACS CreateYACSSchema(in string YACSName, in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
     raises(SALOME::SALOME_Exception);
     long YACSWrite (in string YACSName)                    raises (SALOME::SALOME_Exception);
@@ -207,12 +208,18 @@ module HOMARD
     raises(SALOME::SALOME_Exception);
 
 //
+//  Les preferences
     void SetLanguageShort (in string LanguageShort)        raises (SALOME::SALOME_Exception);
     string GetLanguageShort ()                             raises (SALOME::SALOME_Exception);
     void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
     raises (SALOME::SALOME_Exception);
     long GetPublisMeshIN ()                                raises (SALOME::SALOME_Exception);
     long GetPublisMeshOUT ()                               raises (SALOME::SALOME_Exception);
+    void SetYACSMaximum(in long YACSMaxIter, in long YACSMaxNode, in long YACSMaxElem)
+    raises (SALOME::SALOME_Exception);
+    long GetYACSMaxIter()                                  raises (SALOME::SALOME_Exception);
+    long GetYACSMaxNode()                                  raises (SALOME::SALOME_Exception);
+    long GetYACSMaxElem()                                  raises (SALOME::SALOME_Exception);
   };
 };
 
index c116df3d2a9ffc08011e9b43ac91914c604930e8..f5f5004cb0577575a33d35ad485ee86debdf689b 100644 (file)
@@ -91,8 +91,6 @@ HOMARDGUI::HOMARDGUI(const QString&) :
            SalomeApp_Module( "HOMARD" ) // default name
 {
 }
-
-
 //=======================================================================
 // function : ~HOMARDGUI()
 // purpose  : Destructor
@@ -201,17 +199,17 @@ void HOMARDGUI::createPreferences()
   Bloc = addPreference( tr( "PREF_YACS_MAX" ), Onglet );
   setPreferenceProperty( Bloc, "columns", 1 );
 
-  Pref = addPreference( tr( "PREF_YACS_MAX_ITER" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "max_iter" );
+  Pref = addPreference( tr( "PREF_YACS_MAX_ITER" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_iter" );
   setPreferenceProperty( Pref, "min",  0 );
   setPreferenceProperty( Pref, "max",  100000000 );
   setPreferenceProperty( Pref, "step", 1 );
 
-  Pref = addPreference( tr( "PREF_YACS_MAX_NODE" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "max_node" );
+  Pref = addPreference( tr( "PREF_YACS_MAX_NODE" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_node" );
   setPreferenceProperty( Pref, "min",  0 );
   setPreferenceProperty( Pref, "max",  100000000 );
   setPreferenceProperty( Pref, "step", 1000 );
 
-  Pref = addPreference( tr( "PREF_YACS_MAX_ELEM" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "max_elem" );
+  Pref = addPreference( tr( "PREF_YACS_MAX_ELEM" ), Bloc, LightApp_Preferences::IntSpin, "HOMARD", "yacs_max_elem" );
   setPreferenceProperty( Pref, "min",  0 );
   setPreferenceProperty( Pref, "max",  100000000 );
   setPreferenceProperty( Pref, "step", 1000 );
@@ -253,31 +251,66 @@ void HOMARDGUI::createMenus()
 
 //================================================
 // function : recupPreferences
+// Pour chaque valeur, le defaut est la valeur definie dans HOMARD_Gen
+// . Si la recuperation dans config/salome s'est bien passee a la creation de HOMARD_Gen,
+//   ces valeurs sont les valeurs definies.
+// . Si cela ne s'est pas bien passe, ce sont les valeurs par defaut de HOMARD_Gen
 //================================================
 void HOMARDGUI::recupPreferences()
 {
   MESSAGE("recupPreferences")
 //
-// . La langue
+// A. Declarations
+//
+  SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( application() );
+  HOMARD::HOMARD_Gen_var homardGen = HOMARDGUI::InitHOMARDGen(app);
+  int defaut_i ;
+  std::string defaut_s ;
+//
+// B. Les valeurs
+// B.1. La langue
+//
+  defaut_s = homardGen->GetLanguageShort();
   SUIT_ResourceMgr* resMgr = getApp()->resourceMgr();
-  _LanguageShort = resMgr->stringValue("language", "language", "en");
-  MESSAGE("_LanguageShort " << _LanguageShort.toStdString().c_str() );
+  _LanguageShort = resMgr->stringValue("language", "language", QString(defaut_s.c_str()));
 //
-// . Les publications
-  _publish_mesh_in = resMgr->booleanValue("HOMARD", "publish_mesh_in", false );
-  int pu_m_in = 0 ;
-  if ( _publish_mesh_in ) pu_m_in = 1 ;
+// B.2. Les publications
+  bool publish_mesh ;
 //
-  _publish_mesh_out = resMgr->booleanValue("HOMARD", "publish_mesh_out", false );
-  int pu_m_out = 0 ;
-  if ( _publish_mesh_out ) pu_m_out = 1 ;
-  MESSAGE("_publish_mesh_in " << _publish_mesh_in << ", _publish_mesh_out " << _publish_mesh_out );
+  _PublisMeshIN = homardGen->GetPublisMeshIN();
+  if ( _PublisMeshIN == 1 ) { publish_mesh = true ;  }
+  else                      { publish_mesh = false ; }
+  publish_mesh = resMgr->booleanValue("HOMARD", "publish_mesh_in", publish_mesh );
+  if ( publish_mesh ) { _PublisMeshIN = 1 ; }
+  else                { _PublisMeshIN = 0 ; }
+//
+  _PublisMeshOUT = homardGen->GetPublisMeshOUT();
+  if ( _PublisMeshOUT == 1 ) { publish_mesh = true ;  }
+  else                       { publish_mesh = false ; }
+  publish_mesh = resMgr->booleanValue("HOMARD", "publish_mesh_out", publish_mesh );
+  if ( publish_mesh ) { _PublisMeshOUT = 1 ; }
+  else                { _PublisMeshOUT = 0 ; }
+//
+// B.3. Les maximum pour YACS
+//
+  defaut_i = homardGen->GetYACSMaxIter();
+  _YACSMaxIter = resMgr->integerValue("HOMARD", "yacs_max_iter", defaut_i );
+//
+  defaut_i = homardGen->GetYACSMaxNode();
+  _YACSMaxNode = resMgr->integerValue("HOMARD", "yacs_max_node", defaut_i );
+//
+  defaut_i = homardGen->GetYACSMaxElem();
+  _YACSMaxElem = resMgr->integerValue("HOMARD", "yacs_max_elem", defaut_i );
+//
+// C. Enregistrement dans l'objet general
+//
+  MESSAGE ("Enregistrement de LanguageShort = " << _LanguageShort.toStdString().c_str() );
+  MESSAGE ("Enregistrement de PublisMeshIN = " << _PublisMeshIN<<", PublisMeshOUT = "<< _PublisMeshOUT);
+  MESSAGE ("Enregistrement de YACSMaxIter = " << _YACSMaxIter<<", YACSMaxNode = "<< _YACSMaxNode<<", YACSMaxElem = "<< _YACSMaxElem);
 //
-// . Enregistrement dans l'objet general
-  SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( application() );
-  HOMARD::HOMARD_Gen_var homardGen = HOMARDGUI::InitHOMARDGen(app);
   homardGen->SetLanguageShort(_LanguageShort.toStdString().c_str());
-  homardGen->SetPublisMesh(pu_m_in, pu_m_out);
+  homardGen->SetPublisMesh(_PublisMeshIN, _PublisMeshOUT);
+  homardGen->SetYACSMaximum(_YACSMaxIter, _YACSMaxNode, _YACSMaxElem);
 }
 
 //================================================
@@ -287,13 +320,10 @@ void HOMARDGUI::OnGUIEvent()
   MESSAGE("OnGUIEvent()")
   setOrb();
   const QObject* obj = sender();
-  if ( !obj || !obj->inherits( "QAction" ) )
-       return;
+  if ( !obj || !obj->inherits( "QAction" ) ) { return; }
   int id = actionId((QAction*)obj);
-  bool ret;
-  if ( id != -1 )
-      ret = OnGUIEvent( id );
-  MESSAGE("************** End of OnGUIEvent()");
+  if ( id != -1 ) { bool ret = OnGUIEvent( id ); }
+  MESSAGE("Fin de OnGUIEvent()");
 }
 
 //=======================================================================
@@ -302,11 +332,13 @@ void HOMARDGUI::OnGUIEvent()
 bool HOMARDGUI::OnGUIEvent (int theCommandID)
 {
   MESSAGE("OnGUIEvent avec theCommandID = "<<theCommandID);
+// A. Controles
   SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( application() );
   if ( !app ) return false;
 
   SalomeApp_Study* stud = dynamic_cast<SalomeApp_Study*> ( app->activeStudy() );
-  if ( !stud ) {
+  if ( !stud )
+  {
     MESSAGE ( "FAILED to cast active study to SalomeApp_Study" );
     return false;
   }
@@ -326,7 +358,7 @@ bool HOMARDGUI::OnGUIEvent (int theCommandID)
    }
   getApp()->updateObjectBrowser();
 
-
+// B. Choix selon les commandes
   SCRUTE(theCommandID);
   switch (theCommandID)
   {
index 2bca7287e8947dc2705489964466ffd25e662dcd..8689ac6d8cab817ae019237ec8f1f420cede0a0c 100644 (file)
@@ -95,8 +95,11 @@ private:
    int anId;
    QString _ObjectName;
    QString _LanguageShort ;
-   bool _publish_mesh_in ;
-   bool _publish_mesh_out ;
+   int _PublisMeshIN ;
+   int _PublisMeshOUT ;
+   int _YACSMaxIter ;
+   int _YACSMaxNode ;
+   int _YACSMaxElem ;
 };
 
 #endif
index 194569cb4868574586b4c3310fc070307ef572d6..52b7a15cd5467af832be72e3638e0b3816290bca 100644 (file)
@@ -525,8 +525,8 @@ void MonCreateBoundaryAn::PushOnOK()
 void MonCreateBoundaryAn::PushOnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("un-cylindre"), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("un-cylindre"), QString(LanguageShort.c_str()));
 }
 
 // -----------------------------------
index 3af0880084f66ebccd4abe8f5daf8209c7815751..2385da0c75ff56ef7af3c109377f22ef5117d0d8 100644 (file)
@@ -139,8 +139,8 @@ void MonCreateBoundaryDi::PushOnOK()
 void MonCreateBoundaryDi::PushOnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort.c_str()));
 }
 // ------------------------------------------------------------------------
 void MonCreateBoundaryDi::AssocieLesGroupes()
index 417bae8f92d4e44e0ddd4fa283d4f411d3a5420e..39ca08b35d726601c1ee55591386dfa5ce1c0ccd 100644 (file)
@@ -316,8 +316,8 @@ void MonCreateCase::PushOnOK()
 void MonCreateCase::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 MonCreateCase::SetNewName()
@@ -443,8 +443,8 @@ void MonCreateCase::PushBoundaryDiEdit()
 void MonCreateCase::PushBoundaryDiHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-discrete"), QString(LanguageShort.c_str()));
 }
 // ------------------------------------------------------------------------
 void MonCreateCase::SetBoundaryA()
@@ -523,8 +523,8 @@ void MonCreateCase::PushBoundaryAnEdit()
 void MonCreateCase::PushBoundaryAnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-analytique"), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_boundary.html"), QString("frontiere-analytique"), QString(LanguageShort.c_str()));
 }
 // ------------------------------------------------------------------------
 void MonCreateCase::CaseNameChanged()
index 21c52bc2c15710ef5e4c4928ecb2f8b882381c47..629dca87f53b4db28e59127c89eea963697b2a22 100644 (file)
@@ -207,8 +207,8 @@ void MonCreateHypothesis::PushOnOK()
 void MonCreateHypothesis::PushOnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort.c_str()));
 }
 // -------------------------------------------------
 void MonCreateHypothesis::SetNewName()
index 5a1d967d7b2025a9352b8ff581933eb452c43e8a..a86e9e786911304bcc06d9786806c8d57676a6da 100644 (file)
@@ -190,8 +190,8 @@ void MonCreateIteration::PushOnOK()
 void MonCreateIteration::PushOnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_iteration.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_iteration.html"), QString(""), QString(LanguageShort.c_str()));
 }
 // ------------------------------------------------------------------------
 void MonCreateIteration::SetIterParentName()
index d7442211d836d714c0eb7e29846661ff3529f303..59d8e3587a4f36af85fdb0229a43923c1eb2fbcc 100644 (file)
@@ -115,8 +115,8 @@ void MonCreateListGroup::PushOnOK()
 void MonCreateListGroup::PushOnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_hypothese.html"), QString(""), QString(LanguageShort.c_str()));
 }
 // ------------------------------------------------------------------------
 void MonCreateListGroup::InitGroupes()
index 2463febe0c2919dce5307ef11920627a4d5b93fd..8c6aa06273ada0ac9c98ae59be9544cea56d9d70 100644 (file)
@@ -262,8 +262,8 @@ void MonCreateYACS::PushOnOK()
 void MonCreateYACS::PushOnHelp()
 //-------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("yacs.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("yacs.html"), QString(""), QString(LanguageShort.c_str()));
 }
 // -------------------------------------------------
 void MonCreateYACS::SetNewName()
index 372459ae41d4a713c4e7f8674ab0f2594c26f453..dc4a38b506aa9d10e69a7d3c1e5bc17b4076958e 100644 (file)
@@ -580,8 +580,8 @@ void MonCreateZone::PushOnOK()
 void MonCreateZone::PushOnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_zone.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_zone.html"), QString(""), QString(LanguageShort.c_str()));
 }
 
 // -----------------------------------
index f2c4ce3e5659fd3d0d59f5d20edc9d848d9d4bd5..6f903fe3f4141603d3184654a8a6a6322b9926f9 100644 (file)
@@ -130,8 +130,8 @@ void MonIterInfo::PushOnOK()
 void MonIterInfo::PushOnHelp()
 //-------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_mesh_info.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_mesh_info.html"), QString(""), QString(LanguageShort.c_str()));
 }
 // ------------------------------------------------------------------------
 void MonIterInfo::SetBlockSize()
index 143f1bd6e1773ca28aac67900de0af4e1ace1908..e09886fc03b110483d20608a59aa9168299db060 100644 (file)
@@ -190,8 +190,8 @@ void MonMeshInfo::PushOnOK()
 void MonMeshInfo::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 MonMeshInfo::SetNewCaseName()
index e441e581e2ddd47267794202154f898fa348eee3..22ac05dc93a8c66c30787531a2704af28bea7c4e 100644 (file)
@@ -221,8 +221,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()
index 53f174f17fd5e0c7bf6b8369be2bc106cd6e9bbb..8cab8d1e82dd52c6621785293c11b7ca4aa2a194 100755 (executable)
@@ -4997,7 +4997,7 @@ void HOMARD_Gen_i::SetPreferences( )
   bool ok = true ;
 
   // A. Les valeurs par defaut ; elles doivent etre coherentes
-  std::string LanguageShort = "fr" ;
+  std::string LanguageShort = "en" ;
   int PublisMeshIN = 0 ;
   int PublisMeshOUT = 0 ;
   int YACSMaxIter = 0 ;
@@ -5078,7 +5078,7 @@ void HOMARD_Gen_i::SetPreferences( )
           ligne_bis >> mot_cle ;
           std::string chaine2 = GetStringInTexte ( mot_cle, "\"", 1 ) ;
           chaine2 = GetStringInTexte ( chaine2,  "\"", 0 ) ;
-//           MESSAGE("chaine2 = "<<chaine2<<"|");
+          MESSAGE("chaine2 = "<<chaine2<<"|");
           // 3.1. La langue
           if ( section_langue )
           { if ( chaine2 == "language" ) { LanguageShort = chaine ; } }
@@ -5090,9 +5090,9 @@ void HOMARD_Gen_i::SetPreferences( )
             if ( chaine2 == "publish_mesh_in" )  { chainebis >> PublisMeshIN ; }
             if ( chaine2 == "publish_mesh_out" ) { chainebis >> PublisMeshOUT ; }
             // 3.2.2. Les maximum pour YACS
-            if ( chaine2 == "max_iter" ) { chainebis >> YACSMaxIter ; }
-            if ( chaine2 == "max_node" ) { chainebis >> YACSMaxNode ; }
-            if ( chaine2 == "max_elem" ) { chainebis >> YACSMaxElem ; }
+            if ( chaine2 == "yacs_max_iter" ) { chainebis >> YACSMaxIter ; }
+            if ( chaine2 == "yacs_max_node" ) { chainebis >> YACSMaxNode ; }
+            if ( chaine2 == "yacs_max_elem" ) { chainebis >> YACSMaxElem ; }
           }
         }
       }