#include "ModelAPI_Object.h"
#include "ModelAPI_Document.h"
+#include "ModelAPI_Data.h"
+#include "ModelAPI_Events.h"
+#include <Events_Loop.h>
bool ModelAPI_Object::isInHistory()
{
- if (myData.get() && myData->isValid()) {
+ if (myData->isValid()) {
return myData->isInHistory();
}
return true; // default value
const std::shared_ptr<ModelAPI_Object> theObject, const bool theFlag)
{
if (isInHistory() != theFlag) {
- if (myData.get() && myData->isValid()) {
+ if (myData->isValid()) {
myData->setIsInHistory(theFlag);
}
myDoc->updateHistory(theObject);
void ModelAPI_Object::erase()
{
- if (myData) myData->erase();
- setData(DataPtr());
+ if (myData->isValid() && myData != myData->invalidPtr()) myData->erase();
+ setData(myData->invalidPtr());
+}
+
+bool ModelAPI_Object::isDisplayed()
+{
+ return myData->isDisplayed();
+}
+
+void ModelAPI_Object::setDisplayed(const bool theDisplay)
+{
+ myData->setDisplayed(theDisplay);
}