Salome HOME
Issue #1865: Model Widget for fields
[modules/shaper.git] / src / GeomValidators / GeomValidators_BodyShapes.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomValidators_BodyShapes.h
4 // Created:     21 December 2015
5 // Author:      Dmitry Bobylev
6
7 #ifndef GeomValidators_BodyShapes_H
8 #define GeomValidators_BodyShapes_H
9
10 #include <GeomValidators.h>
11
12 #include <ModelAPI_AttributeValidator.h>
13 #include <ModelAPI_Attribute.h>
14
15 /**
16  * Generic validator for any attribute of a feature.
17  */
18 class GeomValidators_BodyShapes : public ModelAPI_AttributeValidator
19 {
20 public:
21   /// \return True if the attribute is valid. It checks whether the shape is a
22   /// body subshape. Does not allow select construction shapes.
23   /// \param[in] theAttribute an attribute to check
24   /// \param[in] theArguments a filter parameters
25   /// \param[out] theError error message.
26   GEOMVALIDATORS_EXPORT virtual bool isValid(const AttributePtr& theAttribute,
27                                              const std::list<std::string>& theArguments,
28                                              Events_InfoMessage& theError) const;
29 };
30
31 #endif