X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Object.cxx;h=64530903e6def5149778aefb12b7b2302190613d;hb=51aede29b04122754c8e8897ca37fcc9823839be;hp=7dfbe8134ae4531f34a0a390c5ec1bc35c2fa972;hpb=a079934858ab030e4c64d72d4e4e944a4a609fd6;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Object.cxx b/src/HYDROData/HYDROData_Object.cxx index 7dfbe813..64530903 100644 --- a/src/HYDROData/HYDROData_Object.cxx +++ b/src/HYDROData/HYDROData_Object.cxx @@ -25,6 +25,35 @@ HYDROData_Object::~HYDROData_Object() { } +void HYDROData_Object::SetName( const QString& theName ) +{ + QString anOldObjName = GetName(); + if ( anOldObjName != theName ) + { + HYDROData_SequenceOfObjects aGroups = GetGroups(); + HYDROData_SequenceOfObjects::Iterator anIter( aGroups ); + for ( ; anIter.More(); anIter.Next() ) + { + Handle(HYDROData_ShapesGroup) aGroup = + Handle(HYDROData_ShapesGroup)::DownCast( anIter.Value() ); + if ( aGroup.IsNull() ) + continue; + + QString aGroupName = aGroup->GetName(); + if ( anOldObjName.isEmpty() ) + aGroupName.prepend( theName + "_" ); + else if ( aGroupName.startsWith( anOldObjName ) ) + aGroupName.replace( anOldObjName, theName ); + else + continue; + + aGroup->SetName( aGroupName ); + } + } + + HYDROData_Entity::SetName( theName ); +} + void HYDROData_Object::Update() { HYDROData_Entity::Update();