Salome HOME
Issue #2027 Modification of data strtucture outside of transaction when create circle...
[modules/shaper.git] / src / Model / Model_AttributeValidator.cpp
index 8cf60192156bcaea33cb567c18e84b9f65d4634d..83188ebe4bccd0dfc95ee93dce53445480344963 100644 (file)
 #include <GeomDataAPI_Point.h>
 #include <GeomDataAPI_Point2D.h>
 
-bool Model_AttributeValidator::isValid(const AttributePtr& theAttribute, 
-                                       const std::list<std::string>& theArguments, 
+bool Model_AttributeValidator::isValid(const AttributePtr& theAttribute,
+                                       const std::list<std::string>& theArguments,
                                        Events_InfoMessage& theError) const
 {
   if (theAttribute->attributeType() == ModelAPI_AttributeInteger::typeId()) {
     AttributeIntegerPtr anAttribue =
         std::dynamic_pointer_cast<ModelAPI_AttributeInteger>(theAttribute);
     if (!anAttribue->expressionError().empty()) {
-      theError = anAttribue->expressionError();
+      theError = "Expression error: %1";
+      theError.arg(anAttribue->expressionError());
       return false;
     }
   } else
   if (theAttribute->attributeType() == ModelAPI_AttributeDouble::typeId()) {
-    AttributeDoublePtr anAttribue = 
+    AttributeDoublePtr anAttribue =
         std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(theAttribute);
     if (!anAttribue->expressionError().empty()) {
-      theError = anAttribue->expressionError();
+      theError = "Expression error: %1";
+      theError.arg(anAttribue->expressionError());
       return false;
     }
   } else
   if (theAttribute->attributeType() == GeomDataAPI_Point::typeId()) {
-    AttributePointPtr anAttribue = 
+    AttributePointPtr anAttribue =
         std::dynamic_pointer_cast<GeomDataAPI_Point>(theAttribute);
 
     const char* aComponent[] = {"X", "Y", "Z"};
     std::string anErrorMessage;
     for (int i = 0; i < 3; ++i) {
       if (!anAttribue->expressionError(i).empty())
-        anErrorMessage.append("\n").append(aComponent[i]).append(": ").append(anAttribue->expressionError(i));
+        anErrorMessage.append("\n").append(aComponent[i])
+          .append(": ").append(anAttribue->expressionError(i));
     }
     if (!anErrorMessage.empty()) {
-      theError = anErrorMessage;
+      theError = "Expression error: %1";
+      theError.arg(anErrorMessage);
       return false;
     }
   } else
   if (theAttribute->attributeType() == GeomDataAPI_Point2D::typeId()) {
-    AttributePoint2DPtr anAttribue = 
+    AttributePoint2DPtr anAttribue =
         std::dynamic_pointer_cast<GeomDataAPI_Point2D>(theAttribute);
 
     const char* aComponent[] = {"X", "Y"};
     std::string anErrorMessage;
     for (int i = 0; i < 2; ++i) {
       if (!anAttribue->expressionError(i).empty())
-        anErrorMessage.append("\n").append(aComponent[i]).append(": ").append(anAttribue->expressionError(i));
+        anErrorMessage.append("\n").append(aComponent[i])
+          .append(": ").append(anAttribue->expressionError(i));
     }
     if (!anErrorMessage.empty()) {
-      theError = anErrorMessage;
+      theError = "Expression error: %1";
+      theError.arg(anErrorMessage);
       return false;
     }
   }
   return true;
 }
-