#include <SUIT_DataObjectIterator.h>
+/*!
+ Constructor
+*/
SalomeApp_OBSelector::SalomeApp_OBSelector( OB_Browser* ob, SUIT_SelectionMgr* mgr )
-: QObject( 0 ),
-SUIT_Selector( mgr ),
-myBrowser( ob )
+: SUIT_Selector( mgr, ob ),
+ myBrowser( ob )
{
- if ( myBrowser )
+ if ( myBrowser ) {
connect( myBrowser, SIGNAL( selectionChanged() ), this, SLOT( onSelectionChanged() ) );
+ }
}
+/*!
+ Destructor
+*/
SalomeApp_OBSelector::~SalomeApp_OBSelector()
{
}
+/*!
+ Gets browser.
+*/
OB_Browser* SalomeApp_OBSelector::browser() const
{
return myBrowser;
}
-void SalomeApp_OBSelector::getSelection( SUIT_DataOwnerPtrList& list ) const
+/*!
+ Gets selection.
+*/
+void SalomeApp_OBSelector::getSelection( SUIT_DataOwnerPtrList& thelist ) const
{
if ( !myBrowser )
return;
{
SalomeApp_DataObject* obj = dynamic_cast<SalomeApp_DataObject*>( it.current() );
if ( obj )
- list.append( SUIT_DataOwnerPtr( new SalomeApp_DataOwner( obj->entry() ) ) );
+ {
+ Handle( SALOME_InteractiveObject ) aSObj = new SALOME_InteractiveObject
+ ( obj->entry(), obj->componentDataType(), obj->name() );
+ SalomeApp_DataOwner* owner = new SalomeApp_DataOwner( aSObj );
+ thelist.append( SUIT_DataOwnerPtr( owner ) );
+ }
}
}
-void SalomeApp_OBSelector::setSelection( const SUIT_DataOwnerPtrList& list )
+/*!Sets selection.*/
+void SalomeApp_OBSelector::setSelection( const SUIT_DataOwnerPtrList& thelist )
{
if ( !myBrowser )
return;
- QMap<QString, SalomeApp_DataObject*> map;
- fillEntries( map );
+ QMap<QString, SalomeApp_DataObject*> themap;
+ fillEntries( themap );
DataObjectList objList;
- for ( SUIT_DataOwnerPtrList::const_iterator it = list.begin(); it != list.end(); ++it )
+ for ( SUIT_DataOwnerPtrList::const_iterator it = thelist.begin(); it != thelist.end(); ++it )
{
const SalomeApp_DataOwner* owner = dynamic_cast<const SalomeApp_DataOwner*>( (*it).operator->() );
- if ( owner && map.contains( owner->entry() ) )
- objList.append( map[owner->entry()] );
+ if ( owner && themap.contains( owner->entry() ) )
+ objList.append( themap[owner->entry()] );
}
myBrowser->setSelected( objList );
}
+/*!On selection changed.*/
void SalomeApp_OBSelector::onSelectionChanged()
{
selectionChanged();
}
+/*!Fill entries.*/
void SalomeApp_OBSelector::fillEntries( QMap<QString, SalomeApp_DataObject*>& entires )
{
entires.clear();