std::vector<TObjectData>& theObjectData,
TVariablesList theVariables,
bool isPublished,
+ bool isMultiFile,
bool& aValidScript)
{
// Set "C" numeric locale to save numbers correctly
TCollection_AsciiString aScript;
Handle(TDocStd_Document) aDoc = GetDocument(theDocID);
- if (aDoc.IsNull()) return TCollection_AsciiString("def RebuildData(theStudy): pass\n");
+ if (aDoc.IsNull())
+ {
+ TCollection_AsciiString anEmptyScript;
+ if( isMultiFile )
+ anEmptyScript = "def RebuildData(theStudy): pass\n";
+ return anEmptyScript;
+ }
aScript = "import GEOM\n";
aScript += "import geompy\n";
aScript += "import math\n";
aScript += "import SALOMEDS\n\n";
- aScript += "def RebuildData(theStudy):";
+ if( isMultiFile )
+ aScript += "def RebuildData(theStudy):";
+ else
+ aScript += "theStudy = salome.myStudy";
aScript += "\n\tgeompy.init_geom(theStudy)\n";
AddTextures(theDocID, aScript);
#include <vector>
#include <string>
+//=======================================================================
+//function : RemoveTabulation
+//purpose :
+//=======================================================================
+void RemoveTabulation( TCollection_AsciiString& theScript )
+{
+ 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();
+}
+
//=======================================================================
//function : DumpPython
//purpose :
Engines::TMPFile* GEOM_Gen_i::DumpPython(CORBA::Object_ptr theStudy,
CORBA::Boolean isPublished,
- CORBA::Boolean& isValidScript)
+ CORBA::Boolean isMultiFile,
+ CORBA::Boolean& isValidScript)
{
SALOMEDS::Study_var aStudy = SALOMEDS::Study::_narrow(theStudy);
if(CORBA::is_nil(aStudy))
}
TCollection_AsciiString aScript;
- aScript += _impl->DumpPython(aStudy->StudyId(), objectDataVec, aVariableMap, isPublished, isValidScript);
+ aScript += _impl->DumpPython(aStudy->StudyId(), objectDataVec, aVariableMap, isPublished, isMultiFile, isValidScript);
if (isPublished)
{
}
}
- aScript += "\n\tpass\n";
+ if( isMultiFile )
+ aScript += "\n\tpass";
+ aScript += "\n";
+
+ if( !isMultiFile ) // remove unnecessary tabulation
+ RemoveTabulation( aScript );
int aLen = aScript.Length();
unsigned char* aBuffer = new unsigned char[aLen+1];