//=============================================================================
/*!
- * 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]);
- }
- }
+//=============================================================================
+/*!
+ * 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++ )
+ {
+ 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 );
}
- */
- return aResult._retn();
+ 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();
- }
}
//=============================================================================