#8410 Color Legend : Add option to center legend around zero

This commit is contained in:
Magne Sjaastad 2022-01-05 13:29:56 +01:00
parent 1e17da2926
commit 13425ce0e9
2 changed files with 21 additions and 0 deletions

View File

@ -212,6 +212,8 @@ RimRegularLegendConfig::RimRegularLegendConfig()
m_resetUserDefinedValuesButton.uiCapability()->setUiEditorTypeName( caf::PdmUiPushButtonEditor::uiEditorTypeName() );
m_resetUserDefinedValuesButton.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN );
CAF_PDM_InitField( &m_centerLegendAroundZero, "CenterLegendAroundZero", false, "Center Legend Around Zero" );
updateFieldVisibility();
updateLegend();
}
@ -456,6 +458,13 @@ void RimRegularLegendConfig::updateLegend()
negClosestToZero = m_globalAutoNegClosestToZero;
}
if ( m_centerLegendAroundZero )
{
auto maxValue = std::max( std::abs( adjustedMax ), std::abs( adjustedMin ) );
adjustedMax = maxValue;
adjustedMin = -maxValue;
}
m_linDiscreteScalarMapper->setRange( adjustedMin, adjustedMax );
m_linSmoothScalarMapper->setRange( adjustedMin, adjustedMax );
@ -613,6 +622,14 @@ void RimRegularLegendConfig::resetUserDefinedValues()
m_resetUserDefinedValues = true;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimRegularLegendConfig::setCenterLegendAroundZero( bool enable )
{
m_centerLegendAroundZero = enable;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -1226,6 +1243,8 @@ void RimRegularLegendConfig::defineUiOrdering( QString uiConfigName, caf::PdmUiO
mappingGr->add( &m_userDefinedMaxValue );
mappingGr->add( &m_userDefinedMinValue );
mappingGr->add( &m_categoryColorMode );
mappingGr->add( &m_centerLegendAroundZero );
uiOrdering.add( &m_resetUserDefinedValuesButton );
}

View File

@ -127,6 +127,7 @@ public:
MappingType mappingMode() { return m_mappingMode(); }
void setTickNumberFormat( RiaNumberFormat::NumberFormatType numberFormat );
void resetUserDefinedValues();
void setCenterLegendAroundZero( bool enable );
void disableAllTimeStepsRange( bool doDisable );
@ -231,6 +232,7 @@ private:
caf::PdmField<caf::AppEnum<MappingType>> m_mappingMode;
caf::PdmField<caf::AppEnum<CategoryColorModeType>> m_categoryColorMode;
caf::PdmField<bool> m_resetUserDefinedValuesButton;
caf::PdmField<bool> m_centerLegendAroundZero;
caf::PdmPtrField<RimColorLegend*> m_colorLegend;
caf::PdmField<bool> m_selectColorLegendButton;