{
public:
/// Adds the new reference to the end of the list
+ /// \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) = 0;
+ 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
- virtual void append(std::string theNamingName) = 0;
+ /// 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;
+
/// Returns the number of selection attributes in the list
virtual int size() = 0;