Simplify access to RimMainPlotCollection

* Add current() to RimMainPlotCollection to avoid include of RimProject
* Remove "segment" prefix
* Reload data when RftCase changes
This commit is contained in:
Magne Sjaastad 2022-08-19 05:30:25 -07:00
parent 9f9e29ff8c
commit 947de3ffb1
51 changed files with 240 additions and 418 deletions

View File

@ -528,7 +528,7 @@ bool RiaApplication::loadProject( const QString& projectFileName,
}
{
RimMainPlotCollection* mainPlotColl = m_project->mainPlotCollection();
RimMainPlotCollection* mainPlotColl = RimMainPlotCollection::current();
mainPlotColl->ensureCalculationIdsAreAssigned();
mainPlotColl->ensureDefaultFlowPlotsAreCreated();
@ -1532,10 +1532,7 @@ int RiaApplication::launchUnitTestsWithConsole()
//--------------------------------------------------------------------------------------------------
void RiaApplication::loadAndUpdatePlotData()
{
if ( m_project->mainPlotCollection() )
{
m_project->mainPlotCollection()->loadDataAndUpdateAllPlots();
}
RimMainPlotCollection::current()->loadDataAndUpdateAllPlots();
}
//--------------------------------------------------------------------------------------------------

View File

@ -21,7 +21,6 @@
#include "RigWellPath.h"
#include "RimEclipseCase.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimSimWellInView.h"
#include "RimWellLogPlotCollection.h"
@ -84,12 +83,5 @@ RigEclipseWellLogExtractor* RiaExtractionTools::findOrCreateSimWellExtractor( co
//--------------------------------------------------------------------------------------------------
RimWellLogPlotCollection* RiaExtractionTools::wellLogPlotCollection()
{
auto proj = RimProject::current();
if ( !proj ) return nullptr;
auto plotCollection = proj->mainPlotCollection();
if ( !plotCollection ) return nullptr;
auto wellLogPlotCollection = plotCollection->wellLogPlotCollection();
return wellLogPlotCollection;
return RimMainPlotCollection::current()->wellLogPlotCollection();
}

View File

@ -97,10 +97,7 @@ bool RiaImportEclipseCaseTools::openEclipseCasesFromFile( const QStringList&
if ( !openedFiles.empty() )
{
if ( project && project->mainPlotCollection() )
{
project->mainPlotCollection()->ensureDefaultFlowPlotsAreCreated();
}
RimMainPlotCollection::current()->ensureDefaultFlowPlotsAreCreated();
}
// Import summary cases

View File

@ -22,7 +22,6 @@
#include "RimCase.h"
#include "RimEnsembleCurveSet.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
//--------------------------------------------------------------------------------------------------
///
@ -46,7 +45,7 @@ void RiaOptionItemFactory::appendOptionItemsForEnsembleCurveSets( QList<caf::Pdm
{
options->push_back( caf::PdmOptionItemInfo( "None", nullptr ) );
RimMainPlotCollection* mainPlotColl = RimProject::current()->mainPlotCollection();
RimMainPlotCollection* mainPlotColl = RimMainPlotCollection::current();
std::vector<RimEnsembleCurveSet*> ensembleCurveSets;
mainPlotColl->descendantsOfType( ensembleCurveSets );
for ( auto ensembleCurveSet : ensembleCurveSets )

View File

@ -49,9 +49,7 @@
//--------------------------------------------------------------------------------------------------
RimSummaryMultiPlotCollection* RiaSummaryTools::summaryMultiPlotCollection()
{
RimProject* project = RimProject::current();
return project->mainPlotCollection()->summaryMultiPlotCollection();
return RimMainPlotCollection::current()->summaryMultiPlotCollection();
}
//--------------------------------------------------------------------------------------------------
@ -59,9 +57,7 @@ RimSummaryMultiPlotCollection* RiaSummaryTools::summaryMultiPlotCollection()
//--------------------------------------------------------------------------------------------------
RimSummaryCrossPlotCollection* RiaSummaryTools::summaryCrossPlotCollection()
{
RimProject* project = RimProject::current();
return project->mainPlotCollection()->summaryCrossPlotCollection();
return RimMainPlotCollection::current()->summaryCrossPlotCollection();
}
//--------------------------------------------------------------------------------------------------

View File

@ -91,7 +91,7 @@ caf::PdmScriptResponse RicfCreateSaturationPressurePlots::execute()
}
}
RimSaturationPressurePlotCollection* collection = project->mainPlotCollection()->saturationPressurePlotCollection();
RimSaturationPressurePlotCollection* collection = RimMainPlotCollection::current()->saturationPressurePlotCollection();
collection->updateAllRequiredEditors();
RiaGuiApplication::instance()->getOrCreateAndShowMainPlotWindow();

View File

@ -27,7 +27,6 @@
#include "RimFlowCharacteristicsPlot.h"
#include "RimFlowPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "cafPdmFieldScriptingCapability.h"
@ -88,7 +87,7 @@ caf::PdmScriptResponse RicfExportFlowCharacteristics::execute()
exportFileName = exportFolder + "/" + fi.fileName();
}
RimFlowPlotCollection* flowPlotColl = RimProject::current()->mainPlotCollection->flowPlotCollection();
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowCharacteristicsPlot* plot = flowPlotColl->defaultFlowCharacteristicsPlot();

View File

@ -37,7 +37,6 @@
#include "RimFaciesProperties.h"
#include "RimMainPlotCollection.h"
#include "RimModeledWellPath.h"
#include "RimProject.h"
#include "RimStimPlanModel.h"
#include "RimStimPlanModelCurve.h"
#include "RimStimPlanModelPlot.h"
@ -469,16 +468,7 @@ RimStimPlanModelPlot* RicNewStimPlanModelPlotFeature::createStimPlanModelPlot( b
//--------------------------------------------------------------------------------------------------
RimStimPlanModelPlotCollection* RicNewStimPlanModelPlotFeature::stimPlanModelPlotCollection()
{
RimProject* project = RiaApplication::instance()->project();
CVF_ASSERT( project );
RimMainPlotCollection* mainPlotColl = project->mainPlotCollection();
CVF_ASSERT( mainPlotColl );
RimStimPlanModelPlotCollection* stimPlanModelPlotColl = mainPlotColl->stimPlanModelPlotCollection();
CVF_ASSERT( stimPlanModelPlotColl );
return mainPlotColl->stimPlanModelPlotCollection();
return RimMainPlotCollection::current()->stimPlanModelPlotCollection();
}
//--------------------------------------------------------------------------------------------------

View File

@ -87,7 +87,7 @@ void RicSnapshotAllPlotsToFileFeature::exportSnapshotOfPlotsIntoFolder( const QS
const QString absSnapshotPath = snapshotPath.absolutePath();
std::vector<RimViewWindow*> viewWindows;
proj->mainPlotCollection()->descendantsIncludingThisOfType( viewWindows );
RimMainPlotCollection::current()->descendantsIncludingThisOfType( viewWindows );
for ( auto viewWindow : viewWindows )
{

View File

@ -21,7 +21,6 @@
#include "RimFlowCharacteristicsPlot.h"
#include "RimFlowPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RiuPlotMainWindowTools.h"
@ -38,18 +37,15 @@ CAF_CMD_SOURCE_INIT( RicAddStoredFlowCharacteristicsPlotFeature, "RicAddStoredFl
//--------------------------------------------------------------------------------------------------
bool RicAddStoredFlowCharacteristicsPlotFeature::isCommandEnabled()
{
if ( RimProject::current() )
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowPlotCollection* flowPlotColl = RimProject::current()->mainPlotCollection->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowCharacteristicsPlot* flowCharacteristicsPlot =
dynamic_cast<RimFlowCharacteristicsPlot*>( caf::SelectionManager::instance()->selectedItem() );
RimFlowCharacteristicsPlot* flowCharacteristicsPlot =
dynamic_cast<RimFlowCharacteristicsPlot*>( caf::SelectionManager::instance()->selectedItem() );
if ( flowPlotColl->defaultFlowCharacteristicsPlot() == flowCharacteristicsPlot )
{
return true;
}
if ( flowPlotColl->defaultFlowCharacteristicsPlot() == flowCharacteristicsPlot )
{
return true;
}
}
@ -61,28 +57,25 @@ bool RicAddStoredFlowCharacteristicsPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicAddStoredFlowCharacteristicsPlotFeature::onActionTriggered( bool isChecked )
{
if ( RimProject::current() )
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowPlotCollection* flowPlotColl = RimProject::current()->mainPlotCollection->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowCharacteristicsPlot* sourceObject =
dynamic_cast<RimFlowCharacteristicsPlot*>( caf::SelectionManager::instance()->selectedItem() );
RimFlowCharacteristicsPlot* sourceObject =
dynamic_cast<RimFlowCharacteristicsPlot*>( caf::SelectionManager::instance()->selectedItem() );
RimFlowCharacteristicsPlot* flowCharacteristicsPlot = dynamic_cast<RimFlowCharacteristicsPlot*>(
sourceObject->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
CVF_ASSERT( flowCharacteristicsPlot );
RimFlowCharacteristicsPlot* flowCharacteristicsPlot = dynamic_cast<RimFlowCharacteristicsPlot*>(
sourceObject->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
CVF_ASSERT( flowCharacteristicsPlot );
flowPlotColl->addFlowCharacteristicsPlotToStoredPlots( flowCharacteristicsPlot );
flowCharacteristicsPlot->resolveReferencesRecursively();
flowPlotColl->addFlowCharacteristicsPlotToStoredPlots( flowCharacteristicsPlot );
flowCharacteristicsPlot->resolveReferencesRecursively();
flowCharacteristicsPlot->loadDataAndUpdate();
flowCharacteristicsPlot->loadDataAndUpdate();
flowPlotColl->updateConnectedEditors();
flowPlotColl->updateConnectedEditors();
RiuPlotMainWindowTools::showPlotMainWindow();
RiuPlotMainWindowTools::onObjectAppended( flowCharacteristicsPlot );
}
RiuPlotMainWindowTools::showPlotMainWindow();
RiuPlotMainWindowTools::onObjectAppended( flowCharacteristicsPlot );
}
}

View File

@ -38,18 +38,15 @@ CAF_CMD_SOURCE_INIT( RicAddStoredWellAllocationPlotFeature, "RicAddStoredWellAll
//--------------------------------------------------------------------------------------------------
bool RicAddStoredWellAllocationPlotFeature::isCommandEnabled()
{
if ( RimProject::current() )
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowPlotCollection* flowPlotColl = RimProject::current()->mainPlotCollection->flowPlotCollection();
if ( flowPlotColl )
{
RimWellAllocationPlot* wellAllocationPlot =
dynamic_cast<RimWellAllocationPlot*>( caf::SelectionManager::instance()->selectedItem() );
RimWellAllocationPlot* wellAllocationPlot =
dynamic_cast<RimWellAllocationPlot*>( caf::SelectionManager::instance()->selectedItem() );
if ( flowPlotColl->defaultWellAllocPlot() == wellAllocationPlot )
{
return true;
}
if ( flowPlotColl->defaultWellAllocPlot() == wellAllocationPlot )
{
return true;
}
}
@ -61,28 +58,25 @@ bool RicAddStoredWellAllocationPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicAddStoredWellAllocationPlotFeature::onActionTriggered( bool isChecked )
{
if ( RimProject::current() )
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowPlotCollection* flowPlotColl = RimProject::current()->mainPlotCollection->flowPlotCollection();
if ( flowPlotColl )
{
RimWellAllocationPlot* sourceObject =
dynamic_cast<RimWellAllocationPlot*>( caf::SelectionManager::instance()->selectedItem() );
RimWellAllocationPlot* sourceObject =
dynamic_cast<RimWellAllocationPlot*>( caf::SelectionManager::instance()->selectedItem() );
RimWellAllocationPlot* wellAllocationPlot = dynamic_cast<RimWellAllocationPlot*>(
sourceObject->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
RimWellAllocationPlot* wellAllocationPlot = dynamic_cast<RimWellAllocationPlot*>(
sourceObject->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
CVF_ASSERT( wellAllocationPlot );
CVF_ASSERT( wellAllocationPlot );
flowPlotColl->addWellAllocPlotToStoredPlots( wellAllocationPlot );
wellAllocationPlot->resolveReferencesRecursively();
flowPlotColl->addWellAllocPlotToStoredPlots( wellAllocationPlot );
wellAllocationPlot->resolveReferencesRecursively();
wellAllocationPlot->loadDataAndUpdate();
wellAllocationPlot->loadDataAndUpdate();
flowPlotColl->updateConnectedEditors();
flowPlotColl->updateConnectedEditors();
RiuPlotMainWindowTools::onObjectAppended( wellAllocationPlot );
}
RiuPlotMainWindowTools::onObjectAppended( wellAllocationPlot );
}
}

View File

@ -22,7 +22,6 @@
#include "RimEclipseView.h"
#include "RimFlowPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimSimWellInView.h"
#include "RimWellAllocationPlot.h"
#include "RimWellDistributionPlotCollection.h"
@ -72,10 +71,7 @@ void RicShowCumulativePhasePlotFeature::onActionTriggered( bool isChecked )
}
}
RimProject* proj = RimProject::current();
if ( !proj ) return;
RimFlowPlotCollection* flowPlotColl = proj->mainPlotCollection()->flowPlotCollection();
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( !flowPlotColl ) return;
RimWellDistributionPlotCollection* wdp = flowPlotColl->wellDistributionPlotCollection();

View File

@ -30,7 +30,6 @@
#include "RimFlowDiagSolution.h"
#include "RimFlowPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RiuPlotMainWindowTools.h"
@ -86,18 +85,15 @@ void RicShowFlowCharacteristicsPlotFeature::onActionTriggered( bool isChecked )
}
}
if ( RimProject::current() )
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowPlotCollection* flowPlotColl = RimProject::current()->mainPlotCollection->flowPlotCollection();
if ( flowPlotColl )
{
RiuPlotMainWindowTools::showPlotMainWindow();
RiuPlotMainWindowTools::showPlotMainWindow();
flowPlotColl->defaultFlowCharacteristicsPlot()->setFromFlowSolution( eclCase->defaultFlowDiagSolution() );
flowPlotColl->defaultFlowCharacteristicsPlot()->updateConnectedEditors();
flowPlotColl->defaultFlowCharacteristicsPlot()->setFromFlowSolution( eclCase->defaultFlowDiagSolution() );
flowPlotColl->defaultFlowCharacteristicsPlot()->updateConnectedEditors();
RiuPlotMainWindowTools::onObjectAppended( flowPlotColl->defaultFlowCharacteristicsPlot() );
}
RiuPlotMainWindowTools::onObjectAppended( flowPlotColl->defaultFlowCharacteristicsPlot() );
}
}
}

View File

@ -22,19 +22,18 @@
#include "Rim3dView.h"
#include "RimEclipseResultCase.h"
#include "RimEclipseView.h"
#include "RimFlowPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimSimWellInView.h"
#include "RimSimWellInViewCollection.h"
#include "RimWellAllocationPlot.h"
#include "RimWellPath.h"
#include "RiuPlotMainWindowTools.h"
#include "cafSelectionManager.h"
#include "RimEclipseView.h"
#include "RimSimWellInViewCollection.h"
#include "RimWellPath.h"
#include <QAction>
CAF_CMD_SOURCE_INIT( RicShowWellAllocationPlotFeature, "RicShowWellAllocationPlotFeature" );
@ -103,17 +102,14 @@ void RicShowWellAllocationPlotFeature::onActionTriggered( bool isChecked )
else
return;
if ( RimProject::current() )
RimFlowPlotCollection* flowPlotColl = RimMainPlotCollection::current()->flowPlotCollection();
if ( flowPlotColl )
{
RimFlowPlotCollection* flowPlotColl = RimProject::current()->mainPlotCollection->flowPlotCollection();
if ( flowPlotColl )
{
flowPlotColl->defaultWellAllocPlot()->setFromSimulationWell( simWell );
flowPlotColl->defaultWellAllocPlot()->updateConnectedEditors();
flowPlotColl->defaultWellAllocPlot()->setFromSimulationWell( simWell );
flowPlotColl->defaultWellAllocPlot()->updateConnectedEditors();
RiuPlotMainWindowTools::showPlotMainWindow();
RiuPlotMainWindowTools::onObjectAppended( flowPlotColl->defaultWellAllocPlot() );
}
RiuPlotMainWindowTools::showPlotMainWindow();
RiuPlotMainWindowTools::onObjectAppended( flowPlotColl->defaultWellAllocPlot() );
}
}

View File

@ -25,7 +25,6 @@
#include "RimGridCrossPlotDataSet.h"
#include "RimGridView.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RiuPlotMainWindowTools.h"
#include "RiuViewer.h"
@ -50,12 +49,11 @@ bool RicCreateGridCrossPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicCreateGridCrossPlotFeature::onActionTriggered( bool isChecked )
{
RimProject* project = RimProject::current();
RimGridCrossPlotCollection* collection =
caf::SelectionManager::instance()->selectedItemAncestorOfType<RimGridCrossPlotCollection>();
if ( !collection )
{
collection = project->mainPlotCollection()->gridCrossPlotCollection();
collection = RimMainPlotCollection::current()->gridCrossPlotCollection();
}
RimGridCrossPlot* plot = collection->createGridCrossPlot();
RimGridCrossPlotDataSet* dataSet = plot->createDataSet();

View File

@ -58,9 +58,7 @@ std::vector<RimSaturationPressurePlot*>
return plots;
}
RimProject* project = RimProject::current();
RimSaturationPressurePlotCollection* collection = project->mainPlotCollection()->saturationPressurePlotCollection();
RimSaturationPressurePlotCollection* collection = RimMainPlotCollection::current()->saturationPressurePlotCollection();
if ( eclipseResultCase && eclipseResultCase->ensureReservoirCaseIsOpen() )
{
@ -123,9 +121,7 @@ bool RicCreateSaturationPressurePlotsFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicCreateSaturationPressurePlotsFeature::onActionTriggered( bool isChecked )
{
RimProject* project = RimProject::current();
RimSaturationPressurePlotCollection* collection = project->mainPlotCollection()->saturationPressurePlotCollection();
RimSaturationPressurePlotCollection* collection = RimMainPlotCollection::current()->saturationPressurePlotCollection();
std::vector<RimEclipseResultCase*> eclipseCases;
{

View File

@ -36,7 +36,6 @@
#include "RimMultiPlot.h"
#include "RimMultiPlotCollection.h"
#include "RimPlot.h"
#include "RimProject.h"
#include "RimSaturationPressurePlot.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
@ -327,8 +326,7 @@ std::vector<RimSummaryPlot*> RicSummaryPlotBuilder::duplicateSummaryPlots( const
//--------------------------------------------------------------------------------------------------
RimMultiPlot* RicSummaryPlotBuilder::createAndAppendMultiPlot( const std::vector<RimPlot*>& plots )
{
RimProject* project = RimProject::current();
RimMultiPlotCollection* plotCollection = project->mainPlotCollection()->multiPlotCollection();
RimMultiPlotCollection* plotCollection = RimMainPlotCollection::current()->multiPlotCollection();
auto* plotWindow = new RimMultiPlot;
plotWindow->setMultiPlotTitle( QString( "Multi Plot %1" ).arg( plotCollection->multiPlots().size() + 1 ) );
@ -358,8 +356,7 @@ RimMultiPlot* RicSummaryPlotBuilder::createAndAppendMultiPlot( const std::vector
RimSummaryMultiPlot*
RicSummaryPlotBuilder::createAndAppendSummaryMultiPlot( const std::vector<caf::PdmObjectHandle*>& objects )
{
RimProject* project = RimProject::current();
RimSummaryMultiPlotCollection* plotCollection = project->mainPlotCollection()->summaryMultiPlotCollection();
RimSummaryMultiPlotCollection* plotCollection = RimMainPlotCollection::current()->summaryMultiPlotCollection();
auto* plotWindow = new RimSummaryMultiPlot;
plotWindow->setMultiPlotTitle( QString( "Multi Plot %1" ).arg( plotCollection->multiPlots().size() + 1 ) );
@ -439,8 +436,7 @@ RimSummaryMultiPlot*
if ( skipCreationOfPlotBasedOnPreferences && prefs->defaultSummaryCurvesTextFilter().trimmed().isEmpty() )
return nullptr;
RimProject* project = RimProject::current();
auto* plotCollection = project->mainPlotCollection()->summaryMultiPlotCollection();
auto* plotCollection = RimMainPlotCollection::current()->summaryMultiPlotCollection();
auto* summaryMultiPlot = new RimSummaryMultiPlot();
summaryMultiPlot->setAsPlotMdiWindow();
@ -483,8 +479,7 @@ RimSummaryMultiPlot*
//--------------------------------------------------------------------------------------------------
RimSummaryMultiPlot* RicSummaryPlotBuilder::createAndAppendSingleSummaryMultiPlotNoAutoSettings( RimSummaryPlot* plot )
{
RimProject* project = RimProject::current();
auto* plotCollection = project->mainPlotCollection()->summaryMultiPlotCollection();
auto* plotCollection = RimMainPlotCollection::current()->summaryMultiPlotCollection();
auto* summaryMultiPlot = new RimSummaryMultiPlot();
summaryMultiPlot->setColumnCount( RiaDefines::ColumnCount::COLUMNS_1 );
@ -521,8 +516,7 @@ RimSummaryMultiPlot* RicSummaryPlotBuilder::createAndAppendSingleSummaryMultiPlo
//--------------------------------------------------------------------------------------------------
RimSummaryMultiPlot* RicSummaryPlotBuilder::createAndAppendSummaryMultiPlot( const std::vector<RimSummaryPlot*>& plots )
{
RimProject* project = RimProject::current();
auto* plotCollection = project->mainPlotCollection()->summaryMultiPlotCollection();
auto* plotCollection = RimMainPlotCollection::current()->summaryMultiPlotCollection();
auto* summaryMultiPlot = new RimSummaryMultiPlot();
summaryMultiPlot->setAsPlotMdiWindow();
@ -554,8 +548,7 @@ RimSummaryMultiPlot* RicSummaryPlotBuilder::createAndAppendSummaryMultiPlot( con
//--------------------------------------------------------------------------------------------------
RimSummaryMultiPlot* RicSummaryPlotBuilder::createAndAppendSingleSummaryMultiPlot( RimSummaryPlot* plot )
{
RimProject* project = RimProject::current();
auto* plotCollection = project->mainPlotCollection()->summaryMultiPlotCollection();
auto* plotCollection = RimMainPlotCollection::current()->summaryMultiPlotCollection();
auto* summaryMultiPlot = new RimSummaryMultiPlot();
summaryMultiPlot->setColumnCount( RiaDefines::ColumnCount::COLUMNS_1 );

View File

@ -34,7 +34,6 @@
#include "RimEnsembleCurveSet.h"
#include "RimEnsembleCurveSetCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimSummaryAddressCollection.h"
#include "RimSummaryCase.h"
#include "RimSummaryCurve.h"
@ -153,8 +152,7 @@ RimSummaryMultiPlot* RicSummaryPlotTemplateTools::create( const QString& fileNam
sumCaseCollections.push_back( sumCaseCollection );
}
auto proj = RimProject::current();
auto collections = proj->mainPlotCollection()->summaryMultiPlotCollection();
auto collections = RimMainPlotCollection::current()->summaryMultiPlotCollection();
auto newSummaryPlot = RicSummaryPlotTemplateTools::createMultiPlotFromTemplateFile( fileName );
if ( !newSummaryPlot ) return nullptr;
@ -213,8 +211,7 @@ RimSummaryMultiPlot* RicSummaryPlotTemplateTools::create( const QString&
if ( !analyzer.regionNumbers().empty() )
regions.push_back( QString::number( *( analyzer.regionNumbers().begin() ) ) );
auto proj = RimProject::current();
auto collections = proj->mainPlotCollection()->summaryMultiPlotCollection();
auto collections = RimMainPlotCollection::current()->summaryMultiPlotCollection();
auto newSummaryPlot = RicSummaryPlotTemplateTools::createMultiPlotFromTemplateFile( fileName );
if ( !newSummaryPlot ) return nullptr;
@ -241,11 +238,6 @@ void RicSummaryPlotTemplateTools::setValuesForPlaceholders( RimSummaryMultiPlot*
const std::vector<QString>& regions )
{
// Assumes this plot is inserted into the project. This is required when assigning the ptrFields
RimProject* proj = nullptr;
summaryMultiPlot->firstAncestorOfType( proj );
CAF_ASSERT( proj );
auto plots = summaryMultiPlot->plots();
for ( auto p : plots )
{
@ -265,11 +257,6 @@ void RicSummaryPlotTemplateTools::setValuesForPlaceholders( RimSummaryPlot*
const std::vector<QString>& groupNames,
const std::vector<QString>& regions )
{
// Assumes this plot is inserted into the project. This is required when assigning the ptrFields
RimProject* proj = nullptr;
summaryPlot->firstAncestorOfType( proj );
CAF_ASSERT( proj );
{
// Replace single summary curves data sources

View File

@ -24,7 +24,6 @@
#include "RimObservedDataCollection.h"
#include "RimObservedFmuRftData.h"
#include "RimObservedSummaryData.h"
#include "RimProject.h"
#include "RimRftPlotCollection.h"
#include "RimSummaryMultiPlot.h"
#include "RimSummaryMultiPlotCollection.h"
@ -80,8 +79,7 @@ void RicCloseObservedDataFeature::deleteObservedSummaryData( const std::vector<R
//--------------------------------------------------------------------------------------------------
void RicCloseObservedDataFeature::deleteObservedRmuRftData( const std::vector<RimObservedFmuRftData*>& data )
{
RimProject* proj = RimProject::current();
RimRftPlotCollection* rftPlotColl = proj->mainPlotCollection()->rftPlotCollection();
RimRftPlotCollection* rftPlotColl = RimMainPlotCollection::current()->rftPlotCollection();
for ( RimObservedFmuRftData* observedData : data )
{

View File

@ -23,7 +23,6 @@
#include "RimEnsembleFractureStatisticsPlot.h"
#include "RimEnsembleFractureStatisticsPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RiuPlotMainWindow.h"
#include "RiuPlotMainWindowTools.h"
@ -45,10 +44,8 @@ bool RicCreateEnsembleFractureStatisticsPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicCreateEnsembleFractureStatisticsPlotFeature::onActionTriggered( bool isChecked )
{
RimProject* project = RimProject::current();
RimEnsembleFractureStatisticsPlotCollection* collection =
project->mainPlotCollection()->ensembleFractureStatisticsPlotCollection();
RimMainPlotCollection::current()->ensembleFractureStatisticsPlotCollection();
RimEnsembleFractureStatisticsPlot* plot = new RimEnsembleFractureStatisticsPlot();
plot->zoomAll();

View File

@ -121,7 +121,7 @@ void RicCreateEnsembleWellLogFeature::executeCommand( const RicCreateEnsembleWel
std::vector<std::pair<QString, RiaDefines::ResultCatType>> properties = ui.properties();
RimWellLogPlotCollection* plotCollection = RimProject::current()->mainPlotCollection()->wellLogPlotCollection();
RimWellLogPlotCollection* plotCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
RimWellPath* wellPath = nullptr;

View File

@ -25,7 +25,6 @@
#include "RimGridStatisticsPlot.h"
#include "RimGridStatisticsPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RiuPlotMainWindow.h"
#include "RiuPlotMainWindowTools.h"
@ -47,9 +46,7 @@ bool RicCreateGridStatisticsPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicCreateGridStatisticsPlotFeature::onActionTriggered( bool isChecked )
{
RimProject* project = RimProject::current();
RimGridStatisticsPlotCollection* collection = project->mainPlotCollection()->gridStatisticsPlotCollection();
RimGridStatisticsPlotCollection* collection = RimMainPlotCollection::current()->gridStatisticsPlotCollection();
RimGridStatisticsPlot* plot = new RimGridStatisticsPlot();

View File

@ -44,7 +44,6 @@
#include "RimEclipseCase.h"
#include "RimEclipseView.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimWellLogPlotCollection.h"
#include "RimWellPath.h"
#include "RimWellPathCollection.h"
@ -123,10 +122,10 @@ void RicCreateTemporaryLgrFeature::updateViews( RimEclipseCase* eclipseCase )
if ( guiApp ) guiApp->clearAllSelections();
deleteAllCachedData( eclipseCase );
RimProject::current()->mainPlotCollection()->deleteAllCachedData();
RimMainPlotCollection::current()->deleteAllCachedData();
computeCachedData( eclipseCase );
RimProject::current()->mainPlotCollection()->wellLogPlotCollection()->loadDataAndUpdateAllPlots();
RimMainPlotCollection::current()->wellLogPlotCollection()->loadDataAndUpdateAllPlots();
if ( guiApp ) eclipseCase->createDisplayModelAndUpdateAllViews();
}

View File

@ -22,7 +22,6 @@
#include "RiaGuiApplication.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimSimWellInView.h"
#include "RimVfpPlot.h"
#include "RimVfpPlotCollection.h"
@ -57,8 +56,6 @@ bool RicNewVfpPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicNewVfpPlotFeature::onActionTriggered( bool isChecked )
{
RimProject* proj = RiaApplication::instance()->project();
RiaApplication* app = RiaGuiApplication::instance();
RiuPlotMainWindow* mpw = RiaGuiApplication::instance()->mainPlotWindow();
@ -73,7 +70,7 @@ void RicNewVfpPlotFeature::onActionTriggered( bool isChecked )
app->setLastUsedDialogDirectory( vfpDataKey, QFileInfo( fileNames.last() ).absolutePath() );
RimVfpPlotCollection* vfpPlotColl = proj->mainPlotCollection()->vfpPlotCollection();
RimVfpPlotCollection* vfpPlotColl = RimMainPlotCollection::current()->vfpPlotCollection();
if ( vfpPlotColl )
{
std::vector<RimVfpPlot*> vfpPlots;

View File

@ -25,7 +25,6 @@
#include "RimMainPlotCollection.h"
#include "RimObservedDataCollection.h"
#include "RimObservedSummaryData.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h"
@ -40,6 +39,18 @@
CAF_CMD_SOURCE_INIT( RicReloadSummaryCaseFeature, "RicReloadSummaryCaseFeature" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicReloadSummaryCaseFeature::reloadSummaryCase( RimSummaryCase* summaryCase )
{
summaryCase->createSummaryReaderInterface();
summaryCase->createRftReaderInterface();
summaryCase->refreshMetaData();
RicReplaceSummaryCaseFeature::updateRequredCalculatedCurves( summaryCase );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -60,22 +71,12 @@ void RicReloadSummaryCaseFeature::onActionTriggered( bool isChecked )
std::vector<RimSummaryCase*> caseSelection = selectedSummaryCases();
for ( RimSummaryCase* summaryCase : caseSelection )
{
summaryCase->createSummaryReaderInterface();
summaryCase->createRftReaderInterface();
summaryCase->refreshMetaData();
RicReplaceSummaryCaseFeature::updateRequredCalculatedCurves( summaryCase );
reloadSummaryCase( summaryCase );
RiaLogging::info( QString( "Reloaded data for %1" ).arg( summaryCase->summaryHeaderFilename() ) );
}
for ( RimSummaryMultiPlot* multiPlot : summaryPlotColl->multiPlots() )
{
for ( RimSummaryPlot* summaryPlot : multiPlot->summaryPlots() )
{
summaryPlot->loadDataAndUpdate();
}
}
RimMainPlotCollection::current()->loadDataAndUpdateAllPlots();
}
//--------------------------------------------------------------------------------------------------

View File

@ -28,6 +28,9 @@ class RicReloadSummaryCaseFeature : public caf::CmdFeature
{
CAF_CMD_HEADER_INIT;
public:
static void reloadSummaryCase( RimSummaryCase* summaryCase );
protected:
bool isCommandEnabled() override;
void onActionTriggered( bool isChecked ) override;

View File

@ -19,7 +19,6 @@
#include "RicReloadWellPathFormationNamesFeature.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimWellPath.h"
#include "RimWellPathCollection.h"
@ -65,14 +64,7 @@ void RicReloadWellPathFormationNamesFeature::onActionTriggered( bool isChecked )
wellPathCollections[0]->reloadAllWellPathFormations();
}
RimProject* project = RimProject::current();
if ( project )
{
if ( project->mainPlotCollection() )
{
project->mainPlotCollection->updatePlotsWithFormations();
}
}
RimMainPlotCollection::current()->updatePlotsWithFormations();
}
//--------------------------------------------------------------------------------------------------

View File

@ -25,7 +25,6 @@
#include "RicSummaryPlotEditorUi.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCrossPlotCollection.h"
@ -75,10 +74,7 @@ bool RicNewSummaryCrossPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicNewSummaryCrossPlotFeature::onActionTriggered( bool isChecked )
{
RimProject* project = RimProject::current();
CVF_ASSERT( project );
RimSummaryCrossPlotCollection* summaryCrossPlotColl = project->mainPlotCollection()->summaryCrossPlotCollection();
RimSummaryCrossPlotCollection* summaryCrossPlotColl = RimMainPlotCollection::current()->summaryCrossPlotCollection();
RimSummaryPlot* summaryPlot = summaryCrossPlotColl->createSummaryPlot();
summaryCrossPlotColl->addPlot( summaryPlot );

View File

@ -144,8 +144,7 @@ std::vector<RimEclipseCase*> openEclipseCasesForCellPlotting( QStringList gridFi
std::vector<RimEclipseCase*> openedCases;
RiaApplication* app = RiaApplication::instance();
RimProject* project = app->project();
RimEclipseCaseCollection* analysisModels = project->activeOilField()->analysisModels();
RimEclipseCaseCollection* analysisModels = RimProject::current()->activeOilField()->analysisModels();
for ( const QString& fileName : gridFileNames )
{
QFileInfo gridFileInfo( fileName );
@ -488,7 +487,7 @@ void RicSummaryPlotFeatureImpl::createSummaryPlotsFromArgumentLine( const QStrin
if ( lastPlotCreated )
{
RimProject::current()->mainPlotCollection()->summaryMultiPlotCollection()->updateConnectedEditors();
RimMainPlotCollection::current()->summaryMultiPlotCollection()->updateConnectedEditors();
RiuPlotMainWindow* mpw = RiaGuiApplication::instance()->mainPlotWindow();
// Needed to avoid unnecessary activation of sub windows (plots)

View File

@ -83,9 +83,7 @@ bool RicNewPltPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicNewPltPlotFeature::onActionTriggered( bool isChecked )
{
RimProject* proj = RimProject::current();
RimPltPlotCollection* pltPlotColl = proj->mainPlotCollection()->pltPlotCollection();
RimPltPlotCollection* pltPlotColl = RimMainPlotCollection::current()->pltPlotCollection();
if ( pltPlotColl )
{
QString wellPathName;
@ -98,7 +96,7 @@ void RicNewPltPlotFeature::onActionTriggered( bool isChecked )
}
else if ( ( eclipseWell = caf::firstAncestorOfTypeFromSelectedObject<RimSimWellInView*>() ) != nullptr )
{
wellPath = proj->wellPathFromSimWellName( eclipseWell->name() );
wellPath = RimProject::current()->wellPathFromSimWellName( eclipseWell->name() );
if ( !wellPath ) return;
wellPathName = wellPath->name();

View File

@ -19,7 +19,6 @@
#include "RicNewRftPlotFeature.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimRftPlotCollection.h"
#include "RimSimWellInView.h"
#include "RimWellLogPlot.h"
@ -58,9 +57,7 @@ bool RicNewRftPlotFeature::isCommandEnabled()
//--------------------------------------------------------------------------------------------------
void RicNewRftPlotFeature::onActionTriggered( bool isChecked )
{
RimProject* proj = RimProject::current();
RimRftPlotCollection* rftPlotColl = proj->mainPlotCollection()->rftPlotCollection();
RimRftPlotCollection* rftPlotColl = RimMainPlotCollection::current()->rftPlotCollection();
if ( rftPlotColl )
{
QString wellName = selectedWellName();

View File

@ -249,14 +249,5 @@ void RicNewWellLogPlotFeatureImpl::updateAfterCreation( RimDepthTrackPlot* plot
//--------------------------------------------------------------------------------------------------
RimWellLogPlotCollection* RicNewWellLogPlotFeatureImpl::wellLogPlotCollection()
{
RimProject* project = RimProject::current();
CVF_ASSERT( project );
RimMainPlotCollection* mainPlotColl = project->mainPlotCollection();
CVF_ASSERT( mainPlotColl );
RimWellLogPlotCollection* wellLogPlotColl = mainPlotColl->wellLogPlotCollection();
CVF_ASSERT( wellLogPlotColl );
return mainPlotColl->wellLogPlotCollection();
return RimMainPlotCollection::current()->wellLogPlotCollection();
}

View File

@ -69,10 +69,7 @@ void RicWellPathFormationsImportFileFeature::onActionTriggered( bool isChecked )
if ( project )
{
project->scheduleCreateDisplayModelAndRedrawAllViews();
if ( project->mainPlotCollection() )
{
project->mainPlotCollection->updatePlotsWithFormations();
}
RimMainPlotCollection::current()->updatePlotsWithFormations();
RimOilField* oilField = project->activeOilField();

View File

@ -66,7 +66,6 @@
#include "RimMainPlotCollection.h"
#include "RimMudWeightWindowParameters.h"
#include "RimProject.h"
#include "RimWellLogPlot.h"
#include "RimWellLogPlotCollection.h"
@ -216,20 +215,10 @@ void RigFemPartResultsCollection::setActiveFormationNames( RigFormationNames* ac
{
m_activeFormationNamesData = activeFormationNames;
RimProject* project = RimProject::current();
if ( project )
RimWellLogPlotCollection* plotCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
for ( auto wellLogPlot : plotCollection->wellLogPlots() )
{
if ( project->mainPlotCollection() )
{
RimWellLogPlotCollection* plotCollection = project->mainPlotCollection()->wellLogPlotCollection();
if ( plotCollection )
{
for ( auto wellLogPlot : plotCollection->wellLogPlots() )
{
wellLogPlot->loadDataAndUpdate();
}
}
}
wellLogPlot->loadDataAndUpdate();
}
this->deleteResult( RigFemResultAddress( RIG_FORMATION_NAMES, "Active Formation Names", "" ) );

View File

@ -281,7 +281,7 @@ protected:
{
RimProject* proj = RimProject::current();
RimWellPath* wellPath = proj->wellPathByName( wellPathName );
RimWellLogPlotCollection* wellLogCollection = proj->mainPlotCollection()->wellLogPlotCollection();
RimWellLogPlotCollection* wellLogCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
RigEclipseWellLogExtractor* eclExtractor = wellLogCollection->findOrCreateExtractor( wellPath, eclCase );
return eclExtractor;

View File

@ -185,17 +185,10 @@ RimGeoMechCase::~RimGeoMechCase( void )
{
geoMechViews.deleteChildren();
RimProject* project = RimProject::current();
if ( project )
RimWellLogPlotCollection* plotCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
if ( plotCollection )
{
if ( project->mainPlotCollection() )
{
RimWellLogPlotCollection* plotCollection = project->mainPlotCollection()->wellLogPlotCollection();
if ( plotCollection )
{
plotCollection->removeExtractors( this->geoMechData() );
}
}
plotCollection->removeExtractors( this->geoMechData() );
}
if ( this->geoMechData() )

View File

@ -606,9 +606,7 @@ void Rim3dView::updateDisplayModelForCurrentTimeStepAndRedraw()
m_isCallingUpdateDisplayModelForCurrentTimestepAndRedraw = false;
RimProject* project;
firstAncestorOrThisOfTypeAsserted( project );
project->mainPlotCollection()->updateCurrentTimeStepInPlots();
RimMainPlotCollection::current()->updateCurrentTimeStepInPlots();
}
//--------------------------------------------------------------------------------------------------

View File

@ -152,17 +152,10 @@ RimEclipseCase::~RimEclipseCase()
delete m_fractureModelResults();
delete m_inputPropertyCollection;
RimProject* project = RimProject::current();
if ( project )
RimWellLogPlotCollection* plotCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
if ( plotCollection )
{
if ( project->mainPlotCollection() )
{
RimWellLogPlotCollection* plotCollection = project->mainPlotCollection()->wellLogPlotCollection();
if ( plotCollection )
{
plotCollection->removeExtractors( this->eclipseCaseData() );
}
}
plotCollection->removeExtractors( this->eclipseCaseData() );
}
if ( this->eclipseCaseData() )
@ -511,16 +504,7 @@ void RimEclipseCase::updateFormationNamesData()
}
// Update plots based on formations
{
RimProject* project = RimProject::current();
if ( project )
{
if ( project->mainPlotCollection() )
{
project->mainPlotCollection->updatePlotsWithFormations();
}
}
}
RimMainPlotCollection::current()->updatePlotsWithFormations();
std::vector<Rim3dView*> views = this->views();
for ( Rim3dView* view : views )

View File

@ -155,6 +155,14 @@ RimMainPlotCollection::~RimMainPlotCollection()
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimMainPlotCollection* RimMainPlotCollection::current()
{
return RimProject::current()->mainPlotCollection();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -61,6 +61,8 @@ public:
RimMainPlotCollection();
~RimMainPlotCollection() override;
static RimMainPlotCollection* current();
RimWellLogPlotCollection* wellLogPlotCollection() const;
RimRftPlotCollection* rftPlotCollection() const;
RimPltPlotCollection* pltPlotCollection() const;

View File

@ -154,8 +154,8 @@ RimProject::RimProject( void )
wellPathImport.uiCapability()->setUiTreeHidden( true );
wellPathImport.uiCapability()->setUiTreeChildrenHidden( true );
CAF_PDM_InitFieldNoDefault( &mainPlotCollection, "MainPlotCollection", "Plots" );
mainPlotCollection.uiCapability()->setUiTreeHidden( true );
CAF_PDM_InitFieldNoDefault( &m_mainPlotCollection, "MainPlotCollection", "Plots" );
m_mainPlotCollection.uiCapability()->setUiTreeHidden( true );
CAF_PDM_InitFieldNoDefault( &viewLinkerCollection, "LinkedViews", "Linked Views", ":/LinkView.svg" );
viewLinkerCollection.uiCapability()->setUiTreeHidden( true );
@ -212,7 +212,7 @@ RimProject::RimProject( void )
scriptCollection->uiCapability()->setUiName( "Scripts" );
scriptCollection->uiCapability()->setUiIconFromResourceString( ":/octave.png" );
mainPlotCollection = new RimMainPlotCollection();
m_mainPlotCollection = new RimMainPlotCollection();
CAF_PDM_InitFieldNoDefault( &m_plotTemplateTopFolder, "PlotTemplateCollection", "Plot Templates" );
m_plotTemplateTopFolder = new RimPlotTemplateFolderItem();
@ -244,9 +244,9 @@ RimProject* RimProject::current()
//--------------------------------------------------------------------------------------------------
void RimProject::close()
{
if ( mainPlotCollection() )
if ( m_mainPlotCollection() )
{
mainPlotCollection()->deleteAllContainedObjects();
m_mainPlotCollection()->deleteAllContainedObjects();
}
oilFields.deleteChildren();
@ -361,6 +361,14 @@ void RimProject::setupBeforeSave()
m_projectFileVersionString = STRPRODUCTVER;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimMainPlotCollection* RimProject::mainPlotCollection() const
{
return m_mainPlotCollection();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -998,7 +1006,7 @@ void RimProject::reloadCompletionTypeResultsInAllViews()
RiaCompletionTypeCalculationScheduler::instance()->clearCompletionTypeResultsInAllCases();
scheduleCreateDisplayModelAndRedrawAllViews();
mainPlotCollection()->scheduleUpdatePlotsWithCompletions();
m_mainPlotCollection()->scheduleUpdatePlotsWithCompletions();
}
//--------------------------------------------------------------------------------------------------
@ -1364,82 +1372,82 @@ void RimProject::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, Q
{
if ( uiConfigName == "PlotWindow.Plots" )
{
if ( mainPlotCollection )
if ( m_mainPlotCollection )
{
if ( mainPlotCollection->summaryMultiPlotCollection() )
if ( m_mainPlotCollection->summaryMultiPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->summaryMultiPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->summaryMultiPlotCollection() );
}
if ( mainPlotCollection->analysisPlotCollection() )
if ( m_mainPlotCollection->analysisPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->analysisPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->analysisPlotCollection() );
}
if ( mainPlotCollection->correlationPlotCollection() )
if ( m_mainPlotCollection->correlationPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->correlationPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->correlationPlotCollection() );
}
if ( mainPlotCollection->summaryCrossPlotCollection() )
if ( m_mainPlotCollection->summaryCrossPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->summaryCrossPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->summaryCrossPlotCollection() );
}
if ( mainPlotCollection->wellLogPlotCollection() )
if ( m_mainPlotCollection->wellLogPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->wellLogPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->wellLogPlotCollection() );
}
if ( mainPlotCollection->rftPlotCollection() )
if ( m_mainPlotCollection->rftPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->rftPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->rftPlotCollection() );
}
if ( mainPlotCollection->pltPlotCollection() )
if ( m_mainPlotCollection->pltPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->pltPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->pltPlotCollection() );
}
if ( mainPlotCollection->flowPlotCollection() )
if ( m_mainPlotCollection->flowPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->flowPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->flowPlotCollection() );
}
if ( mainPlotCollection->gridCrossPlotCollection() )
if ( m_mainPlotCollection->gridCrossPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->gridCrossPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->gridCrossPlotCollection() );
}
if ( mainPlotCollection->saturationPressurePlotCollection() )
if ( m_mainPlotCollection->saturationPressurePlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->saturationPressurePlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->saturationPressurePlotCollection() );
}
if ( mainPlotCollection->multiPlotCollection() )
if ( m_mainPlotCollection->multiPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->multiPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->multiPlotCollection() );
}
if ( mainPlotCollection->stimPlanModelPlotCollection() )
if ( m_mainPlotCollection->stimPlanModelPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->stimPlanModelPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->stimPlanModelPlotCollection() );
}
if ( mainPlotCollection->vfpPlotCollection() )
if ( m_mainPlotCollection->vfpPlotCollection() )
{
uiTreeOrdering.add( mainPlotCollection->vfpPlotCollection() );
uiTreeOrdering.add( m_mainPlotCollection->vfpPlotCollection() );
}
#ifdef USE_QTCHARTS
if ( mainPlotCollection->gridStatisticsPlotCollection() ||
mainPlotCollection->ensembleFractureStatisticsPlotCollection() )
if ( m_mainPlotCollection->gridStatisticsPlotCollection() ||
m_mainPlotCollection->ensembleFractureStatisticsPlotCollection() )
{
auto statisticsItemCollection = uiTreeOrdering.add( "Statistics Plots", ":/Folder.png" );
if ( mainPlotCollection->gridStatisticsPlotCollection() )
statisticsItemCollection->add( mainPlotCollection->gridStatisticsPlotCollection() );
if ( m_mainPlotCollection->gridStatisticsPlotCollection() )
statisticsItemCollection->add( m_mainPlotCollection->gridStatisticsPlotCollection() );
if ( mainPlotCollection->ensembleFractureStatisticsPlotCollection() )
statisticsItemCollection->add( mainPlotCollection->ensembleFractureStatisticsPlotCollection() );
if ( m_mainPlotCollection->ensembleFractureStatisticsPlotCollection() )
statisticsItemCollection->add( m_mainPlotCollection->ensembleFractureStatisticsPlotCollection() );
}
#endif
}

View File

@ -97,12 +97,13 @@ public:
caf::PdmChildField<RimColorLegendCollection*> colorLegendCollection;
caf::PdmChildField<RimScriptCollection*> scriptCollection;
caf::PdmChildField<RimWellPathImport*> wellPathImport;
caf::PdmChildField<RimMainPlotCollection*> mainPlotCollection;
caf::PdmChildField<RimViewLinkerCollection*> viewLinkerCollection;
caf::PdmChildField<RimSummaryCalculationCollection*> calculationCollection;
caf::PdmChildField<RimGridCalculationCollection*> gridCalculationCollection;
caf::PdmChildArrayField<RimCommandObject*> commandObjects;
RimMainPlotCollection* mainPlotCollection() const;
caf::PdmChildArrayField<RimAdvancedSnapshotExportDefinition*> multiSnapshotDefinitions;
caf::PdmField<QString> mainWindowTreeViewStates;
@ -208,6 +209,8 @@ private:
void distributePathsFromGlobalPathList();
private:
caf::PdmChildField<RimMainPlotCollection*> m_mainPlotCollection;
caf::PdmField<QString> m_globalPathList;
caf::PdmField<QString> m_projectFileVersionString;

View File

@ -30,18 +30,8 @@
#include "RimEclipseContourMapView.h"
#include "RimEclipseContourMapViewCollection.h"
#include "RimEclipseView.h"
#include "RimFlowPlotCollection.h"
#include "RimGridCrossPlot.h"
#include "RimGridCrossPlotCollection.h"
#include "RimMainPlotCollection.h"
#include "RimMultiPlot.h"
#include "RimMultiPlotCollection.h"
#include "RimProject.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryMultiPlot.h"
#include "RimSummaryMultiPlotCollection.h"
#include "RimWellLogPlot.h"
#include "RimWellLogPlotCollection.h"
//--------------------------------------------------------------------------------------------------
///
@ -143,51 +133,5 @@ void RimReloadCaseTools::updateAll3dViews( RimEclipseCase* eclipseCase )
//--------------------------------------------------------------------------------------------------
void RimReloadCaseTools::updateAllPlots()
{
RimProject* project = RimProject::current();
if ( project && project->mainPlotCollection() )
{
RimWellLogPlotCollection* wellPlotCollection = project->mainPlotCollection()->wellLogPlotCollection();
if ( wellPlotCollection )
{
for ( RimWellLogPlot* wellLogPlot : wellPlotCollection->wellLogPlots() )
{
wellLogPlot->loadDataAndUpdate();
}
}
RimSummaryMultiPlotCollection* summaryMultiPlotCollection =
project->mainPlotCollection()->summaryMultiPlotCollection();
if ( summaryMultiPlotCollection )
{
for ( RimSummaryMultiPlot* summaryPlot : summaryMultiPlotCollection->multiPlots() )
{
summaryPlot->loadDataAndUpdate();
}
}
RimGridCrossPlotCollection* gridCrossPlotCollection = project->mainPlotCollection()->gridCrossPlotCollection();
if ( gridCrossPlotCollection )
{
for ( RimGridCrossPlot* crossPlot : gridCrossPlotCollection->plots() )
{
crossPlot->loadDataAndUpdate();
}
}
RimFlowPlotCollection* flowPlotCollection = project->mainPlotCollection()->flowPlotCollection();
if ( flowPlotCollection )
{
flowPlotCollection->loadDataAndUpdateAllPlots();
}
RimMultiPlotCollection* multiPlotCollection = project->mainPlotCollection()->multiPlotCollection();
if ( multiPlotCollection )
{
for ( RimMultiPlot* plotWindow : multiPlotCollection->multiPlots() )
{
plotWindow->loadDataAndUpdate();
}
}
}
RimMainPlotCollection::current()->loadDataAndUpdateAllPlots();
}

View File

@ -18,6 +18,13 @@
#include "RimRftCase.h"
#include "RicReloadSummaryCaseFeature.h"
#include "RimMainPlotCollection.h"
#include "RimSummaryCase.h"
#include "cafPdmUiFilePathEditor.h"
//==================================================================================================
//
//
@ -69,3 +76,33 @@ QString RimRftCase::dataDeckFilePath() const
{
return m_dataDeckFilePath().path();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimRftCase::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue )
{
RimSummaryCase* parentCase = nullptr;
firstAncestorOfType( parentCase );
if ( parentCase ) RicReloadSummaryCaseFeature::reloadSummaryCase( parentCase );
RimMainPlotCollection::current()->loadDataAndUpdateAllPlots();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimRftCase::defineEditorAttribute( const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute )
{
if ( field == &m_dataDeckFilePath )
{
auto* myAttr = dynamic_cast<caf::PdmUiFilePathEditorAttribute*>( attribute );
if ( myAttr )
{
myAttr->m_defaultPath = rftFilePath();
}
}
}

View File

@ -39,6 +39,13 @@ public:
QString rftFilePath() const;
QString dataDeckFilePath() const;
private:
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
void defineEditorAttribute( const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute ) override;
private:
caf::PdmField<caf::FilePath> m_rftFilePath;
caf::PdmField<caf::FilePath> m_dataDeckFilePath;

View File

@ -39,7 +39,6 @@
#include "RimMultiPlotCollection.h"
#include "RimMultipleSummaryPlotNameHelper.h"
#include "RimPlotAxisProperties.h"
#include "RimProject.h"
#include "RimSummaryAddress.h"
#include "RimSummaryAddressCollection.h"
#include "RimSummaryAddressModifier.h"
@ -533,8 +532,7 @@ void RimSummaryMultiPlot::updatePlotWindowTitle()
if ( title.isEmpty() )
{
auto proj = RimProject::current();
auto collections = proj->mainPlotCollection()->summaryMultiPlotCollection();
auto collections = RimMainPlotCollection::current()->summaryMultiPlotCollection();
size_t index = 0;
for ( auto p : collections->multiPlots() )

View File

@ -46,8 +46,6 @@
#include "RimGeoMechResultDefinition.h"
#include "RimGeoMechView.h"
#include "RimMainPlotCollection.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimTools.h"
#include "RimWellBoreStabilityPlot.h"
#include "RimWellLogCurve.h"
@ -438,10 +436,7 @@ void RimWellLogExtractionCurve::extractData( bool* isUsingPseudoLength,
clampBranchIndex();
RimMainPlotCollection* mainPlotCollection;
this->firstAncestorOrThisOfTypeAsserted( mainPlotCollection );
RimWellLogPlotCollection* wellLogCollection = mainPlotCollection->wellLogPlotCollection();
RimWellLogPlotCollection* wellLogCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
cvf::ref<RigEclipseWellLogExtractor> eclExtractor;
cvf::ref<RigGeoMechWellLogExtractor> geomExtractor;
@ -696,15 +691,7 @@ std::set<QString> RimWellLogExtractionCurve::sortedSimWellNames()
//--------------------------------------------------------------------------------------------------
void RimWellLogExtractionCurve::clearGeneratedSimWellPaths()
{
RimWellLogPlotCollection* wellLogCollection = nullptr;
// Need to use this approach, and not firstAnchestor because the curve might not be inside the hierarchy when
// deleted.
RimProject* proj = RimProject::current();
if ( proj && proj->mainPlotCollection() ) wellLogCollection = proj->mainPlotCollection()->wellLogPlotCollection();
if ( !wellLogCollection ) return;
RimWellLogPlotCollection* wellLogCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
for ( auto wellPath : m_wellPathsWithExtractors )
{

View File

@ -173,8 +173,8 @@ RimWellLogRftCurve::RimWellLogRftCurve()
CAF_PDM_InitFieldNoDefault( &m_wellLogChannelName, "WellLogChannelName", "Well Property" );
CAF_PDM_InitFieldNoDefault( &m_rftDataType, "RftDataType", "Data Type" );
CAF_PDM_InitField( &m_segmentResultName, "SegmentResultName", RiaResultNames::undefinedResultName(), "Segment Result Name" );
CAF_PDM_InitField( &m_segmentBranchIndex, "SegmentBranchIndex", -1, "Segment Branch" );
CAF_PDM_InitField( &m_segmentResultName, "SegmentResultName", RiaResultNames::undefinedResultName(), "Result Name" );
CAF_PDM_InitField( &m_segmentBranchIndex, "SegmentBranchIndex", -1, "Branch" );
CAF_PDM_InitFieldNoDefault( &m_segmentBranchType, "SegmentBranchType", "Branch Type" );
}

View File

@ -60,9 +60,7 @@ RimWellMeasurementCollection::~RimWellMeasurementCollection()
//--------------------------------------------------------------------------------------------------
void RimWellMeasurementCollection::updateAllCurves()
{
RimProject* proj;
this->firstAncestorOrThisOfTypeAsserted( proj );
RimMainPlotCollection* plotCollection = proj->mainPlotCollection();
RimMainPlotCollection* plotCollection = RimMainPlotCollection::current();
std::vector<RimWellMeasurementCurve*> measurementCurves;
plotCollection->descendantsIncludingThisOfType( measurementCurves );
@ -80,9 +78,7 @@ void RimWellMeasurementCollection::updateAllCurves()
//--------------------------------------------------------------------------------------------------
void RimWellMeasurementCollection::deleteAllEmptyCurves()
{
RimProject* proj;
this->firstAncestorOrThisOfTypeAsserted( proj );
RimMainPlotCollection* plotCollection = proj->mainPlotCollection();
RimMainPlotCollection* plotCollection = RimMainPlotCollection::current();
std::vector<RimWellMeasurementCurve*> measurementCurves;
plotCollection->descendantsIncludingThisOfType( measurementCurves );
@ -269,8 +265,6 @@ void RimWellMeasurementCollection::removeMeasurementsForFilePath( RimWellMeasure
delete measurementsToRemove[i];
}
RimProject* proj;
this->firstAncestorOrThisOfTypeAsserted( proj );
proj->scheduleCreateDisplayModelAndRedrawAllViews();
RimProject::current()->scheduleCreateDisplayModelAndRedrawAllViews();
this->updateAllCurves();
}

View File

@ -165,18 +165,10 @@ RimWellPath::~RimWellPath()
delete file;
}
RimProject* project;
firstAncestorOrThisOfType( project );
if ( project )
RimWellLogPlotCollection* plotCollection = RimMainPlotCollection::current()->wellLogPlotCollection();
if ( plotCollection )
{
if ( project->mainPlotCollection() )
{
RimWellLogPlotCollection* plotCollection = project->mainPlotCollection()->wellLogPlotCollection();
if ( plotCollection )
{
plotCollection->removeExtractors( m_wellPathGeometry.p() );
}
}
plotCollection->removeExtractors( m_wellPathGeometry.p() );
}
}

View File

@ -154,10 +154,7 @@ void RiuPlotMainWindow::onWellSelected( QString wellName )
if ( !plotWnd->selection3DLinkEnabled() ) return;
RimProject* project = RimProject::current();
if ( !project ) return;
project->mainPlotCollection()->updateSelectedWell( wellName );
RimMainPlotCollection::current()->updateSelectedWell( wellName );
}
//--------------------------------------------------------------------------------------------------