Salome HOME
Refs #288 - the profile section selected and addition mode is activated
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_StreamOp.cxx
index bd7085f4efd7aa086b947998ae6fbd69c69bdfdb..66178e7d720e6db6e872be9e451027ad5d897537 100755 (executable)
@@ -80,6 +80,9 @@ void HYDROGUI_StreamOp::startOperation()
   // Get/create the edited object
   if( myIsEdit ) {
     myEditedObject = Handle(HYDROData_Stream)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
+    if ( !myEditedObject.IsNull() && myEditedObject->IsMustBeUpdated() ) {
+      myEditedObject->Update();
+    }
   } else {
     myEditedObject = Handle(HYDROData_Stream)::DownCast( doc()->CreateObject( KIND_STREAM ) );
   }
@@ -218,7 +221,7 @@ void HYDROGUI_StreamOp::createPreview()
   }
 
   if ( myPreviewPrs ) {
-    myPreviewPrs->update();  
+    myPreviewPrs->update( true, true );  
   }
 }
 
@@ -306,7 +309,7 @@ void HYDROGUI_StreamOp::onAddProfiles()
       Handle(HYDROData_Profile)::DownCast( aVerifiedProfiles.Value( i ) );
     myEditedObject->AddProfile( aProfile );
   }
-  myEditedObject->Update();
+  myEditedObject->UpdatePrs();
 
   // Update the panel
   updatePanelData();
@@ -346,7 +349,7 @@ void HYDROGUI_StreamOp::onRemoveProfiles( const QStringList& theProfilesToRemove
 
   if ( isRemoved ) {
     // Update the edited stream object
-    myEditedObject->Update();
+    myEditedObject->UpdatePrs();
 
     // Update the panel
     updatePanelData();
@@ -413,7 +416,7 @@ void HYDROGUI_StreamOp::onAxisChanged( const QString& theNewAxis )
   } else {
     // Set axis
     myEditedObject->SetHydraulicAxis( anAxis );
-    myEditedObject->Update();
+    myEditedObject->UpdatePrs();
 
     // Update the panel
     updatePanelData();
@@ -426,7 +429,7 @@ void HYDROGUI_StreamOp::onAxisChanged( const QString& theNewAxis )
 void HYDROGUI_StreamOp::updatePanelData()
 {
   HYDROGUI_StreamDlg* aPanel = ::qobject_cast<HYDROGUI_StreamDlg*>( inputPanel() );
-  if ( !aPanel ) {
+  if ( !aPanel || myEditedObject.IsNull() ) {
     return;
   }