* \param theParent parent data object
* \param theData reference to the corresponding object from data structure
* \param theParentEntry entry of the parent data object (for reference objects)
+ * \param theIsInOperation if true then the tree is used for a browser within an operation, it is false by default
*/
- HYDROGUI_Zone( SUIT_DataObject* theParent,
- Handle(HYDROData_Zone) theData,
- const QString& theParentEntry );
+ HYDROGUI_Zone( SUIT_DataObject* theParent,
+ Handle(HYDROData_Zone) theData,
+ const QString& theParentEntry,
+ const bool theIsInOperation = false );
/**
* Returns the text for the specified column.
*/
- QString text( const int = NameId ) const override;
+ QString text( const int = NameId ) const;
/**
* Returns the color for the specified column.
*/
- QColor color( const ColorRole, const int = NameId ) const override;
+ QColor color( const ColorRole theColorRole, const int theColumnId = NameId ) const;
+
+ /**
+ * Return true because zones are draggable.
+ */
+ bool isDraggable() const { return true; }
+
+ bool renameAllowed( const int = NameId ) const;
+ //bool setName( const QString& );
/**
* Returns true if it is a zone which needs merge of bathymetries.
*/
- bool isMergingNeed() const override;
+ bool isMergingNeed() const;
+ /**
+ * Returns the list of bathymetries names.
+ */
QStringList getBathymetries() const;
+ /**
+ * Returns the merging type for conflict bathymetries.
+ */
+ HYDROData_Zone::MergeBathymetriesType getMergeType() const;
+
+ /**
+ * Set the merging type for conflict bathymetries.
+ * If the type is Merge_Object then use the second parameter to set the merge bathymetry.
+ */
+ void setMergeType( int theMergeType, QString theBathymetryName = QString() );
+
private:
QString getRefObjectNames() const;
QString getBathimetryName() const;