X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParametersPlugin%2FParametersPlugin_EvalListener.h;h=76639caef039b10245949a594ea85a53ffc14166;hb=09dabb6acd9664f589a0bd9415d804d7a37ab801;hp=50c5727f2e195f097f48642872c0adea63b6aefc;hpb=c285a7ee449e8cf5de6f94a2170b9587587afe65;p=modules%2Fshaper.git diff --git a/src/ParametersPlugin/ParametersPlugin_EvalListener.h b/src/ParametersPlugin/ParametersPlugin_EvalListener.h index 50c5727f2..76639caef 100644 --- a/src/ParametersPlugin/ParametersPlugin_EvalListener.h +++ b/src/ParametersPlugin/ParametersPlugin_EvalListener.h @@ -11,19 +11,55 @@ #include #include +class ModelAPI_Attribute; +class ModelAPI_Document; +class ModelAPI_Feature; +class ModelAPI_ResultParameter; +class ParametersPlugin_Parameter; class ParametersPlugin_PyInterp; -class PARAMETERSPLUGIN_EXPORT ParametersPlugin_EvalListener : public Events_Listener +/** + * \class ParametersPlugin_EvalListener + * \ingroup Plugins + * \brief Class which process the events from the event loop. + */ +class ParametersPlugin_EvalListener : public Events_Listener { public: - ParametersPlugin_EvalListener(); - virtual ~ParametersPlugin_EvalListener(); + PARAMETERSPLUGIN_EXPORT ParametersPlugin_EvalListener(); + PARAMETERSPLUGIN_EXPORT virtual ~ParametersPlugin_EvalListener(); - virtual void processEvent(const std::shared_ptr& theMessage); + /// Reimplemented from Events_Listener::processEvent(). + PARAMETERSPLUGIN_EXPORT virtual void processEvent(const std::shared_ptr& theMessage); protected: - double evaluate(const std::string& theExpression, - std::string& theError) ; + /// Evaluates theExpression and returns its value. + double evaluate(std::shared_ptr theParameter, + const std::string& theExpression, std::string& theError); + + /// Processes Evaluation event. + void processEvaluationEvent(const std::shared_ptr& theMessage); + /// Processes ObjectRenamed event. + void processObjectRenamedEvent(const std::shared_ptr& theMessage); + /// Processes ReplaceParameter event. + void processReplaceParameterEvent(const std::shared_ptr& theMessage); + + /// Renames theOldName in theExpression by theNewName. + std::string renameInPythonExpression(const std::string& theExpression, + const std::string& theOldName, + const std::string& theNewName); + /// Renames theOldName in the expression attribute of theParameter by theNewName. + void renameInParameter(std::shared_ptr theParameter, + const std::string& theOldName, + const std::string& theNewName); + /// Renames theOldName in the text fields of theAttribute by theNewName. + void renameInAttribute(std::shared_ptr theAttribute, + const std::string& theOldName, + const std::string& theNewName); + /// Renames theOldName in all dependents of theResultParameter by theNewName. + void renameInDependents(std::shared_ptr theResultParameter, + const std::string& theOldName, + const std::string& theNewName); private: std::shared_ptr myInterp;