Salome HOME
The bathymetry is changed to their base altitude class for geometry objects (Bug...
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_DataObject.h
index 72f31ed52780cec3a6202fcb5f0412f4bfadcffd..8f1582885d4b8e4cc4d5610582ae755369a834f2 100644 (file)
@@ -47,7 +47,12 @@ public:
   //! Column id
   enum { 
     RefObjectId = RefEntryId + 1,    //!< Ref.Object column
-    BathymetryId                     //!< Bathymetry column
+    AltitudeObjId                    //!< Altitude column
+  };
+
+  //! Role
+  enum {
+    IsInOperationRole = Qtx::AppropriateRole + 100 //!< Filter value role
   };
 
   /**
@@ -55,10 +60,12 @@ public:
    * \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_DataObject( SUIT_DataObject* theParent,
+  HYDROGUI_DataObject( SUIT_DataObject*         theParent,
                        Handle(HYDROData_Entity) theData,
-                       const QString& theParentEntry );
+                       const QString&           theParentEntry,
+                       const bool               theIsInOperation = false );
     
   /**
    * Returns the unique object identifier string.
@@ -85,6 +92,16 @@ public:
    */
   virtual QColor color( const ColorRole, const int = NameId ) const;
 
+  /**
+   * Returns the object icon.
+   */
+  virtual QPixmap icon( const int = NameId ) const;
+
+  /**
+   * Returns true if renaming is allowed for the object.
+   */
+  virtual bool    renameAllowed( const int = NameId ) const;
+
   /**
    * Returns the model data object.
    */
@@ -113,14 +130,23 @@ public:
 
   /**
    * Returns the validity flag: is object valid or not
-   * \returns false if object is not valid
+   * \return false if object is not valid
    */
   bool isValid() const;
 
+  /**
+   * Returns the usage within active operation flag: 
+   * is the object is used in the local tree of an active operation dialog or not.
+   * \return false if the object is used in the main object browser tree
+   */
+  bool isInOperation() const { return myIsInOperation; }
+
 protected:
   Handle(HYDROData_Entity) myData; ///< object from data model
   QString myParentEntry;
   bool myIsValid; ///< indicates if the object is valid
+  bool myIsInOperation; ///< indicates if the object is used within an active operation
+  QPixmap myIcon;
 };
 
 /**
@@ -139,10 +165,12 @@ public:
    * Constructor.
    * \param theParent parent data object
    * \param theName displayed name
+   * \param theIsInOperation if true then the tree is used for a browser within an operation, it is false by default
    */
   HYDROGUI_NamedObject( SUIT_DataObject* theParent,
-                        const QString& theName,
-                        const QString& theParentEntry  );
+                        const QString&   theName,
+                        const QString&   theParentEntry,
+                        const bool       theIsInOperation = false );
     
   /**
    * Returns the unique object identifier string.
@@ -154,9 +182,23 @@ public:
    */
   virtual QString name() const;
 
+  /**
+   * Returns the object icon.
+   */
+  virtual QPixmap icon( const int = NameId ) const;
+
+  /**
+   * Returns the usage within active operation flag: 
+   * is the object is used in the local tree of an active operation dialog or not.
+   * \return false if the object is used in the main object browser tree
+   */
+  bool isInOperation() const { return myIsInOperation; }
+
 private:
   QString myName; ///< name in the OB
   QString myParentEntry;
+  QPixmap myIcon;
+  bool myIsInOperation; ///< indicates if the object is used within an active operation
 };
 
 /**
@@ -171,10 +213,12 @@ public:
    * Constructor.
    * \param theParent parent data object
    * \param theName displayed name
+   * \param theIsInOperation if true then the tree is used for a browser within an operation, it is false by default
    */
   HYDROGUI_DropTargetObject( SUIT_DataObject* theParent,
-                             const QString& theName,
-                             const QString& theParentEntry  );
+                             const QString&   theName,
+                             const QString&   theParentEntry,
+                             const bool       theIsInOperation = false );
     
   bool isDropAccepted() const { return true; }
 };