X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_DeleteGroupDlg.cxx;h=e619b81f00342af9668113e747363317dc66b545;hp=ac5a1c686b0bfbba699b15325f67e154384246e5;hb=14e837696393fd873427c02268fffe8925c88b0c;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6 diff --git a/src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx b/src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx index ac5a1c686..e619b81f0 100644 --- a/src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_DeleteGroupDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -146,7 +146,7 @@ QWidget* SMESHGUI_DeleteGroupDlg::createButtonFrame (QWidget* theParent) // connect signals and slots connect(myOkBtn, SIGNAL(clicked()), SLOT(onOk())); - connect(myCloseBtn, SIGNAL(clicked()), SLOT(onClose())); + connect(myCloseBtn, SIGNAL(clicked()), SLOT(reject())); connect(myApplyBtn, SIGNAL(clicked()), SLOT(onApply())); connect(myHelpBtn, SIGNAL(clicked()), SLOT(onHelp())); @@ -173,10 +173,10 @@ void SMESHGUI_DeleteGroupDlg::Init () // selection and SMESHGUI connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone())); connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate())); - connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(onClose())); + connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(reject())); // set selection mode - mySelectionMgr->installFilter(new SMESH_TypeFilter(GROUP)); + mySelectionMgr->installFilter(new SMESH_TypeFilter(SMESH::GROUP)); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(ActorSelection); onSelectionDone(); @@ -210,7 +210,7 @@ bool SMESHGUI_DeleteGroupDlg::onApply() QList::iterator anIter; for (anIter = myListGrp.begin(); anIter != myListGrp.end(); ++anIter) { - SMESH::SMESH_Mesh_ptr aMesh = (*anIter)->GetMesh(); + SMESH::SMESH_Mesh_var aMesh = (*anIter)->GetMesh(); if (!aMesh->_is_nil()) aMesh->RemoveGroupWithContents(*anIter); } @@ -218,6 +218,12 @@ bool SMESHGUI_DeleteGroupDlg::onApply() myListBox->clear(); myListGrp.clear(); mySelectionMgr->clearSelected(); + + /** Erase graphical objects **/ + SALOME_ListIteratorOfListIO anIterIO (myListGrpIO); + for ( ; anIterIO.More(); anIterIO.Next()) + SMESH::RemoveVisualObjectWithActors( anIterIO.Value()->getEntry(), /*fromAllViews=*/true ); + SMESH::UpdateView(); SMESHGUI::Modified(); mySMESHGUI->updateObjBrowser(true); @@ -233,14 +239,14 @@ bool SMESHGUI_DeleteGroupDlg::onApply() void SMESHGUI_DeleteGroupDlg::onOk() { if (onApply()) - onClose(); + reject(); } //================================================================================= -// function : onClose() +// function : reject() // purpose : SLOT called when "Close" button pressed. Close dialog //================================================================================= -void SMESHGUI_DeleteGroupDlg::onClose() +void SMESHGUI_DeleteGroupDlg::reject() { if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(ActorSelection); @@ -248,7 +254,7 @@ void SMESHGUI_DeleteGroupDlg::onClose() disconnect(mySMESHGUI, 0, this, 0); mySMESHGUI->ResetState(); mySelectionMgr->clearFilters(); - reject(); + QDialog::reject(); } //================================================================================= @@ -285,6 +291,7 @@ void SMESHGUI_DeleteGroupDlg::onSelectionDone() return; myListGrp.clear(); + myListGrpIO.Clear(); QStringList aNames; SALOME_ListIO aListIO; @@ -296,6 +303,7 @@ void SMESHGUI_DeleteGroupDlg::onSelectionDone() if (!aGroup->_is_nil()) { aNames.append(aGroup->GetName()); myListGrp.append(aGroup); + myListGrpIO.Append( anIter.Value() ); } } @@ -323,16 +331,7 @@ void SMESHGUI_DeleteGroupDlg::enterEvent (QEvent*) setEnabled(true); if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) aViewWindow->SetSelectionMode(ActorSelection); - mySelectionMgr->installFilter(new SMESH_TypeFilter (GROUP)); -} - -//================================================================================= -// function : closeEvent() -// purpose : -//================================================================================= -void SMESHGUI_DeleteGroupDlg::closeEvent (QCloseEvent*) -{ - onClose(); + mySelectionMgr->installFilter(new SMESH_TypeFilter (SMESH::GROUP)); } //=================================================================================