Salome HOME
Dump Python in the High Level Parameterized Geometry API (issue #1648)
[modules/shaper.git] / src / ModelAPI / ModelAPI_Object.h
index fd54a5f2d9f8215ccc95e334a39260c404532011..0d9c067d61b761fd715ad6fd252a190512bbe086 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "ModelAPI.h"
 #include "ModelAPI_Data.h"
+#include "ModelAPI_Entity.h"
 
 #include <memory>
 
@@ -24,7 +25,7 @@ class ModelAPI_Document;
  * objects related to the features and their results. Contains attributes of this 
  * object in the "Data".
  */
-class ModelAPI_Object
+class ModelAPI_Object: public ModelAPI_Entity
 {
   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
@@ -54,7 +55,11 @@ class ModelAPI_Object
   virtual void initAttributes() = 0;
 
   /// Returns the feature is disabled or not.
-  virtual bool isDisabled() const = 0;
+  virtual bool isDisabled() = 0;
+
+  /// Returns the parameters of color definition in the resources config manager
+  virtual void colorConfigInfo(std::string& theSection, std::string& theName,
+                               std::string& theDefault) {}
 
   /// Called on change of any argument-attribute of this object
   /// \param theID identifier of changed attribute
@@ -68,7 +73,7 @@ class 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.
+  /// the original state ithe current transaction.
   MODELAPI_EXPORT virtual bool isDisplayed();
 
   /// Sets the displayed/hidden state of the object. If it is changed, sends the "redisplay"
@@ -76,6 +81,10 @@ class ModelAPI_Object
   MODELAPI_EXPORT virtual void setDisplayed(const bool theDisplay);
 
  protected:
+  /// This method is called just after creation of the object: it must initialize
+  /// all fields, normally initialized in the constructor
+  MODELAPI_EXPORT virtual void init() = 0;
+
   /// Sets the data manager of an object (document does)
   MODELAPI_EXPORT virtual void setData(std::shared_ptr<ModelAPI_Data> theData);