Salome HOME
IPAL9182: linking to libSPlot2d.so added
[modules/gui.git] / src / SalomeApp / SalomeApp_OCCSelector.cxx
index 839b0dec09e9505e559dc807e6d55c7a91dfc884..b394d5b3de35513e6ca07dae9fac8f27a9cc03e4 100644 (file)
@@ -9,9 +9,8 @@
 
 
 SalomeApp_OCCSelector::SalomeApp_OCCSelector( OCCViewer_Viewer* viewer, SUIT_SelectionMgr* mgr )
-: QObject( 0 ),
-SUIT_Selector( mgr ),
-myViewer( viewer )
+: SUIT_Selector( mgr, viewer ),
+  myViewer( viewer )
 {
   if ( myViewer )
     connect( myViewer, SIGNAL( selectionChanged() ), this, SLOT( onSelectionChanged() ) );
@@ -39,11 +38,12 @@ void SalomeApp_OCCSelector::getSelection( SUIT_DataOwnerPtrList& aList ) const
   AIS_ListOfInteractive aSelList;
   myViewer->getSelectedObjects( aSelList );
   for ( AIS_ListIteratorOfListOfInteractive anIt( aSelList ); anIt.More(); anIt.Next() )
-  {
-    QString entryStr = entry( anIt.Value() );
-    if ( !entryStr.isEmpty() )
-      aList.append( SUIT_DataOwnerPtr( new SalomeApp_DataOwner( entryStr ) ) );
-  }
+    if ( !anIt.Value().IsNull() )
+    {
+      Handle(SALOME_InteractiveObject) anObj = Handle(SALOME_InteractiveObject)::DownCast(anIt.Value()->GetOwner());
+      if( !anObj.IsNull() )
+        aList.append( SUIT_DataOwnerPtr( new SalomeApp_DataOwner( anObj ) ) );
+    }
 }
 
 void SalomeApp_OCCSelector::setSelection( const SUIT_DataOwnerPtrList& aList )