From f86d14b0c00a137393975aa70c6f3446c882bc93 Mon Sep 17 00:00:00 2001 From: ouv Date: Mon, 24 Nov 2008 12:44:17 +0000 Subject: [PATCH] Dump Python extension --- src/GEOM_I/GEOM_DumpPython.cc | 13 ++++++++----- src/GEOM_I/GEOM_Gen_i.cc | 17 +++++++++++------ 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/GEOM_I/GEOM_DumpPython.cc b/src/GEOM_I/GEOM_DumpPython.cc index c3f7b5da9..25ffab45b 100644 --- a/src/GEOM_I/GEOM_DumpPython.cc +++ b/src/GEOM_I/GEOM_DumpPython.cc @@ -73,11 +73,14 @@ Engines::TMPFile* GEOM_Gen_i::DumpPython(CORBA::Object_ptr theStudy, vector aVariables; if(aValue->FindAttribute(anAttr,"AttributeString")){ anAttrStr = SALOMEDS::AttributeString::_narrow(anAttr); - SALOMEDS::ListOfStrings_var aListOfVars = aStudy->ParseVariables(anAttrStr->Value()); - for(int i = 0;i < aListOfVars->length();i++) { - bool isVar = aStudy->IsVariable(aListOfVars[i].in()); - TVariable aVar = TVariable( (char*)aListOfVars[i].in(), isVar ); - aVariables.push_back(aVar); + SALOMEDS::ListOfListOfStrings_var aSections = aStudy->ParseVariables(anAttrStr->Value()); + for(int i = 0; i < aSections->length(); i++) { + SALOMEDS::ListOfStrings aListOfVars = aSections[i]; + for(int j = 0; j < aListOfVars.length(); j++) { + bool isVar = aStudy->IsVariable(aListOfVars[j].in()); + TVariable aVar = TVariable( (char*)aListOfVars[j].in(), isVar ); + aVariables.push_back(aVar); + } } } aVariableMap.insert(pair >((char*)anEntry,aVariables)); diff --git a/src/GEOM_I/GEOM_Gen_i.cc b/src/GEOM_I/GEOM_Gen_i.cc index ce76a6fad..6c24a00a1 100644 --- a/src/GEOM_I/GEOM_Gen_i.cc +++ b/src/GEOM_I/GEOM_Gen_i.cc @@ -276,14 +276,19 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy, //Set NoteBook variables used in the object creation bool isFound = false; TCollection_AsciiString aVars; - SALOMEDS::ListOfStrings_var aListOfVars = theStudy->ParseVariables(aShape->GetParameters()); - for(int i = 0, n = aListOfVars->length(); i < n; i++) { - if(theStudy->IsVariable(aListOfVars[i].in())) { - aVars += TCollection_AsciiString(aListOfVars[i].in()); - isFound = true; + SALOMEDS::ListOfListOfStrings_var aSections = theStudy->ParseVariables(aShape->GetParameters()); + for(int i = 0, n = aSections->length(); i < n; i++) { + SALOMEDS::ListOfStrings aListOfVars = aSections[i]; + for(int j = 0, m = aListOfVars.length(); j < m; j++) { + if(theStudy->IsVariable(aListOfVars[j].in())) { + aVars += TCollection_AsciiString(aListOfVars[j].in()); + isFound = true; + } + if(j != m-1) + aVars += ":"; } if(i != n-1) - aVars += ":"; + aVars += "|"; } if(isFound) { anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeString"); -- 2.39.2