diff --git a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.cpp b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.cpp index 122e6db73e..7b93d6a84d 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.cpp @@ -170,7 +170,7 @@ void RimEnsembleCurveFilter::fieldChangedByUi(const caf::PdmFieldHandle* changed auto eParam = selectedEnsembleParameter(); if (eParam.isNumeric()) { - setDefaultValues(); + setInitialValues(true); } else if (eParam.isText()) { @@ -308,7 +308,7 @@ std::vector RimEnsembleCurveFilter::applyFilter(const std::vect //-------------------------------------------------------------------------------------------------- void RimEnsembleCurveFilter::loadDataAndUpdate() { - setDefaultValues(); + setInitialValues(false); } //-------------------------------------------------------------------------------------------------- @@ -342,13 +342,16 @@ RimEnsembleCurveFilterCollection* RimEnsembleCurveFilter::parentCurveFilterColle //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimEnsembleCurveFilter::setDefaultValues() +void RimEnsembleCurveFilter::setInitialValues(bool forceDefault) { auto eParam = selectedEnsembleParameter(); if (eParam.isValid() && eParam.isNumeric()) { - m_lowerLimit = m_minValue = eParam.minValue; - m_upperLimit = m_maxValue = eParam.maxValue; + m_lowerLimit = eParam.minValue; + m_upperLimit = eParam.maxValue; + + if (forceDefault || !(m_minValue >= m_lowerLimit && m_minValue <= m_upperLimit)) m_minValue = m_lowerLimit; + if (forceDefault || !(m_maxValue >= m_lowerLimit && m_maxValue <= m_upperLimit)) m_maxValue = m_upperLimit; m_minValue.uiCapability()->setUiName(QString("Min (%1)").arg(m_lowerLimit)); m_maxValue.uiCapability()->setUiName(QString("Max (%1)").arg(m_upperLimit)); diff --git a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.h b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.h index a34de61f78..66f51e6963 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilter.h @@ -61,7 +61,7 @@ protected: private: RimEnsembleCurveSet * parentCurveSet() const; RimEnsembleCurveFilterCollection* parentCurveFilterCollection() const; - void setDefaultValues(); + void setInitialValues(bool forceDefault); private: caf::PdmField m_active; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilterCollection.cpp b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilterCollection.cpp index 2f7fe8a94c..27e56020e5 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilterCollection.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveFilterCollection.cpp @@ -46,7 +46,7 @@ RimEnsembleCurveFilterCollection::RimEnsembleCurveFilterCollection() { CAF_PDM_InitObject("Curve Filters", ":/SummaryCurveFilter16x16.png", "", ""); - CAF_PDM_InitFieldNoDefault(&m_active, "Active", "Active", "", "", ""); + CAF_PDM_InitField(&m_active, "Active", true, "Active", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_filters, "CurveFilters", "", "", "", ""); m_filters.uiCapability()->setUiTreeChildrenHidden(true);