Salome HOME
Creat\Edit stream operation.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_DataObject.h
index 80451830be0cf474167b0709647e15093a992020..72f31ed52780cec3a6202fcb5f0412f4bfadcffd 100644 (file)
@@ -80,6 +80,11 @@ public:
    */
   virtual QFont font( const int = SUIT_DataObject::NameId ) const;
 
+  /**
+   * Returns the object color.
+   */
+  virtual QColor color( const ColorRole, const int = NameId ) const;
+
   /**
    * Returns the model data object.
    */
@@ -100,15 +105,22 @@ public:
    */
   static QString dataObjectEntry( const Handle(HYDROData_Entity)& theObject,
                                   const bool theWithPrefix = true );
+  /**
+   * Sets the validity flag: if object is valid or not.
+   * \param theIsValid is true for valid objects, false for invalid
+   */
+  void setIsValid( const bool theIsValid );
 
   /**
-   * Returns true if it is a zone which needs merge of bathymetries.
+   * Returns the validity flag: is object valid or not
+   * \returns false if object is not valid
    */
-  virtual bool isMergingNeed() const { return false; }
+  bool isValid() const;
 
 protected:
   Handle(HYDROData_Entity) myData; ///< object from data model
   QString myParentEntry;
+  bool myIsValid; ///< indicates if the object is valid
 };
 
 /**
@@ -147,4 +159,24 @@ private:
   QString myParentEntry;
 };
 
+/**
+ * \brief Module data object, used for dropping items in the object browser.
+ *
+ * It inherits NamedObject with only difference - it accepts dropping.
+ */
+class HYDROGUI_DropTargetObject : public HYDROGUI_NamedObject
+{
+public:
+  /**
+   * Constructor.
+   * \param theParent parent data object
+   * \param theName displayed name
+   */
+  HYDROGUI_DropTargetObject( SUIT_DataObject* theParent,
+                             const QString& theName,
+                             const QString& theParentEntry  );
+    
+  bool isDropAccepted() const { return true; }
+};
+
 #endif