Salome HOME
Update of the comment line
[modules/shaper.git] / src / Model / Model_AttributeValidator.cpp
index 9a6c954653200f1ddd1b670d3df2d8928773294c..83188ebe4bccd0dfc95ee93dce53445480344963 100644 (file)
@@ -5,52 +5,70 @@
 // Author:      Sergey POKHODENKO
 
 #include "Model_AttributeValidator.h"
+
+#include <Events_InfoMessage.h>
+
 #include <ModelAPI_AttributeDouble.h>
+#include <ModelAPI_AttributeInteger.h>
+
 #include <GeomDataAPI_Point.h>
 #include <GeomDataAPI_Point2D.h>
 
-bool Model_AttributeValidator::isValid(const AttributePtr& theAttribute, 
-                                       const std::list<std::string>& theArguments, 
-                                       std::string& theError) const
+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 = "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;
 }
-