Salome HOME
Merge from BR_V5_IMP_P8
[modules/smesh.git] / src / SMESH_I / SMESH_DumpPython.cxx
index e7a7a2952108e1039225c5f72c6f265164d259b8..ad409b786361820fdeee672c71dc1fbaae27c42b 100644 (file)
@@ -61,10 +61,10 @@ namespace SMESH
   {
     if(--myCounter == 0){
       SMESH_Gen_i* aSMESHGen = SMESH_Gen_i::GetSMESHGen();
+      std::string aString = myStream.str();
+      TCollection_AsciiString aCollection(Standard_CString(aString.c_str()));
       SALOMEDS::Study_ptr aStudy = aSMESHGen->GetCurrentStudy();
-      if(!aStudy->_is_nil()){
-       std::string aString = myStream.str();
-       TCollection_AsciiString aCollection(Standard_CString(aString.c_str()));
+      if(!aStudy->_is_nil() && !aCollection.IsEmpty()){
        aSMESHGen->AddToPythonScript(aStudy->StudyId(),aCollection);
        if(MYDEBUG) MESSAGE(aString);
       }
@@ -226,6 +226,7 @@ namespace SMESH
       case FT_Area:             myStream<< "aArea";             break;
       case FT_FreeBorders:      myStream<< "aFreeBorders";      break;
       case FT_FreeEdges:        myStream<< "aFreeEdges";        break;
+      case FT_FreeNodes:        myStream<< "aFreeNodes";        break;
       case FT_MultiConnection:  myStream<< "aMultiConnection";  break;
       case FT_MultiConnection2D:myStream<< "aMultiConnection2D";break;
       case FT_Length:           myStream<< "aLength";           break;
@@ -686,7 +687,7 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
   // Some objects are wrapped with python classes and
   // Resource_DataMapOfAsciiStringAsciiString holds methods returning wrapped objects
   Resource_DataMapOfAsciiStringAsciiString anEntry2AccessorMethod;
-  aScript = SMESH_2smeshpy::ConvertScript( aScript, anEntry2AccessorMethod );
+  aScript = SMESH_2smeshpy::ConvertScript( aScript, anEntry2AccessorMethod, theObjectNames );
 
   // Find entries to be replaced by names
   Handle(TColStd_HSequenceOfInteger) aSeq = FindEntries(aScript);
@@ -834,8 +835,6 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
 
   // Set object names
   anUpdatedScript += "\n\t## set object names";
-  anUpdatedScript += helper + "  \n\tisGUIMode = " + isPublished;
-  anUpdatedScript += "\n\tif isGUIMode and salome.sg.hasDesktop():";
 //   anUpdatedScript += "\n\t\tsmeshgui = salome.ImportComponentGUI(\"SMESH\")";
 //   anUpdatedScript += "\n\t\tsmeshgui.Init(theStudy._get_StudyId())";
 //   anUpdatedScript += "\n";
@@ -854,13 +853,14 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
       aName = theObjectNames.Find(anEntry);
       aGUIName = theNames.Find(anEntry);
       mapEntries.Bind(anEntry, aName);
-      anUpdatedScript += helper + "\n\t\t" + aSmeshpy + ".SetName(" + aName;
+      anUpdatedScript += helper + "\n\t" + aSMESHGen + ".SetName(" + aName;
       if ( anEntry2AccessorMethod.IsBound( anEntry ) )
         anUpdatedScript += helper + "." + anEntry2AccessorMethod( anEntry );
       anUpdatedScript += helper + ", '" + aGUIName + "')";
     }
   }
-  anUpdatedScript += "\n\n\t\tsalome.sg.updateObjBrowser(0)";
+  anUpdatedScript += "\n\tif salome.sg.hasDesktop():";
+  anUpdatedScript += "\n\t\tsalome.sg.updateObjBrowser(0)";
 
   // -----------------------------------------------------------------
   // store visual properties of displayed objects
@@ -876,7 +876,6 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
       CORBA::string_free(script);
     }
   }
-
   anUpdatedScript += "\n\n\tpass\n";
 
   // -----------------------------------------------------------------