Salome HOME
Fix for the issue #593: do not remove naming attribute, but use TNaming_Builder for...
[modules/shaper.git] / src / ModelAPI / ModelAPI_Object.h
index b13420f07bdc8d566ca4172db9600f518a849bbe..9d1d04c395f3cfb593370a51ee38a11cd12f2311 100644 (file)
@@ -28,7 +28,6 @@ class ModelAPI_Object
 {
   std::shared_ptr<ModelAPI_Data> myData;  ///< manager of the data model of a feature
   std::shared_ptr<ModelAPI_Document> myDoc;  ///< document this object belongs to
-  bool myInHistory; ///< keep the information about the presense of the object in the history tree
  public:
   /// By default object is displayed in the object browser.
   MODELAPI_EXPORT virtual bool isInHistory();
@@ -54,6 +53,9 @@ class ModelAPI_Object
   /// Request for initialization of data model of the object: adding all attributes
   virtual void initAttributes() = 0;
 
+  /// Returns the feature is disabled or not.
+  virtual bool isDisabled() const = 0;
+
   /// Called on change of any argument-attribute of this object
   /// \param theID identifier of changed attribute
   MODELAPI_EXPORT virtual void attributeChanged(const std::string& theID);
@@ -64,6 +66,15 @@ class ModelAPI_Object
   /// To use virtuality for destructors
   MODELAPI_EXPORT virtual ~ModelAPI_Object();
 
+  /// Returns true if object must be displayed in the viewer: flag is stored in the
+  /// data model, so on undo/redo, open/save or recreation of object by history-playing it keeps
+  /// the original state i nthe current transaction.
+  MODELAPI_EXPORT virtual bool isDisplayed();
+
+  /// Sets the displayed/hidden state of the object. If it is changed, sends the "redisplay"
+  /// signal.
+  MODELAPI_EXPORT virtual void setDisplayed(const bool theDisplay);
+
  protected:
   /// Sets the data manager of an object (document does)
   MODELAPI_EXPORT virtual void setData(std::shared_ptr<ModelAPI_Data> theData);