/// \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 immideately, without the following updates)
+ /// (used to remove immediately, without the following updates)
virtual void append(const ResultPtr& theContext,
const GeomShapePtr& theSubShape,
const bool theTemporarily = false) = 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;
+ /// Returns true if the object with the shape are in list
+ /// \param theContext object where the sub-shape was selected
+ /// \param theSubShape selected sub-shape (if null, the whole context is selected)
+ /// \returns true if the pair is found in the attirbute
+ virtual bool isInList(
+ const ResultPtr& theContext, const std::shared_ptr<GeomAPI_Shape>& theSubShape,
+ const bool theTemporarily = false) = 0;
+
/// The type of all elements selection
/// \returns the index of the enumeration of the type of shape
virtual const std::string selectionType() const = 0;