Salome HOME
EvalListener to evaluate expression from inputs
[modules/shaper.git] / src / ParametersPlugin / ParametersPlugin_Parameter.h
index e7574fd2a758d943fcafbcbabfa833de9c5545f5..a65a5ff38005e82ebb6971b70065aad056e48a5d 100644 (file)
 #include "ParametersPlugin.h"
 #include <ModelAPI_Feature.h>
 
+#include <memory>
+
+class ParametersPlugin_PyInterp;
+
 class ParametersPlugin_Parameter : public ModelAPI_Feature
 {
  public:
+  virtual ~ParametersPlugin_Parameter();
+
   /// Extrusion kind
   inline static const std::string& ID()
   {
-    static const std::string MY_EXTRUSION_ID("Parameter");
-    return MY_EXTRUSION_ID;
+    static const std::string MY_PARAMETER_ID("Parameter");
+    return MY_PARAMETER_ID;
   }
   /// attribute name of references sketch entities list, it should contain a sketch result or
   /// a pair a sketch result to sketch face
@@ -47,8 +53,18 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature
   /// Request for initialization of data model of the feature: adding all attributes
   PARAMETERSPLUGIN_EXPORT virtual void initAttributes();
 
+  PARAMETERSPLUGIN_EXPORT virtual bool isInHistory(); //false
+
+  PARAMETERSPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID);
+
   /// Use plugin manager for features creation
   ParametersPlugin_Parameter();
+
+ protected:
+  double evaluate(const std::string& theExpression, std::string& theError);
+
+ private:
+  std::shared_ptr<ParametersPlugin_PyInterp> myInterp;
 };
 
 #endif