From 7a58432ef6317a44c1656e64295d053b7c9c4967 Mon Sep 17 00:00:00 2001 From: asl Date: Thu, 18 Sep 2014 05:34:04 +0000 Subject: [PATCH] refs #461: hide scalar bar if no bathymetry presentation --- src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.cxx | 37 +++++++++++++++++++++++ src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.h | 5 +++ 2 files changed, 42 insertions(+) diff --git a/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.cxx b/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.cxx index 97815262..00009b47 100644 --- a/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.cxx +++ b/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.cxx @@ -90,6 +90,43 @@ void HYDROGUI_VTKPrsDisplayer::SetToUpdate( const HYDROData_SequenceOfObjects& t } } +void HYDROGUI_VTKPrsDisplayer::DisplayAll( const int theViewerId, + const bool theIsForced, + const bool theDoFitAll ) +{ + HYDROGUI_AbstractDisplayer::DisplayAll( theViewerId, theIsForced, theDoFitAll ); + + bool isEraseScalarBar = true; + + SVTK_Viewer* aViewer = module()->getVTKViewer( theViewerId ); + if( aViewer ) + { + SALOME_ListIO aListIO; + aViewer->GetVisible( aListIO ); + + HYDROGUI_VTKPrs* aPrs; + SALOME_ListIteratorOfListIO anIter( aListIO ); + for( ; anIter.More(); anIter.Next() ) + { + Handle(SALOME_InteractiveObject) aPrsObj = anIter.Value(); + if ( !aPrsObj.IsNull() ) + { + Handle(HYDROData_Entity) anObj = + module()->getDataModel()->objectByEntry( aPrsObj->getEntry() ); + aPrs = module()->getObjectVTKPrs( (size_t)aViewer, anObj ); + if( aPrs->needScalarBar() ) + { + isEraseScalarBar = false; + break; + } + } + } + } + + if( isEraseScalarBar ) + EraseScalarBar( theViewerId ); +} + void HYDROGUI_VTKPrsDisplayer::EraseAll( const int theViewerId ) { SVTK_Viewer* aViewer = module()->getVTKViewer( theViewerId ); diff --git a/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.h b/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.h index 66e2f751..def7b8a4 100644 --- a/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.h +++ b/src/HYDROGUI/HYDROGUI_VTKPrsDisplayer.h @@ -78,6 +78,11 @@ public: void EraseScalarBar( const int theViewerId, const bool theIsDelete = false ); protected: + + virtual void DisplayAll( const int theViewerId, + const bool theIsForced, + const bool theDoFitAll ); + /** * \brief Erase all viewer objects. * \param theViewerId viewer identifier -- 2.39.2