#include "HYDROGUI_DataObject.h"
#include <HYDROData_Image.h>
+#include <HYDROData_Zone.h>
+#include <HYDROData_Object.h>
+#include <HYDROData_Bathymetry.h>
#include <SUIT_DataObject.h>
#include <TDF_Tool.hxx>
HYDROGUI_DataObject::HYDROGUI_DataObject( SUIT_DataObject* theParent,
- Handle(HYDROData_Object) theData,
+ Handle(HYDROData_Entity) theData,
const QString& theParentEntry )
: CAM_DataObject( theParent ),
LightApp_DataObject( theParent ),
return aFont;
}
-QString HYDROGUI_DataObject::dataObjectEntry( const Handle(HYDROData_Object)& theObject,
+QString HYDROGUI_DataObject::text( const int theColumnId ) const
+{
+ QString aRes;
+ if( !myData.IsNull() )
+ {
+ if ( theColumnId == RefObjectId || theColumnId == BathymetryId )
+ {
+ Handle(HYDROData_Zone) aZone = Handle(HYDROData_Zone)::DownCast( myData );
+ if ( !aZone.IsNull() )
+ {
+ HYDROData_SequenceOfObjects::Iterator anIter( aZone->GetGeometryObjects() );
+ for ( ; anIter.More(); anIter.Next() )
+ {
+ Handle(HYDROData_Object) aRefGeomObj =
+ Handle(HYDROData_Object)::DownCast( anIter.Value() );
+ if ( !aRefGeomObj.IsNull() )
+ {
+ switch ( theColumnId )
+ {
+ case RefObjectId:
+ // Get Ref.Object name
+ aRes += aRefGeomObj->GetName() + ", ";
+ break;
+ case BathymetryId:
+ // Get bathymetry name
+ aRes += aRefGeomObj->GetBathymetry()->GetName();
+ }
+ }
+ }
+ }
+ if ( aRes.length() > 1 )
+ {
+ aRes.remove( aRes.length() - 2, 2 );
+ }
+ }
+ else
+ {
+ aRes = LightApp_DataObject::text( theColumnId );
+ }
+ }
+ return aRes;
+}
+
+QColor HYDROGUI_DataObject::color( const ColorRole theColorRole, const int theColumnId ) const
+{
+ //TODO: Implement red color for bathymetry conflicts in case creation dialog
+ return LightApp_DataObject::color( theColorRole, theColumnId );
+}
+
+
+QString HYDROGUI_DataObject::dataObjectEntry( const Handle(HYDROData_Entity)& theObject,
const bool theWithPrefix )
{
QString aEntryStr = QString::null;