Salome HOME
Merge from V6_main 01/04/2013
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_SelectionOp.cxx
index 7e4039a3aa647b3e142ffb9dd7b45e18529e20e9..ce349a055b67c6833ce83d28e6694e2c6e38d076 100644 (file)
@@ -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
@@ -491,9 +491,16 @@ void SMESHGUI_SelectionOp::onTextChanged( int, const QStringList& list )
     IdList ids; extractIds( list, ids, '\0' );
     IdList::const_iterator anIt = ids.begin(),
                            aLast = ids.end();
-    for( ; anIt!=aLast; anIt++ )
-      if( const SMDS_MeshNode * n = aMesh->FindNode( *anIt ) )
-        newIndices.Add( n->GetID() );
+    if ( selectionMode() == NodeSelection )
+      for( ; anIt!=aLast; anIt++ ) {
+        if( const SMDS_MeshNode * n = aMesh->FindNode( *anIt ) )
+          newIndices.Add( n->GetID() );
+      }
+    else 
+      for( ; anIt!=aLast; anIt++ ) {
+        if( const SMDS_MeshElement* e = aMesh->FindElement( *anIt ) )
+          newIndices.Add( e->GetID() );
+      }
 
     selector()->AddOrRemoveIndex( sel.First(), newIndices, false );
     highlight( sel.First(), true, true );