Salome HOME
#1119 Confirmation box for deleting parts
[modules/shaper.git] / src / ParametersPlugin / ParametersPlugin_Parameter.cpp
index 1dc9a13acbf116bae3228ac642fb554773a077e0..803ea9e43983c4b7403c967b18120636cb6bb364 100644 (file)
@@ -53,6 +53,8 @@ void ParametersPlugin_Parameter::attributeChanged(const std::string& theID)
 {
   if (theID == EXPRESSION_ID())
     updateExpression();
+
+  data()->execState(ModelAPI_StateMustBeUpdated);
 }
 
 void ParametersPlugin_Parameter::updateName()
@@ -100,11 +102,15 @@ double ParametersPlugin_Parameter::evaluate(const std::string& theExpression, st
   for ( ; it != anExprParams.end(); it++) {
     std::string& aVariableName = *it;
 
-    // parameter with the same name should be searched in the parent document
-    // currently there is no way to get parent document, so we get PartSet doc
+    // Parameter with the same name should be searched in the parent document.
+    // For the PartSet assume that the parameter is absent.
+    // Currently there is no way to get parent document, so we get PartSet for all.
     DocumentPtr aDocument = document();
-    if (data()->name() == aVariableName)
+    if (data()->name() == aVariableName) {
+      if (aDocument == ModelAPI_Session::get()->moduleDocument())
+        continue;
       aDocument = ModelAPI_Session::get()->moduleDocument();
+    }
 
     double aValue;
     ResultParameterPtr aParamRes;