Salome HOME
Restore selection in the viewer by multi selector widget activation.
[modules/shaper.git] / src / ModelAPI / ModelAPI_Document.h
index bf1fa3832d33882d18817394b605a244e24a81cc..8093123bd4ee523c3b2c9e5da27dd9150b952e91 100644 (file)
@@ -21,6 +21,7 @@ class ModelAPI_ResultConstruction;
 class ModelAPI_ResultBody;
 class ModelAPI_ResultPart;
 class ModelAPI_ResultGroup;
+class ModelAPI_ResultParameter;
 class ModelAPI_Data;
 
 /**\class ModelAPI_Document
@@ -71,6 +72,13 @@ public:
                                                     const int theIndex,
                                                     const bool theHidden = false) = 0;
 
+  //! Returns the first found object in the group by the object name
+  //! \param theGroupID group that contains an object
+  //! \param theName name of the object to search
+  //! \returns null if such object is not found
+  virtual std::shared_ptr<ModelAPI_Object> objectByName(const std::string& theGroupID,
+                                                    const std::string& theName) = 0;
+
   //! Returns the number of objects in the group of objects
   //! If theHidden is true, it counts also the features that are not in tree
   virtual int size(const std::string& theGroupID, const bool theHidden = false) = 0;
@@ -91,6 +99,9 @@ public:
   virtual std::shared_ptr<ModelAPI_ResultGroup> createGroup(
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
 
+  virtual std::shared_ptr<ModelAPI_ResultParameter> createParameter(
+      const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
+
   //! Returns a feature by result (owner of result)
   virtual std::shared_ptr<ModelAPI_Feature> feature(
       const std::shared_ptr<ModelAPI_Result>& theResult) = 0;
@@ -98,6 +109,11 @@ public:
 protected:
   /// Only for SWIG wrapping it is here
   MODELAPI_EXPORT ModelAPI_Document();
+
+  /// Internally makes document know that feature was removed or added in history after creation
+  MODELAPI_EXPORT virtual void addToHistory(const std::shared_ptr<ModelAPI_Object> theObject) = 0;
+
+  friend class ModelAPI_Object; // to add or remove from the history
 };
 
 //! Pointer on document object