Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix for undo/redo inside of the sketch
[modules/shaper.git]
/
src
/
ModelAPI
/
ModelAPI_Object.h
diff --git
a/src/ModelAPI/ModelAPI_Object.h
b/src/ModelAPI/ModelAPI_Object.h
index 91167b871b71331c26b305d006d64570a62f1ae7..aba6567eb3a0d643409a36dc40644d2811650511 100644
(file)
--- a/
src/ModelAPI/ModelAPI_Object.h
+++ b/
src/ModelAPI/ModelAPI_Object.h
@@
-6,6
+6,7
@@
#define ModelAPI_Object_H_
#include "ModelAPI.h"
#define ModelAPI_Object_H_
#include "ModelAPI.h"
+#include "ModelAPI_Data.h"
#include <boost/shared_ptr.hpp>
#include <boost/shared_ptr.hpp>
@@
-24,7
+25,7
@@
class ModelAPI_Document;
class ModelAPI_Object
{
boost::shared_ptr<ModelAPI_Data> myData; ///< manager of the data model of a feature
class ModelAPI_Object
{
boost::shared_ptr<ModelAPI_Data> myData; ///< manager of the data model of a feature
- boost::shared_ptr<ModelAPI_Document> myDoc; ///< document this
feature
belongs to
+ boost::shared_ptr<ModelAPI_Document> myDoc; ///< document this
object
belongs to
public:
/// By default object is displayed in the object browser.
virtual bool isInHistory()
public:
/// By default object is displayed in the object browser.
virtual bool isInHistory()
@@
-33,7
+34,7
@@
class ModelAPI_Object
}
/// Returns the data manager of this object: attributes
}
/// Returns the data manager of this object: attributes
- virtual boost::shared_ptr<ModelAPI_Data> data()
+ virtual boost::shared_ptr<ModelAPI_Data> data()
const
{
return myData;
}
{
return myData;
}
@@
-45,7
+46,7
@@
class ModelAPI_Object
}
/// Returns document this feature belongs to
}
/// Returns document this feature belongs to
- virtual boost::shared_ptr<ModelAPI_Document> document()
+ virtual boost::shared_ptr<ModelAPI_Document> document()
const
{
return myDoc;
}
{
return myDoc;
}
@@
-53,6
+54,13
@@
class ModelAPI_Object
/// Returns the group identifier of this object
virtual std::string groupName() = 0;
/// Returns the group identifier of this object
virtual std::string groupName() = 0;
+ /// Called on change of any argument-attribute of this object
+ MODELAPI_EXPORT virtual void attributeChanged()
+ {}
+
+ /// To use virtuality for destructors
+ virtual ~ModelAPI_Object() {}
+
protected:
/// Sets the data manager of an object (document does)
virtual void setData(boost::shared_ptr<ModelAPI_Data> theData)
protected:
/// Sets the data manager of an object (document does)
virtual void setData(boost::shared_ptr<ModelAPI_Data> theData)
@@
-66,7
+74,14
@@
class ModelAPI_Object
myDoc = theDoc;
}
myDoc = theDoc;
}
+ /// removes all fields from this feature
+ MODELAPI_EXPORT virtual void erase() {
+ if (myData) myData->erase();
+ setData(DataPtr());
+ }
+
friend class Model_Document;
friend class Model_Document;
+
};
typedef boost::shared_ptr<ModelAPI_Object> ObjectPtr;
};
typedef boost::shared_ptr<ModelAPI_Object> ObjectPtr;