Salome HOME
add method NameChanged to update title name
[modules/kernel.git] / src / SALOMEDSImpl / SALOMEDSImpl_AttributeIOR.cxx
index 8983f3d949dd03397a46faef21802ea2c18cdc2f..f5c8ec76464fdf2898f38a0164eb7d744b78b6af 100644 (file)
@@ -65,8 +65,19 @@ void SALOMEDSImpl_AttributeIOR::SetValue(const std::string& theValue)
   CheckLocked();
 
   Backup();
+  //remove IOR entry in study
+  if(theValue != myString)
+    {
+      SALOMEDSImpl_Study* study=SALOMEDSImpl_Study::GetStudy(Label());
+      study->RegisterGenObj(theValue, Label());
+      study->UnRegisterGenObj(myString, Label());
+      study->DeleteIORLabelMapItem(myString);
+    }
 
   myString = theValue;
+
+  //add IOR entry in study
+  SALOMEDSImpl_Study::IORUpdated(this);
   
   //Reason = 5 means that IOR attribute updated
   //Used in the gui module to detect that IOR attribure was assigned to the object
@@ -93,6 +104,7 @@ SALOMEDSImpl_AttributeIOR::SALOMEDSImpl_AttributeIOR()
 
 SALOMEDSImpl_AttributeIOR::~SALOMEDSImpl_AttributeIOR()
 {
+  SALOMEDSImpl_Study::UnRegisterGenObj(myString, Label());
 }
 
 //=======================================================================