#ifndef HYDROGUI_DATAOBJECT_H
#define HYDROGUI_DATAOBJECT_H
-#include <HYDROData_Object.h>
+#include <HYDROData_Entity.h>
#include <LightApp_DataObject.h>
#include <QString>
#include <QMap>
#include <QPixmap>
+#include <QColor>
/**
* \class HYDROGUI_DataObject
class HYDROGUI_DataObject : public LightApp_DataObject
{
public:
+ //! Column id
+ enum {
+ RefObjectId = RefEntryId + 1, //!< Ref.Object column
+ BathymetryId //!< Bathymetry column
+ };
+
/**
* Constructor.
* \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)
*/
HYDROGUI_DataObject( SUIT_DataObject* theParent,
- Handle(HYDROData_Object) theData );
+ Handle(HYDROData_Entity) theData,
+ const QString& theParentEntry );
/**
* Returns the unique object identifier string.
*/
virtual QString entry() const;
+ /**
+ * Returns the entry of the referenced object.
+ */
+ virtual QString refEntry() const;
+
/**
* Returns the name of object.
*/
virtual QString name() const;
+ /**
+ * Returns the font of displayed object name.
+ */
+ virtual QFont font( const int = SUIT_DataObject::NameId ) const;
+
/**
* Returns the model data object.
*/
- const Handle(HYDROData_Object)& modelObject() const { return myData; }
+ const Handle(HYDROData_Entity)& modelObject() const { return myData; }
/**
* Redefines the object.
*/
- void setObject( Handle(HYDROData_Object) theObject ) { myData = theObject; }
+ void setObject( const Handle(HYDROData_Entity)& theObject ) { myData = theObject; }
/**
* Returns the entry prefix for all HYDRO data objects.
*/
- static QString entryPrefix() { return QString( "HYDRO_" ); }
+ static QString entryPrefix() { return QString( "HYDRO:" ); }
/**
* Returns the full entry for the specified data object.
*/
- static QString dataObjectEntry( const Handle(HYDROData_Object)& theObject );
+ static QString dataObjectEntry( const Handle(HYDROData_Entity)& theObject,
+ const bool theWithPrefix = true );
+
+ /**
+ * Returns the text for the specified column.
+ */
+ virtual QString text( const int = NameId ) const;
+
+ /**
+ * Returns the color for the specified column.
+ */
+ virtual QColor color( const ColorRole, const int = NameId ) const;
protected:
- Handle(HYDROData_Object) myData; ///< object from data model
+ Handle(HYDROData_Entity) myData; ///< object from data model
+ QString myParentEntry;
};
/**
* \param theName displayed name
*/
HYDROGUI_NamedObject( SUIT_DataObject* theParent,
- const QString& theName );
+ const QString& theName,
+ const QString& theParentEntry );
/**
* Returns the unique object identifier string.
private:
QString myName; ///< name in the OB
+ QString myParentEntry;
};
#endif