X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FLightApp%2FLightApp_ShowHideOp.cxx;h=a940de8fca5a58e48d25826c9a26ccf00b783c67;hb=896ae22cf0c952e28dd2b455c5078df02a7f00f1;hp=60828a5841834fe6ccafcd032365aa9ce715ac58;hpb=e889e70371b01ab242a4f7c95fa1e9a6d9329e84;p=modules%2Fgui.git diff --git a/src/LightApp/LightApp_ShowHideOp.cxx b/src/LightApp/LightApp_ShowHideOp.cxx index 60828a584..a940de8fc 100644 --- a/src/LightApp/LightApp_ShowHideOp.cxx +++ b/src/LightApp/LightApp_ShowHideOp.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 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 @@ -29,9 +29,10 @@ #include "LightApp_SelectionMgr.h" #include "LightApp_Selection.h" +#include "SUIT_OverrideCursor.h" + #ifndef DISABLE_SALOMEOBJECT #include - #include #endif /*! @@ -79,22 +80,6 @@ void LightApp_ShowHideOp::startOperation() return; } - QString mod_name; - if( sel->count()>0 ) - { - QString aStr = sel->parameter( 0, "displayer" ).toString(); - mod_name = app->moduleTitle( aStr ); - } - else if( app->activeModule() ) - mod_name = app->moduleTitle( app->activeModule()->name() ); - - LightApp_Displayer* d = LightApp_Displayer::FindDisplayer( mod_name, true ); - if( !d ) - { - abort(); - return; - } - if( myActionType==DISPLAY_ONLY || myActionType==ERASE_ALL ) { //ERASE ALL @@ -103,18 +88,36 @@ void LightApp_ShowHideOp::startOperation() QStringList::const_iterator anIt = comps.begin(), aLast = comps.end(); for( ; anIt!=aLast; anIt++ ) { - LightApp_Displayer* disp = LightApp_Displayer::FindDisplayer( app->moduleTitle( *anIt ), false ); + LightApp_Displayer* disp = LightApp_Displayer::FindDisplayer( *anIt, false ); if( disp ) disp->EraseAll( false, false, 0 ); } if( myActionType==ERASE_ALL ) { - d->UpdateViewer(); + // Temporary displayer just to update viewer! + LightApp_Displayer ld; + ld.UpdateViewer(); commit(); return; } } + QString mod_name; + if( sel->count()>0 ) + { + QString aStr = sel->parameter( 0, "displayer" ).toString(); + mod_name = aStr; + } + else if( app->activeModule() ) + mod_name = app->activeModule()->name(); + + LightApp_Displayer* d = LightApp_Displayer::FindDisplayer( mod_name, true ); + if( !d ) + { + abort(); + return; + } + QStringList entries; #ifndef DISABLE_SALOMEOBJECT @@ -150,6 +153,7 @@ void LightApp_ShowHideOp::startOperation() objEntries.append( study->referencedToEntry( *it ) ); if( myActionType==DISPLAY || myActionType==DISPLAY_ONLY ) { + SUIT_OverrideCursor wc; d->Display( objEntries, false, 0 ); mgr->setSelectedObjects(selObjs); }