+ 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();
+ bool IsUnsImmZone = false;
+ 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 ).toLatin1() );
+ }
+ else if ( !anObject.IsNull() )
+ {
+ bool IsSubm = anObject->IsSubmersible();
+ QString anIcon1 = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toLatin1() );
+ QString anIcon2;
+ if (IsSubm)
+ anIcon2 = QObject::tr( QString("HYDRO_SUBMERSIBLE16_ICO").toLatin1());
+ else
+ anIcon2 = QObject::tr( QString("HYDRO_UNSUBMERSIBLE16_ICO").toLatin1());
+
+ QPixmap qpm1 = aResMgr->loadPixmap( "HYDRO", anIcon1 );
+ QPixmap qpm2 = aResMgr->loadPixmap( "HYDRO", anIcon2 );
+ QPixmap qpmD(32,16);
+ qpmD.fill(QColor(0,0,0));
+ QPainter painter;
+ painter.begin(&qpmD);
+ painter.drawPixmap(0, 0, qpm1);
+ painter.drawPixmap(16, 0, qpm2);
+ painter.end();
+ return qpmD;
+ }
+ else if (anObjectKind == KIND_BC_POLYGON)
+ {
+ Handle(HYDROData_BCPolygon) aBCObj = Handle(HYDROData_BCPolygon)::DownCast( aDataObject );
+ int aBT = aBCObj->GetBoundaryType();
+ if (aBT == 1)
+ anIcon = QObject::tr( QString("HYDRO_BC_POLYGON_TYPE1_ICO").toLatin1());
+ else if (aBT == 2)
+ anIcon = QObject::tr( QString("HYDRO_BC_POLYGON_TYPE2_ICO").toLatin1());
+ else if (aBT == 3)
+ anIcon = QObject::tr( QString("HYDRO_BC_POLYGON_TYPE3_ICO").toLatin1());
+ else
+ anIcon = QObject::tr( QString("HYDRO_BC_POLYGON_TYPE_UNDEF_ICO").toLatin1());
+ }
+ else
+ anIcon = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toLatin1() );
+ }
+
+ return aResMgr->loadPixmap( "HYDRO", anIcon );
+ }
+ return PARENT::icon( theId );
+}
+
+QString HYDROGUI_DataObject::dataObjectEntry( const Handle(HYDROData_Entity)& theObject,
+ const bool theWithPrefix )
+{
+ QString aEntryStr = QString::null;
+ if( !theObject.IsNull() )
+ {
+ TCollection_AsciiString aLabEntr;
+ TDF_Tool::Entry( theObject->Label(), aLabEntr );
+ aEntryStr = aLabEntr.ToCString();
+ if( theWithPrefix )
+ aEntryStr.prepend( HYDROGUI_DataObject::entryPrefix() );
+ }
+ return aEntryStr;
+}
+
+void HYDROGUI_DataObject::setIsValid( const bool theIsValid )
+{
+ myIsValid = theIsValid;
+}
+
+bool HYDROGUI_DataObject::isValid() const
+{
+ return myIsValid;
+}
+
+bool HYDROGUI_DataObject::renameAllowed( const int theColumnId ) const
+{
+ bool aRes = false;
+ if ( theColumnId == NameId && module())
+ {
+ SUIT_Operation* anOp = module()->application()->activeStudy()->activeOperation();
+ if ( anOp && anOp->inherits( "HYDROGUI_CalculationOp" ) )
+ {
+ aRes = isInOperation();
+ }
+ else
+ {
+ aRes = !anOp;
+ }
+ }
+ else
+ {
+ aRes = PARENT::renameAllowed( theColumnId );
+ }
+ return aRes;
+}
+
+void HYDROGUI_DataObject::updateBy( SUIT_DataObject* theObj )
+{
+ HYDROGUI_DataObject* aDataObj = dynamic_cast<HYDROGUI_DataObject*>( theObj );
+ if( !aDataObj )
+ return;
+
+ myData = aDataObj->myData;
+ myParentEntry = aDataObj->myParentEntry;
+ myIsValid = aDataObj->myIsValid;
+ myIsInOperation = aDataObj->myIsInOperation;
+ myIcon = aDataObj->myIcon;
+ setModified( true );