From: asl Date: Wed, 1 Jun 2005 06:52:15 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: T3_0_0_a1~49 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=5125dba05473744b1c2701d11f7de5f11ff29740;p=modules%2Fgui.git *** empty log message *** --- diff --git a/src/SUIT/SUIT_SelectionMgr.cxx b/src/SUIT/SUIT_SelectionMgr.cxx index 974da5cb0..1089fb81a 100755 --- a/src/SUIT/SUIT_SelectionMgr.cxx +++ b/src/SUIT/SUIT_SelectionMgr.cxx @@ -203,10 +203,19 @@ bool SUIT_SelectionMgr::hasFilter( SUIT_SelectionFilter* f ) const return myFilters.contains( f ); } -void SUIT_SelectionMgr::installFilter( SUIT_SelectionFilter* f ) +void SUIT_SelectionMgr::installFilter( SUIT_SelectionFilter* f, const bool updateSelection ) { if ( !hasFilter( f ) ) + { + SUIT_DataOwnerPtrList selOwners; + if( updateSelection ) + selected( selOwners ); + myFilters.append( f ); + + if( updateSelection ) + setSelected( selOwners ); + } } void SUIT_SelectionMgr::removeFilter( SUIT_SelectionFilter* f ) diff --git a/src/SUIT/SUIT_SelectionMgr.h b/src/SUIT/SUIT_SelectionMgr.h index 57e6c134d..5f172c52e 100755 --- a/src/SUIT/SUIT_SelectionMgr.h +++ b/src/SUIT/SUIT_SelectionMgr.h @@ -49,7 +49,7 @@ public: bool hasFilter( SUIT_SelectionFilter* ) const; - virtual void installFilter( SUIT_SelectionFilter* ); + virtual void installFilter( SUIT_SelectionFilter*, const bool = true ); virtual void removeFilter( SUIT_SelectionFilter* ); virtual void clearFilters();