X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_DeleteOp.cxx;h=7164ea8ad45a925b9ca6d48bdd2921d1edce5870;hb=8c43e399105149105b2a3e3c22c427ec24145e07;hp=deafdfff5965dee4c9d5f26642e3e76705947202;hpb=049ac0bc596ce97e1f2b030511958dac7b67ba50;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_DeleteOp.cxx b/src/HYDROGUI/HYDROGUI_DeleteOp.cxx index deafdfff..7164ea8a 100644 --- a/src/HYDROGUI/HYDROGUI_DeleteOp.cxx +++ b/src/HYDROGUI/HYDROGUI_DeleteOp.cxx @@ -21,7 +21,9 @@ #include "HYDROGUI_DeleteDlg.h" #include "HYDROGUI_Module.h" #include "HYDROGUI_Tool.h" +#include "HYDROGUI_Tool2.h" #include "HYDROGUI_UpdateFlags.h" +#include "HYDROGUI_ProfileOp.h" #include #include @@ -30,6 +32,7 @@ #include #include +#include #include @@ -45,6 +48,20 @@ HYDROGUI_DeleteOp::~HYDROGUI_DeleteOp() void HYDROGUI_DeleteOp::startOperation() { + QList operations = study()->operations(); + int n = operations.size(); + if( n>=2 ) + { + SUIT_Operation* anOtherOp = operations[n-2]; + HYDROGUI_ProfileOp* aProfileOp = dynamic_cast( anOtherOp ); + if( aProfileOp ) + { + aProfileOp->deleteSelected(); + abort(); + return; + } + } + HYDROGUI_Operation::startOperation(); HYDROData_SequenceOfObjects aSeq = HYDROGUI_Tool::GetSelectedObjects( module() ); @@ -84,7 +101,7 @@ void HYDROGUI_DeleteOp::startOperation() // check the back-references QMap aBackObjects = - HYDROGUI_Tool::GetObjectsBackReferences( module(), anObjNames ); + HYDROGUI_Tool::GetObjectsBackReferences( doc(), anObjNames ); QMap::const_iterator anIt = aBackObjects.begin(), aLast = aBackObjects.end();