Mantis issue 0022209: Warn the user when he does a bad selection in the create group dialog

This commit is contained in:
jfa 2013-06-10 08:13:27 +00:00
parent e91dea54e5
commit 51d945d084

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// GEOM GEOMGUI : GUI for Geometry component // GEOM GEOMGUI : GUI for Geometry component
// File : GroupGUI_GroupDlg.cxx // File : GroupGUI_GroupDlg.cxx
@ -43,9 +42,10 @@
#include <SALOME_Prs.h> #include <SALOME_Prs.h>
#include <SALOME_ListIteratorOfListIO.hxx> #include <SALOME_ListIteratorOfListIO.hxx>
#include <SUIT_ResourceMgr.h>
#include <SUIT_Desktop.h> #include <SUIT_Desktop.h>
#include <SUIT_MessageBox.h>
#include <SUIT_OverrideCursor.h> #include <SUIT_OverrideCursor.h>
#include <SUIT_ResourceMgr.h>
#include <SUIT_Session.h> #include <SUIT_Session.h>
#include <SUIT_ViewWindow.h> #include <SUIT_ViewWindow.h>
#include <SUIT_ViewManager.h> #include <SUIT_ViewManager.h>
@ -720,7 +720,7 @@ int GroupGUI_GroupDlg::getSelectedSubshapes (TColStd_IndexedMapOfInteger& theMap
anEntry.remove(0, index+1); anEntry.remove(0, index+1);
int anIndex = anEntry.toInt(); int anIndex = anEntry.toInt();
if (anIndex) if (anIndex)
theMapIndex.Add(anIndex); theMapIndex.Add(anIndex);
} }
else // selection among published shapes else // selection among published shapes
{ {
@ -742,7 +742,11 @@ int GroupGUI_GroupDlg::getSelectedSubshapes (TColStd_IndexedMapOfInteger& theMap
for (; anExp.More(); anExp.Next()) { for (; anExp.More(); anExp.Next()) {
TopoDS_Shape aSubShape = anExp.Current(); TopoDS_Shape aSubShape = anExp.Current();
int anIndex = aMainMap.FindIndex(aSubShape); int anIndex = aMainMap.FindIndex(aSubShape);
if (anIndex >= 0) { if (anIndex == 0) {
SUIT_MessageBox::warning(app->desktop(), QObject::tr("WRN_WARNING"),
tr("WRN_NOT_SUBSHAPE"));
}
else {
if (subSelectionWay() != ALL_SUBSHAPES && if (subSelectionWay() != ALL_SUBSHAPES &&
!myMain2InPlaceIndices.IsBound(anIndex)) !myMain2InPlaceIndices.IsBound(anIndex))
continue; continue;