X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParametersPlugin%2FParametersPlugin_Parameter.h;h=649e46d2598f6056db45f31c84141f8a919c2254;hb=f03c02cd62fe508c65818d31fdf9dcf69f8cbf35;hp=9b029a1564b69e4c874ea63201ff1bdbf6b58cc4;hpb=c6ba8cc4d757304865c84d35abb1ad693fffa663;p=modules%2Fshaper.git diff --git a/src/ParametersPlugin/ParametersPlugin_Parameter.h b/src/ParametersPlugin/ParametersPlugin_Parameter.h index 9b029a156..649e46d25 100644 --- a/src/ParametersPlugin/ParametersPlugin_Parameter.h +++ b/src/ParametersPlugin/ParametersPlugin_Parameter.h @@ -1,8 +1,21 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: ParametersPlugin_Parameter.h -// Created: 23 MArch 2015 -// Author: sbh +// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #ifndef PARAMETERSPLUGIN_PARAMETER_H_ #define PARAMETERSPLUGIN_PARAMETER_H_ @@ -12,41 +25,40 @@ #include -class ParametersPlugin_PyInterp; - +/** + * \class ParametersPlugin_Parameter + * \ingroup Plugins + * \brief Feature for parameter. + */ class ParametersPlugin_Parameter : public ModelAPI_Feature { public: virtual ~ParametersPlugin_Parameter(); - /// Extrusion kind + /// Feature kind inline static const std::string& 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 + /// attribute of parameter name inline static const std::string& VARIABLE_ID() { static const std::string MY_VARIABLE_ID("variable"); return MY_VARIABLE_ID; } - - /// attribute name of extrusion size + /// attribute of parameter expression inline static const std::string& EXPRESSION_ID() { static const std::string MY_EXPRESSION_ID("expression"); return MY_EXPRESSION_ID; } - - /// attribute name of extrusion size + /// attribute of parameter expression error inline static const std::string& EXPRESSION_ERROR_ID() { static const std::string MY_EXPRESSION_ERROR_ID("ExpressionError"); return MY_EXPRESSION_ERROR_ID; } - /// list of references to the arguments of this expression inline static const std::string& ARGUMENTS_ID() { @@ -54,6 +66,13 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature return MY_ARGUMENTS_ID; } + /// return comment attribute Id + inline static const std::string& COMMENT_ID() + { + static const std::string MY_COMMENT_ID("comment"); + return MY_COMMENT_ID; + } + /// Returns the kind of a feature PARAMETERSPLUGIN_EXPORT virtual const std::string& getKind() { @@ -64,26 +83,28 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature /// Pre-execution is not needed for parameter PARAMETERSPLUGIN_EXPORT virtual bool isPreviewNeeded() const; - /// Creates a new part document if needed + /// Creates a parameter in document PARAMETERSPLUGIN_EXPORT virtual void execute(); /// Request for initialization of data model of the feature: adding all attributes PARAMETERSPLUGIN_EXPORT virtual void initAttributes(); - PARAMETERSPLUGIN_EXPORT virtual bool isInHistory(); //false + /// Reimplemented from ModelAPI_Feature::isInHistory(). Returns false. + PARAMETERSPLUGIN_EXPORT virtual bool isInHistory(); + /// Reimplemented from ModelAPI_Feature::isInHistory(). PARAMETERSPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID); /// Use plugin manager for features creation ParametersPlugin_Parameter(); protected: + /// Evaluates theExpression and returns its value. double evaluate(const std::string& theExpression, std::string& theError); + /// Updates name of the parameter void updateName(); - void updateExpression(); - - private: - std::shared_ptr myInterp; + /// Updates expression of the parameter + bool updateExpression(); }; #endif