Salome HOME
merge BR_v14_rc
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ChannelOp.cxx
index d3acb739e14bff037b69c9c7c6888d61821c6283..1141a0061dce47da48d3e97124fc870ccb7ba39d 100644 (file)
@@ -181,23 +181,37 @@ bool HYDROGUI_ChannelOp::processApply( int& theUpdateFlags,
 
   QString aGuideLineName = aPanel->getGuideLineName();
   QString aProfileName = aPanel->getProfileName();
-  if ( aGuideLineName.isEmpty() || aProfileName.isEmpty() )
+  /*if ( aGuideLineName.isEmpty() || aProfileName.isEmpty() )
   {
     myEditedObject->RemoveGuideLine();
     myEditedObject->RemoveProfile();
   }
-  else
+  else*/
   {
     Handle(HYDROData_Polyline3D) aGuideLine = Handle(HYDROData_Polyline3D)::DownCast(
       HYDROGUI_Tool::FindObjectByName( module(), aGuideLineName, KIND_POLYLINE ) );
+    if ( aGuideLine.IsNull() )
+    {
+      theErrorMsg = tr( "GUIDE_LINE_IS_NOT_SELECTED" );
+      return false;
+    }
+
+    myEditedObject->RemoveGuideLine();
     myEditedObject->SetGuideLine( aGuideLine );
 
     Handle(HYDROData_Profile) aProfile = Handle(HYDROData_Profile)::DownCast(
       HYDROGUI_Tool::FindObjectByName( module(), aProfileName, KIND_PROFILE ) );
+    if ( aProfile.IsNull() )
+    {
+      theErrorMsg = tr( "PROFILE_IS_NOT_SELECTED" );
+      return false;
+    }
+
+    myEditedObject->RemoveProfile();
     myEditedObject->SetProfile( aProfile );
   }
 
-  if ( myEditedObject->IsMustBeUpdated() )
+  if ( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d ) )
     myEditedObject->Update();
 
   erasePreview();