Salome HOME
Issue #1063: Problem of dynamic cast on Linux for Selection validators is solved
[modules/shaper.git] / src / ModelAPI / ModelAPI_Feature.cpp
index 9edfefa4c8f69ed57c5128ecadbc25342d675016..5b9d7e3d4e0f3da971bd37d24dd6347179928f9f 100644 (file)
@@ -199,6 +199,25 @@ bool ModelAPI_Feature::isDisabled()
   return myIsDisabled;
 }
 
+bool ModelAPI_Feature::setStable(const bool theFlag)
+{
+  if (myIsStable != theFlag) {
+    myIsStable = theFlag;
+    // send an event about the stability change (editing is started/finished)
+    static Events_Loop* aLoop = Events_Loop::loop();
+    static Events_ID EVENT_STAB = aLoop->eventByName(EVENT_STABILITY_CHANGED);
+    std::shared_ptr<Events_Message> aMessage(new Events_Message(EVENT_STAB, this));
+    aLoop->send(aMessage, false);
+    return true;
+  }
+  return false;
+}
+
+bool ModelAPI_Feature::isStable()
+{
+  return myIsStable;
+}
+
 bool ModelAPI_Feature::isPreviewNeeded() const
 {
   return true;
@@ -207,4 +226,5 @@ bool ModelAPI_Feature::isPreviewNeeded() const
 void ModelAPI_Feature::init()
 {
   myIsDisabled = false;
+  myIsStable = true;
 }