Salome HOME
Debug of load/save and Parts activation
[modules/shaper.git] / src / ModelAPI / ModelAPI_Object.cpp
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModelAPI_Object.cpp
4 // Created:     19 May 2014
5 // Author:      Mikhail PONIKAROV
6
7 #include "ModelAPI_Object.h"
8 #include "ModelAPI_Document.h"
9
10 bool ModelAPI_Object::isInHistory()
11 {
12   if (myData.get() && myData->isValid()) {
13     return myData->isInHistory();
14   }
15   return true; // default value
16 }
17
18 void ModelAPI_Object::setInHistory(
19   const std::shared_ptr<ModelAPI_Object> theObject, const bool theFlag)
20 {
21   if (isInHistory() != theFlag) {
22     if (myData.get() && myData->isValid()) {
23       myData->setIsInHistory(theFlag);
24     }
25     myDoc->updateHistory(theObject);
26   }
27 }
28
29 std::shared_ptr<ModelAPI_Data> ModelAPI_Object::data() const
30 {
31   return myData;
32 }
33
34 bool ModelAPI_Object::isSame(const std::shared_ptr<ModelAPI_Object>& theObject)
35 {
36   return theObject.get() == this;
37 }
38
39 std::shared_ptr<ModelAPI_Document> ModelAPI_Object::document() const
40 {
41   return myDoc;
42 }
43
44 void ModelAPI_Object::attributeChanged(const std::string& theID)
45 {
46 }
47
48 ModelAPI_Object::ModelAPI_Object()
49 {
50 }
51
52 ModelAPI_Object::~ModelAPI_Object()
53 {
54 }
55
56 void ModelAPI_Object::setData(std::shared_ptr<ModelAPI_Data> theData)
57 {
58   myData = theData;
59 }
60
61 void ModelAPI_Object::setDoc(std::shared_ptr<ModelAPI_Document> theDoc)
62 {
63   myDoc = theDoc;
64 }
65
66 void ModelAPI_Object::erase()
67 {
68   if (myData) myData->erase();
69   setData(DataPtr());
70 }