X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSHAPERGUI%2FSHAPERGUI_DataModel.cpp;h=efb30f936765a43c170cefea155ee697679e16a2;hb=97c06c5cd9fc736f9b5a1dacde369a9d7b5be703;hp=015fde137be414ec2f8c02312835fb2ba1c307a1;hpb=3dce28e00b37dbc9320e812dcd95c2f76ed1e5c8;p=modules%2Fshaper.git diff --git a/src/SHAPERGUI/SHAPERGUI_DataModel.cpp b/src/SHAPERGUI/SHAPERGUI_DataModel.cpp index 015fde137..efb30f936 100644 --- a/src/SHAPERGUI/SHAPERGUI_DataModel.cpp +++ b/src/SHAPERGUI/SHAPERGUI_DataModel.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2019 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 @@ -12,10 +12,9 @@ // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #include "SHAPERGUI_DataModel.h" @@ -78,20 +77,7 @@ bool SHAPERGUI_DataModel::open(const QString& thePath, CAM_Study* theStudy, QStr QString aCurrentFile = SUIT_Tools::addSlash(aTmpDir) + aFileName; XGUI_Workshop* aWorkShop = myModule->workshop(); aWorkShop->openFile(aCurrentFile); - //QString aNewFile = SUIT_Tools::addSlash(aNewTmpDir) + aFileName; - //if (!QFile::copy(aCurrentFile, aNewFile)) - // isDone = false; } - //if (isDone) { - // myTmpDirectory = aNewTmpDir; - //} - //else { - // removeDirectory(aNewTmpDir); - // myTmpDirectory = ""; - //} - - //SessionPtr aMgr = ModelAPI_Session::get(); - //aMgr->load(qPrintable(aNewTmpDir)); myModule->setIsOpened(true); return true; @@ -113,7 +99,6 @@ bool SHAPERGUI_DataModel::save(QStringList& theFiles) bool isMultiFile = aResMgr ? aResMgr->booleanValue("Study", "multi_file", false) : false; std::string aTmpDir = aStudy->GetTmpDir(qPrintable(myStudyPath), isMultiFile); - //std::string aTmpDir = aStudy->GetTmpDir("", false);//true ); QString aTmp = QString(aTmpDir.c_str()); theFiles.append(aTmp); @@ -125,18 +110,10 @@ bool SHAPERGUI_DataModel::save(QStringList& theFiles) aWorkShop->setCurrentDataFile(aTmp + "shaper.shaper"); aWorkShop->onSave(); QString aName = aWorkShop->currentDataFile(); - std::string aa = aName.toStdString(); aName.replace(QChar('\\'), QChar('/')); int aN = aName.lastIndexOf('/'); theFiles.append(aName.right(aName.length() - aN - 1)); - //std::list::iterator aIt; - //for (aIt = aFileNames.begin(); aIt != aFileNames.end(); ++aIt) { - // QString aName((*aIt).c_str()); - // aName.replace(QChar('\\'), QChar('/')); - // int aN = aName.lastIndexOf('/'); - // theFiles.append(aName.right(aName.length() - aN - 1)); - //} return true; } @@ -149,8 +126,6 @@ bool SHAPERGUI_DataModel::saveAs(const QString& thePath, CAM_Study* theStudy, QS bool SHAPERGUI_DataModel::close() { myModule->workshop()->closeDocument(); - //removeDirectory(myTmpDirectory); - //myTmpDirectory = ""; return LightApp_DataModel::close(); } @@ -219,39 +194,37 @@ bool SHAPERGUI_DataModel::dumpPython(const QString& thePath, CAM_Study* theStudy if (aAttr.get()) aAttr->setValue(".py"); - AttributeStringPtr aTypeAttr = aFeature->string(ExchangePlugin_Dump::SELECTION_TYPE_ID()); - if (aTypeAttr.get()) - aTypeAttr->setValue(ExchangePlugin_Dump::TOPOLOGICAL_NAMING_DUMP_ID()); - ModelAPI_Session::get()->finishOperation(); if (QFile::exists(aFileName.c_str())) { - if (isMultiFile) { QFile aInFile(aFileName.c_str()); - if (!aInFile.open(QIODevice::ReadOnly | QIODevice::Text)) - return false; - QTextStream aText(&aInFile); - QString aTrace(aText.readAll()); - aInFile.close(); + if (!aInFile.open(QIODevice::ReadOnly | QIODevice::Text)) + return false; + QTextStream aText(&aInFile); + QString aTrace(aText.readAll()); + aInFile.close(); + if (isMultiFile) { QStringList aBuffer; - aBuffer.push_back(QString("def RebuildData( theStudy ):")); + aBuffer.push_back(QString("def RebuildData():")); QStringList aList(aTrace.split("\n")); foreach(QString aStr, aList) { QString s = " " + aStr; aBuffer.push_back(s); } aTrace = aBuffer.join("\n"); + } - QFile aOutFile(aFileName.c_str()); - if (!aOutFile.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) - return false; + QFile aOutFile(aFileName.c_str()); + // binary for SALOME, issue 16931 + if (!aOutFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) + return false; + + QTextStream aOut(&aOutFile); + aOut << aTrace.toStdString().c_str() << "\n"; + aOut.flush(); + aOutFile.close(); - QTextStream aOut(&aOutFile); - aOut << aTrace.toStdString().c_str() << "\n"; - aOut.flush(); - aOutFile.close(); - } theListOfFiles.append(aTmpDir.c_str()); theListOfFiles.append(DUMP_NAME); return true;