X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_FacesPanel.cpp;h=d92ae5669053b9799e40617da2307bf3e1d137fb;hb=f421ab3932a5e09ae8082215c3eaaa8cc4944e02;hp=ba5e5f82a87eeb2442f8656db1d934e708747b2b;hpb=97917d3698f5a2f7fc9596e7c755ff8f6751e373;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_FacesPanel.cpp b/src/XGUI/XGUI_FacesPanel.cpp index ba5e5f82a..d92ae5669 100644 --- a/src/XGUI/XGUI_FacesPanel.cpp +++ b/src/XGUI/XGUI_FacesPanel.cpp @@ -18,6 +18,20 @@ // #include "XGUI_FacesPanel.h" +#include "XGUI_ObjectsBrowser.h" +#include "XGUI_SelectionMgr.h" +#include "XGUI_Tools.h" +#include "XGUI_Workshop.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -25,20 +39,6 @@ #include -#include -#include -#include "ModuleBase_IWorkshop.h" -#include "ModuleBase_ListView.h" -#include "ModuleBase_ResultPrs.h" -#include "ModuleBase_Tools.h" -#include "ModuleBase_ViewerPrs.h" - -#include "XGUI_ObjectsBrowser.h" -#include "XGUI_SelectionMgr.h" -#include "XGUI_SelectionFilterType.h" -#include "XGUI_Tools.h" -#include "XGUI_Workshop.h" - #include #include #include @@ -256,18 +256,18 @@ void XGUI_FacesPanel::processSelection() continue; Handle(ModuleBase_ResultPrs) aResultPrs = anObjectToPrs.at(anObject); - if (aResultPrs->hasSubShapeVisible(anIt->second) || useTransparency()) // redisplay - ModelAPI_EventCreator::get()->sendUpdated(anObject, aDispEvent); - else { // erase object because it is entirely hidden + if (!aResultPrs->hasSubShapeVisible(anIt->second)) { // redisplay + // erase object because it is entirely hidden anObject->setDisplayed(false); myHiddenObjects.insert(anObject); - ModelAPI_EventCreator::get()->sendUpdated(anObject, aDispEvent); } + ModelAPI_EventCreator::get()->sendUpdated(anObject, aDispEvent); } if (isModified) { updateProcessedObjects(myItems, myItemObjects); flushRedisplay(); } + onTransparencyChanged(); } //******************************************************************** @@ -295,10 +295,13 @@ bool XGUI_FacesPanel::processDelete() bool isRedisplayed = redisplayObjects(aRestoredObjects); isRedisplayed = displayHiddenObjects(aRestoredObjects, myHiddenObjects) || isRedisplayed; - if (isRedisplayed) + if (isRedisplayed) { flushRedisplay(); + myWorkshop->viewer()->update(); + } // should be after flush of redisplay to have items object to be updated updateProcessedObjects(myItems, myItemObjects); + } myListView->removeSelectedItems();