#723 Make sure a view is created if no view is present for a statistics case

This commit is contained in:
Magne Sjaastad
2016-08-11 08:51:32 +02:00
parent 74cc58e5f2
commit 0b8285d333
5 changed files with 59 additions and 36 deletions

View File

@@ -20,15 +20,19 @@
#include "RimEclipseStatisticsCase.h"
#include "RicNewViewFeature.h"
#include "RigCaseCellResultsData.h"
#include "RigCaseData.h"
#include "RimCaseCollection.h"
#include "RimIdenticalGridCaseGroup.h"
#include "RimReservoirCellResultsStorage.h"
#include "RimEclipseView.h"
#include "RimEclipseCellColors.h"
#include "RimEclipseStatisticsCaseEvaluator.h"
#include "RimEclipseView.h"
#include "RimEclipseWellCollection.h"
#include "RimIdenticalGridCaseGroup.h"
#include "RimReservoirCellResultsStorage.h"
#include "RiuMainWindow.h"
#include "cafPdmUiPushButtonEditor.h"
@@ -441,9 +445,7 @@ void RimEclipseStatisticsCase::fieldChangedByUi(const caf::PdmFieldHandle* chang
}
else
{
computeStatistics();
scheduleACTIVEGeometryRegenOnReservoirViews();
updateConnectedEditorsAndReservoirViews();
computeStatisticsAndUpdateViews();
}
m_calculateEditCommand = false;
}
@@ -653,6 +655,21 @@ void RimEclipseStatisticsCase::clearComputedStatistics()
updateConnectedEditorsAndReservoirViews();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEclipseStatisticsCase::computeStatisticsAndUpdateViews()
{
computeStatistics();
scheduleACTIVEGeometryRegenOnReservoirViews();
updateConnectedEditorsAndReservoirViews();
if (reservoirViews.size() == 0)
{
RicNewViewFeature::addReservoirView();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -54,8 +54,8 @@ public:
void computeStatistics();
bool hasComputedStatistics() const;
void clearComputedStatistics();
void computeStatisticsAndUpdateViews();
void scheduleACTIVEGeometryRegenOnReservoirViews();
void updateConnectedEditorsAndReservoirViews();
virtual bool openEclipseGridFile();
@@ -73,6 +73,8 @@ public:
virtual void updateFilePathsFromProjectPath(const QString& projectPath, const QString& oldProjectPath){}
private:
void scheduleACTIVEGeometryRegenOnReservoirViews();
RimIdenticalGridCaseGroup* caseGroup();
void getSourceCases(std::vector<RimEclipseCase*>& sourceCases);