#include <ModelAPI_AttributeRefList.h>
#include <ModelAPI_AttributeRefAttrList.h>
#include <ModelAPI_AttributeString.h>
+#include <ModelAPI_AttributeStringArray.h>
#include <ModelAPI_AttributeIntArray.h>
#include <ModelAPI_Data.h>
#include <ModelAPI_Feature.h>
friend class Model_AttributeRefAttrList;
friend class Model_AttributeSelection;
friend class Model_AttributeSelectionList;
+ friend class Model_ValidatorsFactory;
+ friend class Model_SelectionNaming;
public:
/// The simplest constructor. "setLabel" must be called just after to initialize correctly.
/// Returns the attribute that contains real value with double precision
MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeDouble> real(const std::string& theID);
/// Returns the attribute that contains double values array
- MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeDoubleArray> realArray(const std::string& theID);
+ MODEL_EXPORT virtual
+ std::shared_ptr<ModelAPI_AttributeDoubleArray> realArray(const std::string& theID);
/// Returns the attribute that contains integer value
MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeInteger>
integer(const std::string& theID);
MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeSelection>
selection(const std::string& theID);
/// Returns the attribute that contains selection to a shape
- MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeSelectionList>
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeSelectionList>
selectionList(const std::string& theID);
/// Returns the attribute that contains reference to an attribute of a feature
MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeRefAttr>
/// Returns the attribute that contains integer values array
MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeIntArray>
intArray(const std::string& theID);
+ /// Returns the attribute that contains string values array
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeStringArray>
+ stringArray(const std::string& theID);
+ /// Returns the attribute that contains string values array
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeTables>
+ tables(const std::string& theID);
/// Returns the generic attribute by identifier
/// \param theID identifier of the attribute
/// \param theID identifier of the attribute that can be referenced by this ID later
/// \param theAttrType type of the created attribute (received from the type method)
/// \returns the just created attribute
- MODEL_EXPORT virtual AttributePtr
+ MODEL_EXPORT virtual AttributePtr
addAttribute(const std::string& theID, const std::string theAttrType);
/// Useful method for "set" methods of the attributes: sends an UPDATE event and
MODEL_EXPORT virtual void sendAttributeUpdated(ModelAPI_Attribute* theAttr);
/// Blocks sending "attribute updated" if theBlock is true
/// \param theBlock allows switching on/off the blocking state
- /// \param theSendMessage if false, it does not send the update message even if something is changed
+ /// \param theSendMessage if false, it does not send the update message
+ /// even if something is changed
/// (normally is it used in attributeChanged because this message will be sent anyway)
- MODEL_EXPORT virtual void blockSendAttributeUpdated(
+ /// \returns the previous state of block
+ MODEL_EXPORT virtual bool blockSendAttributeUpdated(
const bool theBlock, const bool theSendMessage = true);
/// Puts feature to the document data sub-structure
MODEL_EXPORT virtual const std::set<AttributePtr>& refsToMe() {return myRefsToMe;}
/// returns all references by attributes of this data
- /// \param theRefs returned list of pairs: id of referenced attribute and list of referenced objects
+ /// \param theRefs returned list of pairs:
+ /// id of referenced attribute and list of referenced objects
MODEL_EXPORT virtual void referencesToObjects(
std::list<std::pair<std::string, std::list<ObjectPtr> > >& theRefs);
/// \param theFeature feature referenced to this
/// \param theAttrID identifier of the attribute that is references from theFeature to this
/// \param theApplyConcealment applies consealment flag changes
- void addBackReference(FeaturePtr theFeature, std::string theAttrID,
+ void addBackReference(FeaturePtr theFeature, std::string theAttrID,
const bool theApplyConcealment = true);
/// Makes the concealment flag up to date for this object-owner.