X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Document.h;h=13bdffb007a9cdbe653e3d4065be3e46bf4ecf19;hb=c374597f70481110faa82dc189353d689d66bc0c;hp=1ec24ee7e11540fc86a1c47665f771660f690094;hpb=2d3a78deaed27c428589ef3474c1c346324962f2;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Document.h b/src/HYDROData/HYDROData_Document.h index 1ec24ee7..13bdffb0 100644 --- a/src/HYDROData/HYDROData_Document.h +++ b/src/HYDROData/HYDROData_Document.h @@ -2,13 +2,12 @@ #define HYDROData_Document_HeaderFile #include -#include +#include #include class QFile; - /** * Errors that could appear on document open/save actions. * If there is no error, it is "OK". @@ -42,9 +41,17 @@ public: //! Returns the existing document or creates new if it is not exist HYDRODATA_EXPORT static Handle(HYDROData_Document) Document(const int theStudyID); + //! Returns the document by object + HYDRODATA_EXPORT static Handle(HYDROData_Document) Document( + const TDF_Label& theObjectLabel ); + //! Returns true if data model contains document for this study HYDRODATA_EXPORT static bool HasDocument(const int theStudyID); + //! Get study id by document instance, if document doesn't exists return false + HYDRODATA_EXPORT static bool DocumentId( const Handle(HYDROData_Document)& theDocument, + int& theDocId ); + //! Loads the OCAF document from the file. //! \param theFileName full name of the file to load //! \param theStudyID identifier of the SALOME study to associate with loaded file @@ -59,11 +66,17 @@ public: //! Removes document data HYDRODATA_EXPORT void Close(); + // Returns name of document instance in python dump script + HYDRODATA_EXPORT QString GetDocPyName() const; + //! Dump study document to Python script representation. //! \param theFileName full name of the file to store //! \returns true if document has been successfuly dumped HYDRODATA_EXPORT bool DumpToPython( const QString& theFileName ) const; + //! Dump model data to Python script representation. + HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const; + //! Starts a new operation (opens a tansaction) HYDRODATA_EXPORT void StartOperation(); //! Finishes the previously started operation (closes the transaction) @@ -97,7 +110,7 @@ public: //! Creates and locates in the document a new object //! \param theKind kind of the created object, can not be UNKNOWN //! \returns the created object - HYDRODATA_EXPORT Handle_HYDROData_Object CreateObject(const ObjectKind theKind); + HYDRODATA_EXPORT Handle(HYDROData_Entity) CreateObject(const ObjectKind theKind); protected: @@ -119,10 +132,14 @@ protected: private: + // Dump header Python part in to file \c theFile + bool DumpToPython( QFile& theFile, + MapOfTreatedObjects& theTreatedObjects ) const; + // Dump objects of type \c theObjectKind to file \c theFile - bool dumpPartitionToPython( QFile& theFile, - QMap& theDumpedObjects, - const ObjectKind& theObjectKind ) const; + bool dumpPartitionToPython( QFile& theFile, + MapOfTreatedObjects& theDumpedObjects, + const ObjectKind& theObjectKind ) const; private: Handle(TDocStd_Document) myDoc; ///< OCAF document instance corresponding for keeping all persistent data