X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FNewGeom%2FNewGeom_DataModel.h;h=5f6f9519d345f5403528610fd8776835dbdf2dbf;hb=dfdb2899a4cb4eaea4cdce45fa7c05ec0c5c807a;hp=66c6bf84d0f93578bc1bff4aa975bd18ff5b7db8;hpb=a764a876ed5d1480b2a76f4e12307985bcf96c16;p=modules%2Fshaper.git diff --git a/src/NewGeom/NewGeom_DataModel.h b/src/NewGeom/NewGeom_DataModel.h index 66c6bf84d..5f6f9519d 100644 --- a/src/NewGeom/NewGeom_DataModel.h +++ b/src/NewGeom/NewGeom_DataModel.h @@ -1,3 +1,4 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D #ifndef NEWGEOM_DATAMODEL_H @@ -6,27 +7,72 @@ #include "NewGeom.h" #include +class NewGeom_Module; + +/** +* \ingroup Salome +* A Data Model class provides a connection of SALOME data structure and OpenParts application data model +*/ class NewGeom_EXPORT NewGeom_DataModel : public LightApp_DataModel { Q_OBJECT -public: - NewGeom_DataModel( CAM_Module* theModule ); + public: + /// Constructor + /// \param theModule a module instance + NewGeom_DataModel(NewGeom_Module* theModule); virtual ~NewGeom_DataModel(); - virtual bool open( const QString& thePath, CAM_Study* theStudy, QStringList theFiles ); - virtual bool save( QStringList& theFiles ); - virtual bool saveAs( const QString& thePath, CAM_Study* theStudy, QStringList& theFiles ); + /// Open a data file + /// \param thePath a path to the directory + /// \param theStudy a current study + /// \param theFiles a list of files to open + virtual bool open(const QString& thePath, CAM_Study* theStudy, QStringList theFiles); + + /// Save module data to file + /// \param theFiles list of created files + virtual bool save(QStringList& theFiles); + + /// Save module data to a file + /// \param thePath a path to the directory + /// \param theStudy a current study + /// \param theFiles a list of files to open + virtual bool saveAs(const QString& thePath, CAM_Study* theStudy, QStringList& theFiles); + + /// Close data structure virtual bool close(); - virtual bool create( CAM_Study* theStudy ); + /// Create data structure + /// \param theStudy a current study + virtual bool create(CAM_Study* theStudy); + + /// Returns True if the data structure has been modified virtual bool isModified() const; + + /// Returns True if the data structure is already saved virtual bool isSaved() const; - virtual void update( LightApp_DataObject* theObj = 0, LightApp_Study* theStudy = 0 ); + /// Update data object + /// \param theObj an data object + /// \param theStudy a current study + virtual void update(LightApp_DataObject* theObj = 0, LightApp_Study* theStudy = 0); -private: +protected: + /** + * Removes the directory with content if it exists + * \param theDirectoryName a directory name + */ + static void removeDirectory(const QString& theDirectoryName); + + private: + /// Pat to a study file QString myStudyPath; + /// a path to the temporary directory, created by opening a document file + QString myTmpDirectory; + + /// it should be created because the files reading is postponed in the module. The directory + // should be removed after the model document is closed. + NewGeom_Module* myModule; }; -#endif \ No newline at end of file +#endif