X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_DataObject.cxx;h=cc62a54a38a1aa759bca0bbc2c597613f23e6ebf;hb=a1431f03eac1d1aed4203d0568d987c41ce939b3;hp=a201b3e6320de970b369cc2cc1e73644199a524c;hpb=141b5c32908e3f89f9d5cfaa46872274397d6b9d;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_DataObject.cxx b/src/HYDROGUI/HYDROGUI_DataObject.cxx index a201b3e6..cc62a54a 100644 --- a/src/HYDROGUI/HYDROGUI_DataObject.cxx +++ b/src/HYDROGUI/HYDROGUI_DataObject.cxx @@ -22,20 +22,31 @@ #include "HYDROGUI_DataObject.h" -#include +#include +#include + #include + +#include #include #include +#include +#include +#include +#include + #include HYDROGUI_DataObject::HYDROGUI_DataObject( SUIT_DataObject* theParent, Handle(HYDROData_Entity) theData, - const QString& theParentEntry ) + const QString& theParentEntry, + const bool theIsInOperation ) : CAM_DataObject( theParent ), LightApp_DataObject( theParent ), myData( theData ), myParentEntry( theParentEntry ), - myIsValid( true ) + myIsValid( true ), + myIsInOperation( theIsInOperation ) { } @@ -141,12 +152,20 @@ QPixmap HYDROGUI_DataObject::icon( const int theId ) const } else { - QString aNeedUpdate = ""; - if ( aDataObject->IsMustBeUpdated() ) + QString aNeedUpdate( aDataObject->IsMustBeUpdated() ? "M_" : "" ); + + int anObjectKind = (int)aDataObject->GetKind(); + if ( anObjectKind == KIND_DUMMY_3D ) { - aNeedUpdate = "M_"; + 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( (int)aDataObject->GetKind() ).toAscii() ); + + anIcon = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toAscii() ); } return aResMgr->loadPixmap( "HYDRO", anIcon ); @@ -179,13 +198,39 @@ 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 = LightApp_DataObject::renameAllowed( theColumnId ); + } + return aRes; +} + + + HYDROGUI_NamedObject::HYDROGUI_NamedObject( SUIT_DataObject* theParent, const QString& theName, - const QString& theParentEntry ) + const QString& theParentEntry, + const bool theIsInOperation ) : CAM_DataObject( theParent ), LightApp_DataObject( theParent ), myName( theName ), - myParentEntry( theParentEntry ) + myParentEntry( theParentEntry ), + myIsInOperation( theIsInOperation ) { } @@ -214,7 +259,9 @@ QPixmap HYDROGUI_NamedObject::icon( const int theId ) const HYDROGUI_DropTargetObject::HYDROGUI_DropTargetObject( SUIT_DataObject* theParent, const QString& theName, - const QString& theParentEntry ) -: HYDROGUI_NamedObject( theParent, theName, theParentEntry ), CAM_DataObject( theParent ) + const QString& theParentEntry, + const bool theIsInOperation ) +: HYDROGUI_NamedObject( theParent, theName, theParentEntry, theIsInOperation ), + CAM_DataObject( theParent ) { }