{
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;
- /// Returns the number ofselection attributes in the list
+ /// 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;
/// The type of all elements selection
virtual void clear() = 0;
/// Returns the type of this class of attributes
- static std::string type()
+ static std::string typeId()
{
return "SelectionList";
}