mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#5945 Make the new default ensemble curve set feature take the preferences into account
This commit is contained in:
committed by
Magne Sjaastad
parent
ad5a1fec95
commit
c238a0ac30
@@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include "RiaColorTables.h"
|
#include "RiaColorTables.h"
|
||||||
#include "RiaGuiApplication.h"
|
#include "RiaGuiApplication.h"
|
||||||
|
#include "RiaPreferences.h"
|
||||||
|
|
||||||
#include "RiaSummaryTools.h"
|
#include "RiaSummaryTools.h"
|
||||||
#include "RimEnsembleCurveFilterCollection.h"
|
#include "RimEnsembleCurveFilterCollection.h"
|
||||||
@@ -49,30 +50,45 @@ CAF_CMD_SOURCE_INIT( RicNewSummaryEnsembleCurveSetFeature, "RicNewSummaryEnsembl
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimEnsembleCurveSet* RicNewSummaryEnsembleCurveSetFeature::addDefaultCurveSet( RimSummaryPlot* plot,
|
std::vector<RimEnsembleCurveSet*> RicNewSummaryEnsembleCurveSetFeature::addDefaultCurveSets( RimSummaryPlot* plot,
|
||||||
RimSummaryCaseCollection* ensemble )
|
RimSummaryCaseCollection* ensemble )
|
||||||
{
|
{
|
||||||
CVF_ASSERT( plot && ensemble );
|
CVF_ASSERT( plot && ensemble );
|
||||||
|
|
||||||
RimProject* project = RimProject::current();
|
RimProject* project = RimProject::current();
|
||||||
CVF_ASSERT( project );
|
CVF_ASSERT( project );
|
||||||
|
|
||||||
RimEnsembleCurveSet* curveSet = new RimEnsembleCurveSet();
|
QString curvesTextFilter = RiaApplication::instance()->preferences()->defaultSummaryCurvesTextFilter;
|
||||||
|
QStringList curveFilters = curvesTextFilter.split( ";", QString::SkipEmptyParts );
|
||||||
|
|
||||||
// Use same counting as RicNewSummaryCurveFeature::onActionTriggered
|
std::set<RifEclipseSummaryAddress> addrs = ensemble->ensembleSummaryAddresses();
|
||||||
auto colorIndex = plot->singleColorCurveCount();
|
|
||||||
curveSet->setColor( RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f( colorIndex ) );
|
|
||||||
curveSet->legendConfig()->setColorRange(
|
|
||||||
RimEnsembleCurveSetColorManager::cycledEnsembleColorRange( static_cast<int>( colorIndex ) ) );
|
|
||||||
|
|
||||||
curveSet->setSummaryCaseCollection( ensemble );
|
std::vector<RimEnsembleCurveSet*> curveSets;
|
||||||
curveSet->setSummaryAddress( RifEclipseSummaryAddress::fieldAddress( "FOPT" ) );
|
for ( const auto& addr : addrs )
|
||||||
|
{
|
||||||
|
for (auto filter : curveFilters)
|
||||||
|
{
|
||||||
|
if ( addr.isUiTextMatchingFilterText( filter ) )
|
||||||
|
{
|
||||||
|
RimEnsembleCurveSet* curveSet = new RimEnsembleCurveSet();
|
||||||
|
|
||||||
curveSet->filterCollection()->addFilter();
|
// Use same counting as RicNewSummaryCurveFeature::onActionTriggered
|
||||||
|
auto colorIndex = plot->singleColorCurveCount();
|
||||||
|
curveSet->setColor( RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f( colorIndex ) );
|
||||||
|
curveSet->legendConfig()->setColorRange(
|
||||||
|
RimEnsembleCurveSetColorManager::cycledEnsembleColorRange( static_cast<int>( colorIndex ) ) );
|
||||||
|
|
||||||
plot->ensembleCurveSetCollection()->addCurveSet( curveSet );
|
curveSet->setSummaryCaseCollection( ensemble );
|
||||||
|
curveSet->setSummaryAddress( addr );
|
||||||
|
curveSet->filterCollection()->addFilter();
|
||||||
|
|
||||||
return curveSet;
|
plot->ensembleCurveSetCollection()->addCurveSet( curveSet );
|
||||||
|
curveSets.push_back( curveSet );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return curveSets;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -84,14 +100,16 @@ RimSummaryPlot*
|
|||||||
RiaGuiApplication* app = RiaGuiApplication::instance();
|
RiaGuiApplication* app = RiaGuiApplication::instance();
|
||||||
RimProject* proj = app->project();
|
RimProject* proj = app->project();
|
||||||
|
|
||||||
|
if ( RiaApplication::instance()->preferences()->defaultSummaryCurvesTextFilter().isEmpty() ) return nullptr;
|
||||||
|
|
||||||
RimSummaryPlotCollection* summaryPlotCollection = proj->mainPlotCollection->summaryPlotCollection();
|
RimSummaryPlotCollection* summaryPlotCollection = proj->mainPlotCollection->summaryPlotCollection();
|
||||||
RimSummaryPlot* plot = summaryPlotCollection->createSummaryPlotWithAutoTitle();
|
RimSummaryPlot* plot = summaryPlotCollection->createSummaryPlotWithAutoTitle();
|
||||||
|
|
||||||
RimEnsembleCurveSet* firstCurveSetCreated = nullptr;
|
RimEnsembleCurveSet* firstCurveSetCreated = nullptr;
|
||||||
for ( RimSummaryCaseCollection* ensemble : ensembles )
|
for ( RimSummaryCaseCollection* ensemble : ensembles )
|
||||||
{
|
{
|
||||||
RimEnsembleCurveSet* curveSet = RicNewSummaryEnsembleCurveSetFeature::addDefaultCurveSet( plot, ensemble );
|
std::vector<RimEnsembleCurveSet*> curveSets = RicNewSummaryEnsembleCurveSetFeature::addDefaultCurveSets( plot, ensemble );
|
||||||
if ( !firstCurveSetCreated ) firstCurveSetCreated = curveSet;
|
if ( !firstCurveSetCreated && !curveSets.empty() ) firstCurveSetCreated = curveSets.front();
|
||||||
}
|
}
|
||||||
|
|
||||||
plot->loadDataAndUpdate();
|
plot->loadDataAndUpdate();
|
||||||
@@ -138,15 +156,20 @@ void RicNewSummaryEnsembleCurveSetFeature::onActionTriggered( bool isChecked )
|
|||||||
CVF_ASSERT( !project->summaryGroups().empty() );
|
CVF_ASSERT( !project->summaryGroups().empty() );
|
||||||
auto ensemble = project->summaryGroups().back();
|
auto ensemble = project->summaryGroups().back();
|
||||||
|
|
||||||
auto curveSet = RicNewSummaryEnsembleCurveSetFeature::addDefaultCurveSet( plot, ensemble );
|
RimEnsembleCurveSet* firstCurveSet = nullptr;
|
||||||
|
if (!RiaApplication::instance()->preferences()->defaultSummaryCurvesTextFilter().isEmpty())
|
||||||
|
{
|
||||||
|
auto curveSets = RicNewSummaryEnsembleCurveSetFeature::addDefaultCurveSets(plot, ensemble);
|
||||||
|
if ( !curveSets.empty() ) firstCurveSet = curveSets.front();
|
||||||
|
}
|
||||||
plot->loadDataAndUpdate();
|
plot->loadDataAndUpdate();
|
||||||
plot->updateConnectedEditors();
|
plot->updateConnectedEditors();
|
||||||
|
|
||||||
RiaGuiApplication* app = RiaGuiApplication::instance();
|
RiaGuiApplication* app = RiaGuiApplication::instance();
|
||||||
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
||||||
if ( mainPlotWindow )
|
if ( mainPlotWindow && firstCurveSet)
|
||||||
{
|
{
|
||||||
mainPlotWindow->selectAsCurrentItem( curveSet );
|
mainPlotWindow->selectAsCurrentItem(firstCurveSet);
|
||||||
mainPlotWindow->updateSummaryPlotToolBar();
|
mainPlotWindow->updateSummaryPlotToolBar();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ protected:
|
|||||||
void setupActionLook( QAction* actionToSetup ) override;
|
void setupActionLook( QAction* actionToSetup ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static RimEnsembleCurveSet* addDefaultCurveSet( RimSummaryPlot* plot, RimSummaryCaseCollection* ensemble );
|
static std::vector<RimEnsembleCurveSet*> addDefaultCurveSets( RimSummaryPlot* plot, RimSummaryCaseCollection* ensemble );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RimSummaryPlot* selectedSummaryPlot() const;
|
RimSummaryPlot* selectedSummaryPlot() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user