Salome HOME
Minor changes.
[modules/hydro.git] / src / HYDROData / HYDROData_Object.cxx
index 7dfbe8134ae4531f34a0a390c5ec1bc35c2fa972..64530903e6def5149778aefb12b7b2302190613d 100644 (file)
@@ -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();