{
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;
- /// Returns the number ofselection attributes in the list
+ /// Removes the last element in the list
+ virtual void removeLast() = 0;
+
+ /// Returns the number of selection attributes in the list
virtual int size() = 0;
/// The type of all elements selection
/// \returns the index of the enumeration of the type of shape
- virtual int selectionType() = 0;
+ virtual const std::string selectionType() const = 0;
/// Sets the type of all elements selection
/// \param theType the index of the enumeration of the type of shape
- virtual void setSelectionType(int theType) = 0;
+ virtual void setSelectionType(const std::string& theType) = 0;
/// Returns the attribute selection by the index (zero based)
virtual std::shared_ptr<ModelAPI_AttributeSelection> value(const int theIndex) = 0;
virtual void clear() = 0;
/// Returns the type of this class of attributes
- static std::string type()
+ static std::string typeId()
{
return "SelectionList";
}