Dump Python extension

This commit is contained in:
ouv 2008-11-24 12:44:17 +00:00
parent 8f8acbd807
commit f86d14b0c0
2 changed files with 19 additions and 11 deletions

View File

@ -73,11 +73,14 @@ Engines::TMPFile* GEOM_Gen_i::DumpPython(CORBA::Object_ptr theStudy,
vector<TVariable> 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<TCollection_AsciiString,vector<TVariable> >((char*)anEntry,aVariables));

View File

@ -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");