#ifndef HYDROGUI_DATAOBJECT_H
#define HYDROGUI_DATAOBJECT_H
-#include "HYDROGUI.h"
-
#include <HYDROData_Object.h>
#include <LightApp_DataObject.h>
* 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_Object) 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.
*/
void setObject( Handle(HYDROData_Object) theObject ) { myData = theObject; }
/**
- * Returns \a HYDROGUI_DataObject by the entry string of this object.
- * \returns NULL if this is not HYDRO entry, or cannot cast to HYDROGUI_DataObject
+ * Returns the entry prefix for all HYDRO data objects.
*/
- static HYDROGUI_DataObject* objectByEntry( const QString& theEntry );
+ static QString entryPrefix() { return QString( "HYDRO:" ); }
+
+ /**
+ * Returns the full entry for the specified data object.
+ */
+ static QString dataObjectEntry( const Handle(HYDROData_Object)& theObject );
protected:
Handle(HYDROData_Object) myData; ///< object from data model
- QString myEntry; ///< optimization: store generated entry to return it quickly
- int myStudyId; ///< the study identifier: check an object validity in the corresponded document
+ QString myParentEntry;
};
/**
*/
virtual QString name() const;
- /**
- * Returns name of the named object that is identified by this entry.
- * \param theEntry entry of the object (used for selection identification).
- * \returns name of the object, or empty string if it is not HYDRO named object
- */
- static QString nameByEntry( const QString& theEntry );
-
private:
QString myName; ///< name in the OB
};