X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Document.h;h=773ec389cf5a49b52cd8259c8374a5b28e8f6119;hb=5d0a4d3dd908602b7673680523dfaad1962932e5;hp=a76ee1a2c98ca9c0e365c33ef07412634fd9f216;hpb=15822811a0c323a95d1a6ac80fcbe3481988b4f0;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Document.h b/src/ModelAPI/ModelAPI_Document.h index a76ee1a2c..773ec389c 100644 --- a/src/ModelAPI/ModelAPI_Document.h +++ b/src/ModelAPI/ModelAPI_Document.h @@ -27,7 +27,12 @@ class ModelAPI_Data; */ class ModelAPI_Document { - public: +public: + //! Returns the kind of the document: "PartSet", "Part", or something else. + //! This kind is used for feature buttons enable/disable depending on active document + //! (it uses workbench "document" identifier in XML configuration file for this) + virtual const std::string& kind() const = 0; + //! Removes document data virtual void close() = 0; @@ -36,11 +41,11 @@ class ModelAPI_Document virtual boost::shared_ptr addFeature(std::string theID) = 0; //! Removes the feature from the document - virtual void removeFeature(boost::shared_ptr theFeature) = 0; + virtual void removeFeature(boost::shared_ptr theFeature, + const bool theCheck = true) = 0; ///! Adds a new sub-document by the identifier, or returns existing one if it is already exist - virtual boost::shared_ptr - subDocument(std::string theDocID) = 0; + virtual boost::shared_ptr subDocument(std::string theDocID) = 0; ///! Returns the id of the document virtual const std::string& id() const = 0; @@ -49,8 +54,9 @@ class ModelAPI_Document //! \param theGroupID group that contains an object //! \param theIndex zero-based index of feature in the group //! \param theHidden if it is true, it counts also the features that are not in tree - virtual boost::shared_ptr - object(const std::string& theGroupID, const int theIndex, const bool theHidden = false) = 0; + virtual boost::shared_ptr object(const std::string& theGroupID, + const int theIndex, + const bool theHidden = false) = 0; //! Returns the number of objects in the group of objects //! If theHidden is true, it counts also the features that are not in tree @@ -75,7 +81,10 @@ class ModelAPI_Document virtual boost::shared_ptr feature( const boost::shared_ptr& theResult) = 0; - protected: + ///! Reutrns true is result was conecaled because of usage it by other object + virtual bool isConcealed(const boost::shared_ptr& theResult) = 0; + +protected: /// Only for SWIG wrapping it is here MODELAPI_EXPORT ModelAPI_Document() {