#3056 Ensemble curve filters. Fix default min/max values and set field default

This commit is contained in:
Bjørn Erik Jensen 2018-06-19 10:05:00 +02:00
parent 81ae384e19
commit ef2f8087dc
3 changed files with 10 additions and 7 deletions

View File

@ -170,7 +170,7 @@ void RimEnsembleCurveFilter::fieldChangedByUi(const caf::PdmFieldHandle* changed
auto eParam = selectedEnsembleParameter(); auto eParam = selectedEnsembleParameter();
if (eParam.isNumeric()) if (eParam.isNumeric())
{ {
setDefaultValues(); setInitialValues(true);
} }
else if (eParam.isText()) else if (eParam.isText())
{ {
@ -308,7 +308,7 @@ std::vector<RimSummaryCase*> RimEnsembleCurveFilter::applyFilter(const std::vect
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEnsembleCurveFilter::loadDataAndUpdate() void RimEnsembleCurveFilter::loadDataAndUpdate()
{ {
setDefaultValues(); setInitialValues(false);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -342,13 +342,16 @@ RimEnsembleCurveFilterCollection* RimEnsembleCurveFilter::parentCurveFilterColle
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimEnsembleCurveFilter::setDefaultValues() void RimEnsembleCurveFilter::setInitialValues(bool forceDefault)
{ {
auto eParam = selectedEnsembleParameter(); auto eParam = selectedEnsembleParameter();
if (eParam.isValid() && eParam.isNumeric()) if (eParam.isValid() && eParam.isNumeric())
{ {
m_lowerLimit = m_minValue = eParam.minValue; m_lowerLimit = eParam.minValue;
m_upperLimit = m_maxValue = eParam.maxValue; 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_minValue.uiCapability()->setUiName(QString("Min (%1)").arg(m_lowerLimit));
m_maxValue.uiCapability()->setUiName(QString("Max (%1)").arg(m_upperLimit)); m_maxValue.uiCapability()->setUiName(QString("Max (%1)").arg(m_upperLimit));

View File

@ -61,7 +61,7 @@ protected:
private: private:
RimEnsembleCurveSet * parentCurveSet() const; RimEnsembleCurveSet * parentCurveSet() const;
RimEnsembleCurveFilterCollection* parentCurveFilterCollection() const; RimEnsembleCurveFilterCollection* parentCurveFilterCollection() const;
void setDefaultValues(); void setInitialValues(bool forceDefault);
private: private:
caf::PdmField<bool> m_active; caf::PdmField<bool> m_active;

View File

@ -46,7 +46,7 @@ RimEnsembleCurveFilterCollection::RimEnsembleCurveFilterCollection()
{ {
CAF_PDM_InitObject("Curve Filters", ":/SummaryCurveFilter16x16.png", "", ""); 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", "", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_filters, "CurveFilters", "", "", "", "");
m_filters.uiCapability()->setUiTreeChildrenHidden(true); m_filters.uiCapability()->setUiTreeChildrenHidden(true);