#3862 Reload case does not work correctly

When issuing reload case by right-click on case, reset time history filter
This commit is contained in:
Magne Sjaastad
2019-02-07 10:21:02 +01:00
parent 5379d692df
commit d20c0fc004
3 changed files with 20 additions and 1 deletions

View File

@@ -22,6 +22,7 @@
#include "RiaApplication.h"
#include "RimEclipseCase.h"
#include "RimTimeStepFilter.h"
#include "Riu3dSelectionManager.h"
@@ -62,7 +63,15 @@ void RicReloadCaseFeature::onActionTriggered(bool isChecked)
for (RimEclipseCase* selectedCase : selectedEclipseCases)
{
std::vector<RimTimeStepFilter*> timeStepFilter;;
selectedCase->descendantsIncludingThisOfType(timeStepFilter);
if (timeStepFilter.size() == 1)
{
timeStepFilter[0]->clearFilteredTimeSteps();
}
selectedCase->reloadDataAndUpdate();
selectedCase->updateConnectedEditors();
}
}

View File

@@ -89,6 +89,14 @@ RimTimeStepFilter::RimTimeStepFilter()
caf::PdmUiPushButtonEditor::configureEditorForField(&m_applyReloadOfCase);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimTimeStepFilter::clearFilteredTimeSteps()
{
m_filteredTimeSteps = std::vector<int>();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -109,7 +117,7 @@ void RimTimeStepFilter::setTimeStepsFromFile(const std::vector<QDateTime>& timeS
if (m_filteredTimeSteps().empty())
{
m_filteredTimeSteps = filteredTimeStepIndicesFromUi();
m_filteredTimeSteps = filteredTimeStepIndicesFromUi();
}
m_filteredTimeStepsUi = m_filteredTimeSteps;
}

View File

@@ -48,6 +48,8 @@ public:
public:
RimTimeStepFilter();
void clearFilteredTimeSteps();
void setTimeStepsFromFile(const std::vector<QDateTime>& timeSteps);
void setTimeStepsFromFile(const std::vector<std::pair<QString, QDateTime>>& timeSteps);
std::vector<size_t> filteredTimeSteps() const;