- /// Recoursively checks and updates the object if needed
- /// Returns true if object was updated.
- bool updateObject(boost::shared_ptr<ModelAPI_Object> theObject);
+ /// updates all features in the document and then - in sub-documents
+ void updateInDoc(std::shared_ptr<ModelAPI_Document> theDoc);
+ /// Recoursively checks and updates the feature if needed (calls the execute method)
+ /// Returns true if feature was updated.
+ void updateFeature(std::shared_ptr<ModelAPI_Feature> theFeature);
+
+ /// Updates the selection and parametrical arguments before the later feature analysis
+ void updateArguments(std::shared_ptr<ModelAPI_Feature> theFeature);
+
+ /// Sends the redisplay events for feature and results, updates the updated status
+ void redisplayWithResults(std::shared_ptr<ModelAPI_Feature> theFeature,
+ const ModelAPI_ExecState theState);
+
+ /// On operation start/end/abort the "Just" fileds must be cleared and processed in the right way
+ /// \param theTotalUpdate force to updates everything that has been changed in this operation
+ void processOperation(const bool theTotalUpdate, const bool theFinish = false);
+
+ /// Performs the feature execution
+ /// \returns the status of execution
+ void executeFeature(std::shared_ptr<ModelAPI_Feature> theFeature);
+
+ /// returns true if the object was created or updated
+ bool isUpdated(const std::shared_ptr<ModelAPI_Object>& theObj);