+ //! \param theCurrent the selected feature as current: blow it everythin become disabled
+ //! \param theVisible use visible features only: flag is true for Object Browser functionality
+ MODEL_EXPORT virtual void setCurrentFeature(std::shared_ptr<ModelAPI_Feature> theCurrent,
+ const bool theVisible);
+
+ //! Makes the current feature one feature upper
+ MODEL_EXPORT virtual void setCurrentFeatureUp();
+
+ //! Returns the number of all features: in the history or not
+ MODEL_EXPORT virtual int numInternalFeatures();
+ //! Returns the feature by zero-based index: features in the history or not
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Feature> internalFeature(const int theIndex);
+ //! Performs synchronization of transactions with the module document:
+ //! If some document is not active (by undo of activation) but in memory,
+ //! on activation the transactions must be synchronised because all redos performed
+ //! wihtout this participation
+ MODEL_EXPORT virtual void synchronizeTransactions();
+
+ //! Returns feature by the id of the feature (produced by the Data "featureId" method)
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Feature> featureById(const int theId);
+