#9293 MultiPlot: avoid removing non-legend overlays.

The plots can have other kinds of overlays that should not be removed.

Fixes #9293.
This commit is contained in:
Kristian Bendiksen
2022-09-15 08:19:41 +02:00
committed by Magne Sjaastad
parent 53646865a6
commit 711a9b83e7
3 changed files with 18 additions and 8 deletions
@@ -169,13 +169,18 @@ void RiuPlotWidget::removeOverlayFrame( RiuDraggableOverlayFrame* overlayFrame )
}
//--------------------------------------------------------------------------------------------------
/// Remove all overlay widgets.
/// Remove overlay widgets matching a given criteria
//--------------------------------------------------------------------------------------------------
void RiuPlotWidget::clearOverlayFrames()
void RiuPlotWidget::clearOverlayFrames( std::function<bool( RiuDraggableOverlayFrame* )> matcher )
{
for ( auto p : m_overlayFrames )
p->deleteLater();
m_overlayFrames.clear();
{
if ( matcher( p ) )
{
removeOverlayFrame( p );
p->deleteLater();
}
}
}
//--------------------------------------------------------------------------------------------------