Skip to content

Commit a22ea07

Browse files
committed
RimParameterRftCrossPlot: highlight selected realization with XCROSS symbol
1 parent 85a4067 commit a22ea07

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

ApplicationLibCode/ProjectDataModel/CorrelationPlots/RimParameterRftCrossPlot.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include "RimWellPath.h"
4141

4242
#include "RiuContextMenuLauncher.h"
43+
#include "RiuDockWidgetTools.h"
4344
#include "RiuPlotCurve.h"
4445
#include "RiuQwtCurveSelectorFilter.h"
4546
#include "RiuQwtPlotCurve.h"
@@ -675,14 +676,25 @@ void RimParameterRftCrossPlot::createPoints()
675676
auto caseData = createCaseData();
676677
if ( caseData.empty() ) return;
677678

679+
std::set<RimSummaryCase*> selectedSummaryCases;
680+
auto selectedTreeViewItems = RiuDockWidgetTools::selectedItemsInTreeView( RiuDockWidgetTools::plotMainWindowDataSourceTreeName() );
681+
for ( auto item : selectedTreeViewItems )
682+
{
683+
if ( auto summaryCase = dynamic_cast<RimSummaryCase*>( item ) )
684+
{
685+
selectedSummaryCases.insert( summaryCase );
686+
}
687+
}
688+
678689
int idx = 0;
679690
for ( const auto& [paramValue, pressureValue, summaryCase] : caseData )
680691
{
681692
auto* plotCurve = new RiuQwtPlotCurve;
682693
plotCurve->setSamplesValues( { paramValue }, { pressureValue } );
683694
plotCurve->setStyle( QwtPlotCurve::NoCurve );
684695

685-
auto* symbol = new RiuQwtSymbol( RiuPlotCurveSymbol::SYMBOL_ELLIPSE );
696+
const bool isSelected = selectedSummaryCases.contains( summaryCase );
697+
auto* symbol = new RiuQwtSymbol( isSelected ? RiuPlotCurveSymbol::SYMBOL_XCROSS : RiuPlotCurveSymbol::SYMBOL_ELLIPSE );
686698
symbol->setSize( 8, 8 );
687699
symbol->setColor( colorTable.cycledQColor( idx++ ) );
688700
plotCurve->setSymbol( symbol );

ApplicationLibCode/ProjectDataModel/Summary/RimSummaryEnsembleTools.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "RimEnsembleCurveSet.h"
3131
#include "RimMainPlotCollection.h"
3232
#include "RimParameterResultCrossPlot.h"
33+
#include "RimParameterRftCrossPlot.h"
3334
#include "RimSummaryCase.h"
3435
#include "RimSummaryCurve.h"
3536
#include "RimSummaryMultiPlot.h"
@@ -451,6 +452,12 @@ void RimSummaryEnsembleTools::highlightCurvesForSummaryCases( const std::vector<
451452
{
452453
c->loadDataAndUpdate();
453454
}
455+
456+
auto rftCrossPlots = correlationPlotColl->descendantsIncludingThisOfType<RimParameterRftCrossPlot>();
457+
for ( auto c : rftCrossPlots )
458+
{
459+
c->loadDataAndUpdate();
460+
}
454461
}
455462
}
456463

0 commit comments

Comments
 (0)