Salome HOME
salome_pluginsmanager less verbose
[modules/gui.git] / src / LightApp / LightApp_SelectionMgr.cxx
index 5a520456a967217e531f3175f88e3456d0c1a3d1..aeec9d101bcc39067f9ad73d1297b70776465291 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 #ifndef DISABLE_SALOMEOBJECT
   #include <SALOME_ListIO.hxx>
-  #include <SALOME_ListIteratorOfListIO.hxx>
 
   // Open CASCADE Include
-  #include <TColStd_MapOfInteger.hxx>
   #include <TColStd_MapIteratorOfMapOfInteger.hxx>
-  #include <TColStd_IndexedMapOfInteger.hxx>
   #include <TCollection_AsciiString.hxx>
 #endif
 
@@ -113,7 +110,7 @@ void LightApp_SelectionMgr::selectedObjects( SALOME_ListIO& theList, const QStri
        if ( !owner )
          continue;
 
-       if ( !aSet.contains( owner->entry() ) ) {
+       if ( !aSet.contains( owner->entry() ) && !owner->IO().IsNull() ) {
          selList.append( owner->IO() );
          aSet.insert( owner->entry() );
        }
@@ -209,7 +206,7 @@ void LightApp_SelectionMgr::selectedObjects( QStringList& theList, const QString
        if ( !owner )
          continue;
 
-       if ( !aSet.contains( owner->entry() ) ) {
+        if ( !aSet.contains( owner->entry() ) ) {
          selList.append( owner->entry() );
          aSet.insert( owner->entry() );
        }
@@ -228,6 +225,20 @@ void LightApp_SelectionMgr::selectedObjects( QStringList& theList, const QString
   theList = selList;
 }
 
+/*!
+  Append selected objects.
+*/
+void LightApp_SelectionMgr::setSelectedObjects( const QStringList& lst, const bool append )
+{
+  SUIT_DataOwnerPtrList owners;
+  foreach( const QString& aValue, lst ) {
+    if ( !aValue.isNull() )
+      owners.append( new LightApp_DataOwner( aValue ) );
+  }
+
+  setSelected( owners, append );
+}
+
 #endif
 
 /*!
@@ -445,9 +456,9 @@ void LightApp_SelectionMgr::setSelectionCacheEnabled( bool on )
 
 #ifndef DISABLE_SALOMEOBJECT
 
-QList<Handle_SALOME_InteractiveObject> LightApp_SelectionMgr::selectionCache( const QString& type ) const
+QList<Handle(SALOME_InteractiveObject)> LightApp_SelectionMgr::selectionCache( const QString& type ) const
 {
-  QList<Handle_SALOME_InteractiveObject> res;
+  QList<Handle(SALOME_InteractiveObject)> res;
 
   QStringList types;
   if ( !type.isEmpty() )