X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_SelectionMgr.cpp;h=caf78cededfa473823d177c7ad21591edcd6f852;hb=0caee92b045249b15dd6df72d52b44335e05cc3f;hp=dc5db4e2b604334dac71bceb7ca3f5a1a7e7babd;hpb=3985b767e74385e51d1b503d2c97d3bb1e3f6faa;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_SelectionMgr.cpp b/src/XGUI/XGUI_SelectionMgr.cpp index dc5db4e2b..caf78cede 100644 --- a/src/XGUI/XGUI_SelectionMgr.cpp +++ b/src/XGUI/XGUI_SelectionMgr.cpp @@ -43,14 +43,8 @@ void XGUI_SelectionMgr::connectViewers() void XGUI_SelectionMgr::onObjectBrowserSelection() { QList aObjects = myWorkshop->objectBrowser()->selectedObjects(); - QResultList aResults; - foreach(ObjectPtr aObject, aObjects) { - ResultPtr aRes = boost::dynamic_pointer_cast(aObject); - if (aRes) - aResults.append(aRes); - } XGUI_Displayer* aDisplayer = myWorkshop->displayer(); - aDisplayer->setSelected(aResults); + aDisplayer->setSelected(aObjects); emit selectionChanged(); } @@ -61,11 +55,14 @@ void XGUI_SelectionMgr::onViewerSelection() Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext(); for (aContext->InitSelected(); aContext->MoreSelected(); aContext->NextSelected()) { Handle(AIS_InteractiveObject) anIO = aContext->SelectedInteractive(); - ResultPtr aResult = myWorkshop->displayer()->getResult(anIO); + ObjectPtr aResult = myWorkshop->displayer()->getObject(anIO); if (aResult) aFeatures.append(aResult); } + bool aBlocked = myWorkshop->objectBrowser()->blockSignals(true); myWorkshop->objectBrowser()->setObjectsSelected(aFeatures); + myWorkshop->objectBrowser()->blockSignals(aBlocked); + emit selectionChanged(); }