X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FLightApp%2FLightApp_VTKSelector.cxx;h=04feca42af8fba80dcbb57972327afa91a8586ca;hb=7d93c764f1cd3fbbe7db561b2e4b0bafa10bc0d4;hp=c5f81eecb1236625d3b74157b64c709ebfb34488;hpb=630432f662544c0b3928874eb6825ba3bffa668b;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_VTKSelector.cxx b/src/LightApp/LightApp_VTKSelector.cxx index c5f81eecb..04feca42a 100644 --- a/src/LightApp/LightApp_VTKSelector.cxx +++ b/src/LightApp/LightApp_VTKSelector.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -189,8 +189,8 @@ LightApp_VTKSelector { if( myViewer ) { if( SVTK_Viewer* aSViewer = dynamic_cast(myViewer) ) { - if( !aSViewer->isSelectionEnabled() ) - return; + if( !aSViewer->isSelectionEnabled() ) + return; } if(SUIT_ViewManager* aViewManager = myViewer->getViewManager()){ if(SVTK_ViewManager* aViewMgr = dynamic_cast(aViewManager)){ @@ -213,21 +213,22 @@ LightApp_VTKSelector /*! Sets selection to selector from data owner list \a theList. */ -void +void LightApp_VTKSelector ::setSelection( const SUIT_DataOwnerPtrList& theList ) { SVTK_Viewer* aViewer = dynamic_cast(myViewer); - if(myViewer && aViewer && aViewer->isSelectionEnabled()){ + if ( myViewer && aViewer && ( theList.isEmpty() || aViewer->isSelectionEnabled() )) { if(SUIT_ViewManager* aViewMgr = myViewer->getViewManager()){ if(SVTK_ViewWindow* aView = dynamic_cast(aViewMgr->getActiveView())){ if(SVTK_Selector* aSelector = aView->GetSelector()){ SALOME_ListIO anAppendList; const SALOME_ListIO& aStoredList = aSelector->StoredIObjects(); SUIT_DataOwnerPtrList::const_iterator anIter = theList.begin(); - for(; anIter != theList.end(); ++anIter){ + for(; anIter != theList.end(); ++anIter) { const SUIT_DataOwner* aDataOwner = (*anIter).get(); - if(const LightApp_SVTKDataOwner* anOwner = dynamic_cast(aDataOwner)){ + if(const LightApp_SVTKDataOwner* anOwner = dynamic_cast(aDataOwner)) + { MESSAGE("aSelector->SetSelectionMode("<GetMode()<<");"); aSelector->SetSelectionMode(anOwner->GetMode()); Handle(SALOME_InteractiveObject) anIO = anOwner->IO(); @@ -236,9 +237,11 @@ LightApp_VTKSelector anAppendList.Append(anIO); aSelector->AddOrRemoveIndex(anIO,anOwner->GetIds(),false); - }else if(const LightApp_DataOwner* anOwner = dynamic_cast(aDataOwner)){ - Handle(SALOME_InteractiveObject) anIO = - new SALOME_InteractiveObject(anOwner->entry().toLatin1(),""); + } + else if(const LightApp_DataOwner* anOwner = dynamic_cast(aDataOwner)) + { + Handle(SALOME_InteractiveObject) anIO = + new SALOME_InteractiveObject(anOwner->entry().toUtf8(),""); aSelector->AddIObject(anIO); anAppendList.Append(anIO); } @@ -255,10 +258,10 @@ LightApp_VTKSelector toRemove.remove( anIt.Value()->getEntry() ); QMap< QString, Handle( SALOME_InteractiveObject )>::const_iterator RIt = toRemove.begin(), - REnd = toRemove.end(); + REnd = toRemove.end(); for( ; RIt!=REnd; RIt++ ) aSelector->RemoveIObject( RIt.value() ); - + aView->onSelectionChanged(); } }