X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Feature.h;h=66eb18225d371b0cd2ba02b94a0b50581c36a0dc;hb=09dabb6acd9664f589a0bd9415d804d7a37ab801;hp=6cc9c8b50a5561ad1f0dbea3adb6648bb2fb22a0;hpb=06e20572d1a07d66dc7f906b5306e6174dad27ba;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Feature.h b/src/ModelAPI/ModelAPI_Feature.h index 6cc9c8b50..66eb18225 100644 --- a/src/ModelAPI/ModelAPI_Feature.h +++ b/src/ModelAPI/ModelAPI_Feature.h @@ -28,6 +28,9 @@ class ModelAPI_Feature : public ModelAPI_Object std::list > myResults; ///< is feature disabled or not bool myIsDisabled; + ///< is feature is stable (not editing) + bool myIsStable; + public: /// Returns the unique kind of a feature (like "Point") virtual const std::string& getKind() = 0; @@ -132,6 +135,18 @@ class ModelAPI_Feature : public ModelAPI_Object /// Returns the feature by the object (result). MODELAPI_EXPORT static std::shared_ptr feature(ObjectPtr theObject); + /// Set the stable feature flag. If feature is currently editing then it is not stable. + /// \returns true if state is really changed + MODELAPI_EXPORT virtual bool setStable(const bool theFlag); + + /// Returns the feature is stable or not. + MODELAPI_EXPORT virtual bool isStable(); + + /// Performs some custom feature specific functionality (normally called by some GUI button) + /// \param theActionId an action key + /// \return a boolean value about it is performed + MODELAPI_EXPORT virtual bool customAction(const std::string& theActionId); + // // Helper methods, aliases for data()->method() // -----------------------------------------------------------------------------------------------