+ /// \param theContext object where the sub-shape was selected
+ /// \param theSubShape selected sub-shape (if null, the whole context is selected)
+ /// \param theTemporarily if it is true, do not store and name the added in the data framework
+ /// (used to remove immediately, without the following updates)
+ virtual void append(const ResultPtr& theContext,
+ const GeomShapePtr& theSubShape,
+ const bool theTemporarily = false) = 0;
+
+ /// Adds the new reference to the end of the list by the naming name of the selected shape
+ /// The type of shape is taken from the current selection type if the given is empty
+ virtual void append(const std::string theNamingName, const std::string& theType = "") = 0;
+
+ /// Removes the last element in the list
+ virtual void removeLast() = 0;
+
+ /// Removes the elements from the list.
+ /// \param theIndices a list of indices of elements to be removed
+ virtual void remove(const std::set<int>& theIndices) = 0;