+QColor HYDROGUI_DataObject::color( const ColorRole theRole, const int theId ) const
+{
+ QColor aColor;
+
+ if ( !isValid() ) {
+ switch ( theRole )
+ {
+ case Text:
+ case Foreground:
+ case Highlight:
+ aColor = Qt::red; // red
+ break;
+ case HighlightedText:
+ // text color for the highlighted item
+ aColor = Qt::white; // white
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ if ( !aColor.isValid() )
+ {
+ Handle(HYDROData_Entity) aDataObject = modelObject();
+ if( !aDataObject.IsNull() && aDataObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) )
+ {
+ switch ( theRole )
+ {
+ case Text:
+ case Foreground:
+ case Highlight:
+ aColor = Qt::blue; // color for objects which need updating
+ break;
+ case HighlightedText:
+ // text color for the highlighted item
+ aColor = Qt::white; // white
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+
+ if ( !aColor.isValid() ) {
+ aColor = LightApp_DataObject::color( theRole, theId );
+ }
+
+ return aColor;
+}
+
+QPixmap HYDROGUI_DataObject::icon( const int theId ) const
+{
+ SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
+ if ( theId == NameId )
+ {
+ QString anIcon;
+ Handle(HYDROData_Entity) aDataObject = modelObject();
+ if( aDataObject.IsNull() )
+ {
+ anIcon = QObject::tr( "HYDRO_TYPE0_ICO" ); // KIND_UNKNOWN
+ }
+ else
+ {
+ QString aNeedUpdate( aDataObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) ? "M_" : "" );
+
+ int anObjectKind = (int)aDataObject->GetKind();
+ if ( anObjectKind == KIND_DUMMY_3D )
+ {
+ Handle(HYDROData_DummyObject3D) anObject3D =
+ Handle(HYDROData_DummyObject3D)::DownCast( aDataObject );
+
+ Handle(HYDROData_Object) aFatherObj = anObject3D->GetObject();
+ if ( !aFatherObj.IsNull() )
+ anObjectKind = aFatherObj->GetKind();
+ }
+
+ anIcon = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toAscii() );
+ }
+
+ return aResMgr->loadPixmap( "HYDRO", anIcon );
+ }
+ return LightApp_DataObject::icon( theId );
+}
+