Salome HOME
Fix for #767: correct the internal history structure for nested features
[modules/shaper.git] / src / ModuleBase / ModuleBase_SelectionValidator.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModuleBase_SelectionValidator.h
4 // Created:     8 Jul 2014
5 // Author:      Vitaly SMETANNIKOV
6
7 #ifndef ModuleBase_SelectionValidator_H
8 #define ModuleBase_SelectionValidator_H
9
10 #include "ModuleBase.h"
11 #include "ModuleBase_ISelection.h"
12
13 #include <ModelAPI_Validator.h>
14
15 #include <list>
16 #include <string>
17
18 /**
19 * \ingroup Validators
20 * A validator of selection
21 */
22 class ModuleBase_SelectionValidator : public ModelAPI_Validator
23 {
24  public:
25    /// Returns True if selection is valid
26    /// \param theSelection selection instance
27    /// \param theArguments list of arguments
28   virtual MODULEBASE_EXPORT bool isValid(const ModuleBase_ISelection* theSelection,
29                        const std::list<std::string>& theArguments) const;
30
31  protected:
32    /// Returns True if selection is valid
33    /// \param theSelection selection instance
34   virtual bool isValid(const ModuleBase_ISelection* theSelection) const = 0;
35 };
36
37 #endif