Salome HOME
Issue #83: rename and transfer some methods related to document
[modules/shaper.git] / src / Model / Model_Document.h
index e7b92a945146774fb80c9a6e61303d8116cfce08..598c3b633f674c283e69f89c7b1edaff4f75341b 100644 (file)
@@ -40,8 +40,9 @@ class Model_Document : public ModelAPI_Document
 
   //! Saves the OCAF document to the file.
   //! \param theFileName full name of the file to store
+  //! \param theResults the result full file names that were stored by "save"
   //! \returns true if file was stored successfully
-  MODEL_EXPORT virtual bool save(const char* theFileName);
+  MODEL_EXPORT virtual bool save(const char* theFileName, std::list<std::string>& theResults);
 
   //! Removes document data
   MODEL_EXPORT virtual void close();
@@ -85,6 +86,9 @@ class Model_Document : public ModelAPI_Document
   //! Adds a new sub-document by the identifier, or returns existing one if it is already exist
   MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Document> subDocument(std::string theDocID);
 
+  //! Internal sub-document by ID
+  MODEL_EXPORT virtual boost::shared_ptr<Model_Document> subDoc(std::string theDocID);
+
   ///! Returns the id of hte document
   MODEL_EXPORT virtual const std::string& id() const
   {
@@ -152,8 +156,14 @@ class Model_Document : public ModelAPI_Document
                                         boost::shared_ptr<ModelAPI_Result> theResult,
                                         const int theResultIndex = 0);
 
+  //! returns the label of result by index; creates this label if it was not created before
+  TDF_Label resultLabel(const boost::shared_ptr<ModelAPI_Data>& theFeatureData, const int theResultIndex);
+
+  //! Updates the results list of the feature basing on the current data tree
+  void updateResults(FeaturePtr theFeature);
+
   friend class Model_Application;
-  friend class Model_PluginManager;
+  friend class Model_Session;
   friend class DFBrowser;
 
  private: