Salome HOME
Debug
[modules/smesh.git] / src / SMESH_I / SMESH_Hypothesis_i.cxx
index 5202b4abfc648e2d8bd7165ce3b3c1ef56ae3155..8133237dbc99510cf1f4d3b24fca13fc1a1ecd9b 100644 (file)
@@ -138,6 +138,38 @@ bool SMESH_Hypothesis_i::IsPublished(){
   return res;
 }
 
+//=============================================================================
+/*!
+ *  SMESH_Hypothesis_i::GetEntry()
+ */
+//=============================================================================
+char* SMESH_Hypothesis_i::GetEntry()
+{
+  char aBuf[100];
+  sprintf( aBuf, "%i", GetId() );
+  return CORBA::string_dup( aBuf );
+}
+
+//=============================================================================
+/*!
+ *  SMESH_Hypothesis_i::GetComponent()
+ */
+//=============================================================================
+char* SMESH_Hypothesis_i::GetComponent()
+{
+  return CORBA::string_dup( "SMESH" );
+}
+
+//=============================================================================
+/*!
+ *  SMESH_Hypothesis_i::IsValid()
+ */
+//=============================================================================
+CORBA::Boolean SMESH_Hypothesis_i::IsValid()
+{
+  return true;
+}
+
 //=============================================================================
 /*!
  *  SMESH_Hypothesis_i::SetParameters()
@@ -147,18 +179,18 @@ bool SMESH_Hypothesis_i::IsPublished(){
 //void SMESH_Hypothesis_i::SetParameters(const char* theParameters)
 void SMESH_Hypothesis_i::SetParameters( SALOME::Notebook_ptr theNotebook, const SALOME::StringArray& theParameters )
 {
-  /*
-  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));
-    }
+  std::list<std::string> aParams;
+  int n = theParameters.length();
+  for( int i=0; i<n; i++ )
+  {
+    std::string aParam = CORBA::string_dup( theParameters[i] );
+    aParams.push_back( aParam );
+    
+    SALOME::Parameter_ptr aParamPtr = theNotebook->GetParameter( aParam.c_str() );
+    if( !CORBA::is_nil( aParamPtr ) )
+      theNotebook->AddDependency( _this(), aParamPtr );
   }
-  */
+  myBaseImpl->SetParameters( aParams );
 }
 
 //=============================================================================
@@ -170,20 +202,23 @@ void SMESH_Hypothesis_i::SetParameters( SALOME::Notebook_ptr theNotebook, const
 //char* SMESH_Hypothesis_i::GetParameters()
 SALOME::StringArray* SMESH_Hypothesis_i::GetParameters()
 {
-  /*
-  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 NULL;
+  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::Update()
+ *
+ */
+//=============================================================================
+void SMESH_Hypothesis_i::Update( SALOME::Notebook_ptr theNotebook )
+{
 }
 
 //=============================================================================