Salome HOME
setDisplayed has to be called in order to synchronize internal state of the object
[modules/shaper.git] / src / Model / Model_Session.h
index 0ae8bc46aa44fe763f82023531cb27bc3be7aed7..2584a2e201aa35a14012df0e8c79c6a08ea29d9c 100644 (file)
@@ -48,7 +48,7 @@ class Model_Session : public ModelAPI_Session, public Events_Listener
   MODEL_EXPORT virtual void closeAll();
 
   //! Starts a new operation (opens a tansaction)
-  MODEL_EXPORT virtual void startOperation(const std::string& theId);
+  MODEL_EXPORT virtual void startOperation(const std::string& theId = "");
   //! Finishes the previously started operation (closes the transaction)
   MODEL_EXPORT virtual void finishOperation();
   //! Aborts the operation 
@@ -90,6 +90,9 @@ class Model_Session : public ModelAPI_Session, public Events_Listener
   /// Returns all the opened documents of the session (without postponed)
   MODEL_EXPORT virtual std::list<std::shared_ptr<ModelAPI_Document> > allOpenedDocuments();
 
+  /// Returns true if document is not loaded yet
+  MODEL_EXPORT virtual bool isLoadByDemand(const std::string theDocID);
+
   /// Registers the plugin that creates features.
   /// It is obligatory for each plugin to call this function on loading to be found by 
   /// the plugin manager on call of the feature)
@@ -119,7 +122,10 @@ class Model_Session : public ModelAPI_Session, public Events_Listener
   void LoadPluginsInfo();
 
   /// Creates the feature object using plugins functionality
-  virtual FeaturePtr createFeature(std::string theFeatureID);
+  FeaturePtr createFeature(std::string theFeatureID, Model_Document* theDocOwner);
+
+  friend class Model_Document;
+  friend class Model_Objects;
 };
 
 #endif