-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2023 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include <ModelAPI_AttributeString.h>
#include <ModelAPI_AttributeStringArray.h>
#include <ModelAPI_AttributeIntArray.h>
+#include <ModelAPI_AttributeImage.h>
#include <ModelAPI_Data.h>
#include <ModelAPI_Feature.h>
#include <ModelAPI_Folder.h>
friend class Model_SelectionNaming;
friend class Model_ResultConstruction;
friend class Model_ResultBody;
+ friend class Model_Tools;
public:
/// The simplest constructor. "setLabel" must be called just after to initialize correctly.
Model_Data();
/// Returns the name of the feature visible by the user in the object browser
- MODEL_EXPORT virtual std::string name();
+ MODEL_EXPORT virtual std::wstring name();
/// Defines the name of the feature visible by the user in the object browser
- MODEL_EXPORT virtual void setName(const std::string& theName);
+ MODEL_EXPORT virtual void setName(const std::wstring& theName);
/// Return \c true if the object has been renamed by the user
MODEL_EXPORT virtual bool hasUserDefinedName() const;
+ /// Returns version of the feature (empty string if not applicable)
+ MODEL_EXPORT virtual std::string version();
+ /// Initialize the version of the feature
+ MODEL_EXPORT virtual void setVersion(const std::string& theVersion);
/// Returns the attribute that references to another document
MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeDocRef> document(const std::string& theID);
/// Returns the attribute that contains real value with double precision
/// Returns the attribute that contains string values array
MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeTables>
tables(const std::string& theID);
+ /// Returns the attribute that contains image
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_AttributeImage>
+ image(const std::string& theID);
/// Returns the generic attribute by identifier
/// \param theID identifier of the attribute
/// Sets true if the object is deleted, but some data is still kept in memory
MODEL_EXPORT virtual void setIsDeleted(const bool theFlag);
+ /// Erases all attributes from myAttrs, but keeping them in the data structure
+ void clearAttributes();
+
private:
/// Removes a back reference (with identifier which attribute references to this object)
/// \param theFeature feature referenced to this
/// Returns \c true if theAttribute1 is going earlier than theAttribute2 in the data
MODEL_EXPORT virtual bool isPrecedingAttribute(const std::string& theAttribute1,
const std::string& theAttribute2) const;
+
};
/// Generic method to register back reference, used in referencing attributes.