+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: Model_AttributeDocRef.h
// Created: 2 Apr 2014
// Author: Mikhail PONIKAROV
#include "Model.h"
#include "ModelAPI_AttributeDocRef.h"
-#include <TDataStd_Comment.hxx>
+#include <TDataStd_Integer.hxx>
#include <TDF_Label.hxx>
/**\class Model_AttributeDocRef
class Model_AttributeDocRef : public ModelAPI_AttributeDocRef
{
- Handle_TDataStd_Comment myComment; ///< reference to document is identified as string-id
+ /// persistent and unique identifier of the document in the application
+ Handle(TDataStd_Integer) myID;
public:
+
/// Defines the document referenced from this attribute
- MODEL_EXPORT virtual void setValue(boost::shared_ptr<ModelAPI_Document> theDoc);
+ MODEL_EXPORT virtual void setValue(std::shared_ptr<ModelAPI_Document> theDoc);
/// Returns document referenced from this attribute
- MODEL_EXPORT virtual boost::shared_ptr<ModelAPI_Document> value();
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Document> value();
+
+ /// Returns the persisten ID of the document
+ MODEL_EXPORT virtual int docId();
protected:
/// Initializes attibutes
Model_AttributeDocRef(TDF_Label& theLabel);
+ /// Reinitializes the internal state of the attribute (may be needed on undo/redo, abort, etc)
+ virtual void reinit();
+
friend class Model_Data;
};