Salome HOME
Fix mixed Python dump of a new and a closed study
authoreap <eap@opencascade.com>
Wed, 1 Aug 2018 15:41:11 +0000 (18:41 +0300)
committereap <eap@opencascade.com>
Wed, 1 Aug 2018 15:41:11 +0000 (18:41 +0300)
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
src/SMESH_I/SMESH_Gen_i.cxx
src/SMESH_I/SMESH_PythonDump.cxx

index b0cce7c3738547364771e2dc9eb085da92b382a5..36534f31ad8da3093cd5d62c3065f7f3c60e9dfe 100644 (file)
@@ -1120,7 +1120,7 @@ bool SMESHGUI_GroupDlg::onApply()
 
       myGroupOnFilter = myMesh->CreateGroupFromFilter(aType,
                                                       myName->text().toUtf8(),
-                                                     myFilter);
+                                                      myFilter);
       resultGroup = SMESH::SMESH_GroupBase::_narrow( myGroupOnFilter );
       isCreation = true;
     }
index 5724095a89cc6d565c0e9a3823c29d723704b488..e6ebe05e91a43b03b87159ff1fbf7cdd2afd3ffd 100644 (file)
@@ -4971,6 +4971,9 @@ void SMESH_Gen_i::Close( SALOMEDS::SComponent_ptr theComponent )
   // remove the tmp files meshes are loaded from
   SMESH_PreMeshInfo::RemoveStudyFiles_TMP_METHOD( theComponent );
 
+  // Clean trace of API methods calls
+  CleanPythonTrace();
+
   return;
 }
 
index e4dfed32c2ac8a8ff297a2b9342974c1f26d42f2..7ffedf1d4eeed4e0b958bf6f8a7778027a3e1779 100644 (file)
@@ -678,33 +678,33 @@ namespace SMESH
     cout << "Exception in SMESH_Gen_i::DumpPython(): " << text << endl;
 #endif
   }
-}
 
 //=======================================================================
 //function : RemoveTabulation
 //purpose  : 
 //=======================================================================
-void RemoveTabulation( TCollection_AsciiString& theScript )
-{
-  std::string aString( theScript.ToCString() );
-  std::string::size_type aPos = 0;
-  while( aPos < aString.length() )
+  void RemoveTabulation( TCollection_AsciiString& theScript )
   {
-    aPos = aString.find( "\n\t", aPos );
-    if( aPos == std::string::npos )
-      break;
-    aString.replace( aPos, 2, "\n" );
-    aPos++;
+    std::string aString( theScript.ToCString() );
+    std::string::size_type aPos = 0;
+    while( aPos < aString.length() )
+    {
+      aPos = aString.find( "\n\t", aPos );
+      if( aPos == std::string::npos )
+        break;
+      aString.replace( aPos, 2, "\n" );
+      aPos++;
+    }
+    theScript = aString.c_str();
   }
-  theScript = aString.c_str();
 }
 
 //=======================================================================
 //function : DumpPython
 //purpose  :
 //=======================================================================
-Engines::TMPFile* SMESH_Gen_i::DumpPython (CORBA::Boolean isPublished,
-                                           CORBA::Boolean isMultiFile,
+Engines::TMPFile* SMESH_Gen_i::DumpPython (CORBA::Boolean  isPublished,
+                                           CORBA::Boolean  isMultiFile,
                                            CORBA::Boolean& isValidScript)
 {
   SALOMEDS::Study_var aStudy = getStudyServant();
@@ -995,10 +995,9 @@ TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
   std::list< TCollection_AsciiString > lines; // lines of a script
   std::list< TCollection_AsciiString >::iterator linesIt;
   
-  if ( isPublished )
-    lines.push_back(  aSMESHGen + " = smeshBuilder.New()" );
-   else
-    lines.push_back(  aSMESHGen + " = smeshBuilder.New(False)" );
+  lines.push_back(  aSMESHGen + " = smeshBuilder.New()" );
+  if ( !isPublished )
+    lines.push_back(  aSMESHGen + ".SetEnablePublish( False )" );
   lines.push_back( helper + "aFilterManager = " + aSMESHGen + ".CreateFilterManager()" );
   lines.push_back( helper + "aMeasurements = "  + aSMESHGen + ".CreateMeasurements()" );