Salome HOME
Implementation of GetEntry(), Set/GetParameters()
[modules/smesh.git] / src / SMESH_I / SMESH_Hypothesis_i.cxx
index cacae2503e0b2bb8f947f8f38241fe3fb4eca2ff..dcba457ae964b785b0ad4baae63989e5462c9c52 100644 (file)
@@ -140,101 +140,78 @@ bool SMESH_Hypothesis_i::IsPublished(){
 
 //=============================================================================
 /*!
- *  SMESH_Hypothesis_i::SetParameters()
- *
+ *  SMESH_Hypothesis_i::GetEntry()
  */
 //=============================================================================
-void SMESH_Hypothesis_i::SetParameters(const char* theParameters)
+char* SMESH_Hypothesis_i::GetEntry()
 {
-  SMESH_Gen_i *gen = SMESH_Gen_i::GetSMESHGen();
-  char * aParameters = CORBA::string_dup(theParameters);
-  if(gen){
-    if(IsPublished()) {
-      SMESH_Gen_i::GetSMESHGen()->UpdateParameters(SMESH::SMESH_Hypothesis::_narrow(_this()),aParameters);
-    }
-    else {
-      myBaseImpl->SetParameters(gen->ParseParameters(aParameters));
-    }
-  }
+  char aBuf[100];
+  sprintf( aBuf, "%i", GetId() );
+  return CORBA::string_dup( aBuf );
 }
 
 //=============================================================================
 /*!
- *  SMESH_Hypothesis_i::GetParameters()
- *
+ *  SMESH_Hypothesis_i::GetComponent()
  */
 //=============================================================================
-char* SMESH_Hypothesis_i::GetParameters()
+char* SMESH_Hypothesis_i::GetComponent()
 {
-  SMESH_Gen_i *gen = SMESH_Gen_i::GetSMESHGen();
-  char* aResult;
-  if(IsPublished()) {
-    MESSAGE("SMESH_Hypothesis_i::GetParameters() : Get Parameters from SObject");
-    aResult = gen->GetParameters(SMESH::SMESH_Hypothesis::_narrow(_this()));
-  }
-  else {
-    MESSAGE("SMESH_Hypothesis_i::GetParameters() : Get local parameters");
-    aResult = myBaseImpl->GetParameters(); 
-  }
-  return CORBA::string_dup(aResult);
+  return CORBA::string_dup( "SMESH" );
 }
 
 //=============================================================================
 /*!
- *  SMESH_Hypothesis_i::GetLastParameters()
- *
+ *  SMESH_Hypothesis_i::IsValid()
  */
 //=============================================================================
-SMESH::ListOfParameters* SMESH_Hypothesis_i::GetLastParameters()
+CORBA::Boolean SMESH_Hypothesis_i::IsValid()
 {
-  SMESH::ListOfParameters_var aResult = new SMESH::ListOfParameters();
-  /* ouv: temporarily disabled
-  SMESH_Gen_i *gen = SMESH_Gen_i::GetSMESHGen();
-  if(gen) {
-    char *aParameters;
-    if(IsPublished())
-     aParameters = GetParameters();
-    else
-      aParameters = myBaseImpl->GetLastParameters();
+  return true;
+}
 
-    SALOMEDS::Study_ptr aStudy = gen->GetCurrentStudy();
-    if(!aStudy->_is_nil()) {
-      SALOMEDS::ListOfListOfStrings_var aSections = aStudy->ParseVariables(aParameters); 
-      if(aSections->length() > 0) {
-        SALOMEDS::ListOfStrings aVars = aSections[aSections->length()-1];
-        aResult->length(aVars.length());
-        for(int i = 0;i < aVars.length();i++)
-          aResult[i] = CORBA::string_dup( aVars[i]);
-      }
-    }
-  }
-  */
-  return aResult._retn();
+//=============================================================================
+/*!
+ *  SMESH_Hypothesis_i::SetParameters()
+ *
+ */
+//=============================================================================
+//void SMESH_Hypothesis_i::SetParameters(const char* theParameters)
+void SMESH_Hypothesis_i::SetParameters( SALOME::Notebook_ptr theNotebook, const SALOME::StringArray& theParameters )
+{
+  std::list<std::string> aParams;
+  int n = theParameters.length();
+  for( int i=0; i<n; i++ )
+    aParams.push_back( theParameters[i].in() );
+  myBaseImpl->SetParameters( aParams );
 }
 
 //=============================================================================
 /*!
- *  SMESH_Hypothesis_i::SetLastParameters()
+ *  SMESH_Hypothesis_i::GetParameters()
  *
  */
 //=============================================================================
-void SMESH_Hypothesis_i::SetLastParameters(const char* theParameters)
+//char* SMESH_Hypothesis_i::GetParameters()
+SALOME::StringArray* SMESH_Hypothesis_i::GetParameters()
 {
-  if(!IsPublished()) {
-    myBaseImpl->SetLastParameters(theParameters);
-  }
+  std::list<std::string> aParams = myBaseImpl->GetParameters();
+  SALOME::StringArray_var aRes = new SALOME::StringArray();
+  aRes->length( aParams.size() );
+  std::list<std::string>::const_iterator it = aParams.begin(), last = aParams.end();
+  for( int i=0; it!=last; it++, i++ )
+    aRes[i] = CORBA::string_dup( it->c_str() );
+  return aRes._retn();
 }
+
 //=============================================================================
 /*!
- *  SMESH_Hypothesis_i::ClearParameters()
+ * SMESH_Hypothesis_i::Update()
  *
  */
 //=============================================================================
-void SMESH_Hypothesis_i::ClearParameters()
+void SMESH_Hypothesis_i::Update( SALOME::Notebook_ptr theNotebook )
 {
-  if(!IsPublished()) {
-    myBaseImpl->ClearParameters();
-  }
 }
 
 //=============================================================================