X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_StreamOp.cxx;h=6162acb8e391d9ae2836e8f09dc9e084886dbd42;hb=a0af24ffefdde80cb89a80cc048fbb72f4479139;hp=95f61a98227a01618a3219457e2bba5092979019;hpb=2cf9e838e652ae811d9b3931914771ad1836c6b8;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_StreamOp.cxx b/src/HYDROGUI/HYDROGUI_StreamOp.cxx index 95f61a98..6162acb8 100755 --- a/src/HYDROGUI/HYDROGUI_StreamOp.cxx +++ b/src/HYDROGUI/HYDROGUI_StreamOp.cxx @@ -92,7 +92,8 @@ void HYDROGUI_StreamOp::startOperation() { HYDROGUI_Operation::startOperation(); - myEditedObject.Nullify(); + if ( !myIsEdit || isApplyAndClose() ) + myEditedObject.Nullify(); myHydAxis.clear(); myProfiles.clear(); myProfileParams.clear(); @@ -104,8 +105,9 @@ void HYDROGUI_StreamOp::startOperation() QString anObjectName = HYDROGUI_Tool::GenerateObjectName( module(), tr( "DEFAULT_STREAM_NAME" ) ); if ( myIsEdit ) { - myEditedObject = - Handle(HYDROData_Stream)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) ); + if ( isApplyAndClose() ) + myEditedObject = + Handle(HYDROData_Stream)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) ); if ( !myEditedObject.IsNull() ) { anObjectName = myEditedObject->GetName(); @@ -433,20 +435,7 @@ void HYDROGUI_StreamOp::onAddProfiles() void HYDROGUI_StreamOp::onRemoveProfiles( const QStringList& theProfilesToRemove ) { QStringList aToRemove = theProfilesToRemove; - - // Take the Object Browser selection into account - HYDROData_SequenceOfObjects aSelectedObjects = HYDROGUI_Tool::GetSelectedObjects( module() ); - for( int i = 1, n = aSelectedObjects.Length(); i <= n; i++ ) - { - Handle(HYDROData_Profile) aProfile = - Handle(HYDROData_Profile)::DownCast( aSelectedObjects.Value( i ) ); - if ( aProfile.IsNull() ) - continue; - - QString aProfileName = aProfile->GetName(); - aToRemove.append( aProfileName ); - } - + aToRemove.removeDuplicates(); if ( aToRemove.isEmpty() ) return;