X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLightApp%2FLightApp_Study.cxx;h=9aa9403316083dccaba1b99ec4add421919f854f;hb=b6e35aa42d3c67a529d7f9339718dfaed6891323;hp=1229f127fa39856ccbc7aa2310b23fb168671c8f;hpb=ad6276bbf89c70b93ccef9a82800f18ff5578a00;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_Study.cxx b/src/LightApp/LightApp_Study.cxx index 1229f127f..9aa940331 100644 --- a/src/LightApp/LightApp_Study.cxx +++ b/src/LightApp/LightApp_Study.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -60,8 +60,6 @@ LightApp_Study::~LightApp_Study() */ bool LightApp_Study::createDocument( const QString& theStr ) { - setStudyName( QString( "Study%1" ).arg( LightApp_Application::studyId() ) ); - // create myRoot setRoot( new LightApp_RootObject( this ) ); @@ -79,7 +77,7 @@ bool LightApp_Study::openDocument( const QString& theFileName ) { myDriver->ClearDriverContents(); // create files for models from theFileName - if( !openStudyData(theFileName)) + if( !openStudyData(theFileName, 0)) // 0 means persistence file return false; setRoot( new LightApp_RootObject( this ) ); // create myRoot @@ -107,7 +105,7 @@ bool LightApp_Study::openDocument( const QString& theFileName ) bool LightApp_Study::loadDocument( const QString& theStudyName ) { myDriver->ClearDriverContents(); - if( !openStudyData(theStudyName)) + if( !openStudyData(theStudyName, 0)) // 0 means persistence file return false; setRoot( new LightApp_RootObject( this ) ); // create myRoot @@ -157,7 +155,8 @@ bool LightApp_Study::saveDocumentAs( const QString& theFileName ) listOfFiles.clear(); aModel->saveAs( theFileName, this, listOfFiles ); if ( !listOfFiles.isEmpty() ) - saveModuleData(aModel->module()->name(), listOfFiles); + saveModuleData(aModel->module()->name(), 0, // 0 means persistence file + listOfFiles); // Remove files if necessary. File is removed if it was in the list of files before // saving and it is not contained in the list after saving. This provides correct @@ -168,7 +167,7 @@ bool LightApp_Study::saveDocumentAs( const QString& theFileName ) std::set aNewNames; std::set toRemove; - int i, n; + size_t i, n; for( i = 0, n = aNewList.size(); i < n; i++ ) aNewNames.insert( aNewList[ i ] ); for( i = 0, n = anOldList.size(); i < n; i++ ) @@ -188,7 +187,7 @@ bool LightApp_Study::saveDocumentAs( const QString& theFileName ) myDriver->RemoveFiles( toRemoveList, isMultiFile ); } - bool res = saveStudyData(theFileName); + bool res = saveStudyData(theFileName, 0); // 0 means persistence file res = res && CAM_Study::saveDocumentAs( theFileName ); //SRN: BugID IPAL9377, removed usage of uninitialized variable if ( res ) @@ -213,10 +212,11 @@ bool LightApp_Study::saveDocument() listOfFiles.clear(); aModel->save( listOfFiles ); - saveModuleData(aModel->module()->name(), listOfFiles); + saveModuleData(aModel->module()->name(), 0, // 0 means persistence file + listOfFiles); } - bool res = saveStudyData(studyName()); + bool res = saveStudyData(studyName(), 0); // 0 means persistence file res = res && CAM_Study::saveDocument(); if (res) emit saved( this ); @@ -319,14 +319,14 @@ bool LightApp_Study::isSaved() const /*! Creates SComponent for module, necessary for SalomeApp study */ -void LightApp_Study::addComponent(const CAM_DataModel* dm) +void LightApp_Study::addComponent(const CAM_DataModel* /*dm*/) { } /*! Saves list file for module 'theModuleName' */ -void LightApp_Study::saveModuleData(QString theModuleName, QStringList theListOfFiles) +void LightApp_Study::saveModuleData(QString theModuleName, int type, QStringList theListOfFiles) { int aNb = theListOfFiles.count(); if ( aNb == 0 ) @@ -337,19 +337,19 @@ void LightApp_Study::saveModuleData(QString theModuleName, QStringList theListOf for ( QStringList::Iterator it = theListOfFiles.begin(); it != theListOfFiles.end(); ++it ) { if ( (*it).isEmpty() ) continue; - aListOfFiles[anIndex] = (*it).toLatin1().constData(); + aListOfFiles[anIndex] = (*it).toUtf8().constData(); anIndex++; } - myDriver->SetListOfFiles(theModuleName.toLatin1().constData(), aListOfFiles); + SetListOfFiles(theModuleName.toLatin1().constData(), type, aListOfFiles); } /*! Gets list of file for module 'theModuleNam' */ -void LightApp_Study::openModuleData(QString theModuleName, QStringList& theListOfFiles) +void LightApp_Study::openModuleData(QString theModuleName, int /*type*/, QStringList& theListOfFiles) { std::vector aListOfFiles = myDriver->GetListOfFiles(theModuleName.toLatin1().constData()); - int i, aLength = aListOfFiles.size() - 1; + int i, aLength = (int)aListOfFiles.size() - 1; //!< TODO: conversion size_t to int if (aLength < 0) return; @@ -362,7 +362,7 @@ void LightApp_Study::openModuleData(QString theModuleName, QStringList& theListO /*! Saves data from study */ -bool LightApp_Study::saveStudyData( const QString& theFileName ) +bool LightApp_Study::saveStudyData( const QString& theFileName, int /*type*/ ) { ModelList list; dataModels( list ); SUIT_ResourceMgr* resMgr = application()->resourceMgr(); @@ -370,21 +370,21 @@ bool LightApp_Study::saveStudyData( const QString& theFileName ) return false; bool isMultiFile = resMgr->booleanValue( "Study", "multi_file", false ); - bool aRes = myDriver->SaveDatasInFile(theFileName.toLatin1(), isMultiFile); + bool aRes = myDriver->SaveDatasInFile(theFileName.toUtf8(), isMultiFile); return aRes; } /*! Opens data for study */ -bool LightApp_Study::openStudyData( const QString& theFileName ) +bool LightApp_Study::openStudyData( const QString& theFileName, int /*type*/ ) { SUIT_ResourceMgr* resMgr = application()->resourceMgr(); if( !resMgr ) return false; bool isMultiFile = resMgr->booleanValue( "Study", "multi_file", false ); - bool aRes = myDriver->ReadDatasFromFile(theFileName.toLatin1(), isMultiFile); + bool aRes = myDriver->ReadDatasFromFile(theFileName.toUtf8(), isMultiFile); return aRes; } @@ -397,7 +397,8 @@ bool LightApp_Study::openDataModel( const QString& studyName, CAM_DataModel* dm return false; QStringList listOfFiles; - openModuleData(dm->module()->name(), listOfFiles); + openModuleData(dm->module()->name(), 0, // 0 means persistence file + listOfFiles); if (dm && dm->open(studyName, this, listOfFiles)) { // Something has been read -> create data model tree LightApp_DataModel* aDM = dynamic_cast( dm ); @@ -421,11 +422,9 @@ std::string LightApp_Study::GetTmpDir (const char* theURL, \return list of files necessary for module \param theModuleName - name of module */ -std::vector LightApp_Study::GetListOfFiles(const char* theModuleName) const +std::vector LightApp_Study::GetListOfFiles(const char* theModuleName, int /*type*/) const { - std::vector aListOfFiles; - aListOfFiles = myDriver->GetListOfFiles(theModuleName); - return aListOfFiles; + return myDriver->GetListOfFiles(theModuleName); } /*! @@ -433,7 +432,7 @@ std::vector LightApp_Study::GetListOfFiles(const char* theModuleNam \param theModuleName - name of module \param theListOfFiles - list of files */ -void LightApp_Study::SetListOfFiles (const char* theModuleName, const std::vector theListOfFiles) +void LightApp_Study::SetListOfFiles (const char* theModuleName, int /*type*/, const std::vector theListOfFiles) { myDriver->SetListOfFiles(theModuleName, theListOfFiles); } @@ -441,7 +440,7 @@ void LightApp_Study::SetListOfFiles (const char* theModuleName, const std::vecto /*! Removes temporary files */ -void LightApp_Study::RemoveTemporaryFiles (const char* theModuleName, const bool isMultiFile) const +void LightApp_Study::RemoveTemporaryFiles (const char* theModuleName, bool isMultiFile, bool /*force*/) { if (isMultiFile) return;