Salome HOME
Issue #3237: Allow usage of accented characters in ObjectBrowser
[modules/shaper.git] / src / SHAPERGUI / SHAPERGUI_DataModel.cpp
index b11d10e362294a3a183b62859fb73d9b0dc5f8c7..e6a397b49ec585401c65e1418aa11c6e593a7225 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2020  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -24,6 +24,7 @@
 
 #include <ModelAPI_Session.h>
 #include <ModelAPI_AttributeString.h>
+#include <ModelAPI_AttributeBoolean.h>
 #include <ExchangePlugin_Dump.h>
 
 #include <LightApp_Study.h>
@@ -67,7 +68,6 @@ bool SHAPERGUI_DataModel::open(const QString& thePath, CAM_Study* theStudy, QStr
   LightApp_Study* aStudy = dynamic_cast<LightApp_Study*>( myModule->application()->activeStudy() );
   QString aNewTmpDir = aStudy->GetTmpDir("", false).c_str();
 
-  bool isDone = true;
   QDir aDir(aTmpDir);
   QStringList aFiles = aDir.entryList(QDir::Files);
   QStringList::const_iterator anIt = aFiles.begin(), aLast = aFiles.end();
@@ -85,7 +85,7 @@ bool SHAPERGUI_DataModel::open(const QString& thePath, CAM_Study* theStudy, QStr
 
 bool SHAPERGUI_DataModel::save(QStringList& theFiles)
 {
-  // Pyblish to study before saving of the data model
+  // Publish to study before saving of the data model
   myModule->publishToStudy();
 
   LightApp_DataModel::save( theFiles );
@@ -157,13 +157,13 @@ void SHAPERGUI_DataModel::update(LightApp_DataObject* theObj, LightApp_Study* th
 
 void SHAPERGUI_DataModel::initRootObject()
 {
-  //LightApp_Study* study = dynamic_cast<LightApp_Study*>( module()->application()->activeStudy() );
-  //CAM_ModuleObject *aModelRoot = dynamic_cast<CAM_ModuleObject*>(root());
-  //if(study && aModelRoot == NULL) {
-  //  aModelRoot = createModuleObject( study->root() );
-  //  aModelRoot->setDataModel( this );
-  //  setRoot(aModelRoot);
-  //}
+  LightApp_Study* study = dynamic_cast<LightApp_Study*>( module()->application()->activeStudy() );
+  CAM_ModuleObject *aModelRoot = dynamic_cast<CAM_ModuleObject*>(root());
+  if(study && aModelRoot == NULL) {
+    aModelRoot = createModuleObject( study->root() );
+    aModelRoot->setDataModel( this );
+    setRoot(aModelRoot);
+  }
 }
 
 void SHAPERGUI_DataModel::removeDirectory(const QString& theDirectoryName)
@@ -199,6 +199,10 @@ bool SHAPERGUI_DataModel::dumpPython(const QString& thePath, CAM_Study* theStudy
     if (aAttr.get())
       aAttr->setValue(".py");
 
+#ifdef HAVE_SALOME
+    aFeature->boolean(ExchangePlugin_Dump::EXPORT_VARIABLES_ID())->setValue(true);
+#endif
+
     ModelAPI_Session::get()->finishOperation();
 
     if (QFile::exists(aFileName.c_str())) {
@@ -226,7 +230,7 @@ bool SHAPERGUI_DataModel::dumpPython(const QString& thePath, CAM_Study* theStudy
         return false;
 
       QTextStream aOut(&aOutFile);
-      aOut << aTrace.toStdString().c_str() << "\n";
+      aOut << aTrace << "\n";
       aOut.flush();
       aOutFile.close();
 
@@ -237,4 +241,3 @@ bool SHAPERGUI_DataModel::dumpPython(const QString& thePath, CAM_Study* theStudy
   }
   return false;
 }
-