Use subset of enums

Use setEnumSubset instead of calculateValueOptions
This commit is contained in:
Magne Sjaastad
2025-02-10 17:22:25 +01:00
committed by GitHub
parent 00c70a6da6
commit d76f67f3fb
14 changed files with 64 additions and 147 deletions

View File

@@ -259,12 +259,6 @@ QList<caf::PdmOptionItemInfo> RimEllipseFractureTemplate::calculateValueOptions(
{
QList<caf::PdmOptionItemInfo> options;
if ( fieldNeedingOptions == &m_fractureWidthType )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<WidthEnum>::uiText( USER_DEFINED_WIDTH ), USER_DEFINED_WIDTH ) );
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<WidthEnum>::uiText( WIDTH_FROM_FRACTURE ), WIDTH_FROM_FRACTURE ) );
}
if ( fieldNeedingOptions == &m_betaFactorType )
{
options.push_back(

View File

@@ -99,8 +99,11 @@ RimContourMapProjection::RimContourMapProjection()
CAF_PDM_InitField( &m_userDefinedFloodingOil, "UserDefinedFloodingOil", 0.0, "" );
m_userDefinedFloodingOil.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
CAF_PDM_InitFieldNoDefault( &m_gasFloodingType, "GasFloodingType", "Residual Oil-in-Gas Given By" );
m_gasFloodingType.setValue( RigFloodingSettings::FloodingType::GAS_FLOODING );
CAF_PDM_InitField( &m_gasFloodingType, "GasFloodingType", RigFloodingSettings::FloodingType::GAS_FLOODING, "Residual Oil-in-Gas Given By" );
caf::AppEnum<RigFloodingSettings::FloodingType>::setEnumSubset( &m_gasFloodingType,
{ RigFloodingSettings::FloodingType::GAS_FLOODING,
RigFloodingSettings::FloodingType::USER_DEFINED } );
CAF_PDM_InitField( &m_userDefinedFloodingGas, "UserDefinedFloodingGas", 0.0, "" );
m_userDefinedFloodingGas.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
@@ -560,26 +563,6 @@ void RimContourMapProjection::fieldChangedByUi( const caf::PdmFieldHandle* chang
baseView()->scheduleCreateDisplayModelAndRedraw();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QList<caf::PdmOptionItemInfo> RimContourMapProjection::calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions )
{
QList<caf::PdmOptionItemInfo> options;
if ( &m_gasFloodingType == fieldNeedingOptions )
{
options.push_back(
caf::PdmOptionItemInfo( caf::AppEnum<RigFloodingSettings::FloodingType>::uiText( RigFloodingSettings::FloodingType::GAS_FLOODING ),
RigFloodingSettings::FloodingType::GAS_FLOODING ) );
options.push_back(
caf::PdmOptionItemInfo( caf::AppEnum<RigFloodingSettings::FloodingType>::uiText( RigFloodingSettings::FloodingType::USER_DEFINED ),
RigFloodingSettings::FloodingType::USER_DEFINED ) );
}
return options;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -130,7 +130,6 @@ protected:
void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
void appendValueFilterGroup( caf::PdmUiOrdering& uiOrdering );

View File

@@ -103,8 +103,11 @@ RimStatisticsContourMap::RimStatisticsContourMap()
CAF_PDM_InitField( &m_userDefinedFloodingOil, "UserDefinedFloodingOil", 0.0, "User Defined Value" );
m_userDefinedFloodingOil.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
CAF_PDM_InitFieldNoDefault( &m_gasFloodingType, "GasFloodingType", "Residual Oil-in-Gas Given By" );
m_gasFloodingType.setValue( RigFloodingSettings::FloodingType::GAS_FLOODING );
CAF_PDM_InitField( &m_gasFloodingType, "GasFloodingType", RigFloodingSettings::FloodingType::GAS_FLOODING, "Residual Oil-in-Gas Given By" );
caf::AppEnum<RigFloodingSettings::FloodingType>::setEnumSubset( &m_gasFloodingType,
{ RigFloodingSettings::FloodingType::GAS_FLOODING,
RigFloodingSettings::FloodingType::USER_DEFINED } );
CAF_PDM_InitField( &m_userDefinedFloodingGas, "UserDefinedFloodingGas", 0.0, "User Defined Value" );
m_userDefinedFloodingGas.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleSliderEditor::uiEditorTypeName() );
@@ -395,15 +398,6 @@ QList<caf::PdmOptionItemInfo> RimStatisticsContourMap::calculateValueOptions( co
}
}
}
else if ( &m_gasFloodingType == fieldNeedingOptions )
{
options.push_back(
caf::PdmOptionItemInfo( caf::AppEnum<RigFloodingSettings::FloodingType>::uiText( RigFloodingSettings::FloodingType::GAS_FLOODING ),
RigFloodingSettings::FloodingType::GAS_FLOODING ) );
options.push_back(
caf::PdmOptionItemInfo( caf::AppEnum<RigFloodingSettings::FloodingType>::uiText( RigFloodingSettings::FloodingType::USER_DEFINED ),
RigFloodingSettings::FloodingType::USER_DEFINED ) );
}
return options;
}

View File

@@ -188,7 +188,13 @@ RimWellConnectivityTable::RimWellConnectivityTable()
m_legendConfig->setAutomaticRanges( 0.0, 100.0, 0.0, 100.0 );
m_legendConfig->setColorLegend( RimRegularLegendConfig::mapToColorLegend( RimRegularLegendConfig::ColorRangesType::HEAT_MAP ) );
CAF_PDM_InitFieldNoDefault( &m_mappingType, "MappingType", "Mapping Type" );
CAF_PDM_InitField( &m_mappingType, "MappingType", RimRegularLegendConfig::MappingType::LINEAR_CONTINUOUS, "Mapping Type" );
caf::AppEnum<RimRegularLegendConfig::MappingType>::setEnumSubset( &m_mappingType,
{ RimRegularLegendConfig::MappingType::LINEAR_DISCRETE,
RimRegularLegendConfig::MappingType::LINEAR_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_DISCRETE } );
CAF_PDM_InitFieldNoDefault( &m_rangeType, "RangeType", "Range Type" );
setLegendsVisible( true );
@@ -753,17 +759,6 @@ QList<caf::PdmOptionItemInfo> RimWellConnectivityTable::calculateValueOptions( c
{
options = caf::FontTools::relativeSizeValueOptions( RiaPreferences::current()->defaultPlotFontSize() );
}
else if ( fieldNeedingOptions == &m_mappingType )
{
std::vector<RimRegularLegendConfig::MappingType> mappingTypes = { RimRegularLegendConfig::MappingType::LINEAR_DISCRETE,
RimRegularLegendConfig::MappingType::LINEAR_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_DISCRETE };
for ( const auto mappingType : mappingTypes )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RimRegularLegendConfig::MappingType>::uiText( mappingType ), mappingType ) );
}
}
return options;
}

View File

@@ -48,7 +48,11 @@ RimAdvancedSnapshotExportDefinition::RimAdvancedSnapshotExportDefinition()
CAF_PDM_InitFieldNoDefault( &view, "View", "View" );
CAF_PDM_InitFieldNoDefault( &eclipseResultType, "EclipseResultType", "Result Type" );
CAF_PDM_InitField( &eclipseResultType, "EclipseResultType", RiaDefines::ResultCatType::STATIC_NATIVE, "Result Type" );
caf::AppEnum<RiaDefines::ResultCatType>::setEnumSubset( &eclipseResultType,
{ RiaDefines::ResultCatType::STATIC_NATIVE,
RiaDefines::ResultCatType::DYNAMIC_NATIVE } );
CAF_PDM_InitFieldNoDefault( &m_selectedEclipseResult, "SelectedEclipseResults", "Properties" );
CAF_PDM_InitField( &timeStepStart, "TimeStepStart", 0, "Start Time" );
@@ -119,13 +123,6 @@ QList<caf::PdmOptionItemInfo> RimAdvancedSnapshotExportDefinition::calculateValu
RiaOptionItemFactory::appendOptionItemFromViewNameAndCaseName( rim3dView, &options );
}
}
else if ( fieldNeedingOptions == &eclipseResultType )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RiaDefines::ResultCatType>( RiaDefines::ResultCatType::DYNAMIC_NATIVE ).uiText(),
RiaDefines::ResultCatType::DYNAMIC_NATIVE ) );
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RiaDefines::ResultCatType>( RiaDefines::ResultCatType::STATIC_NATIVE ).uiText(),
RiaDefines::ResultCatType::STATIC_NATIVE ) );
}
else if ( fieldNeedingOptions == &m_selectedEclipseResult )
{
auto* rimEclipseView = dynamic_cast<RimEclipseView*>( view() );

View File

@@ -50,7 +50,13 @@ RimGridCalculationVariable::RimGridCalculationVariable()
{
CAF_PDM_InitObject( "RimGridCalculationVariable", ":/octave.png" );
CAF_PDM_InitFieldNoDefault( &m_resultType, "ResultType", "Type" );
CAF_PDM_InitField( &m_resultType, "ResultType", RiaDefines::ResultCatType::STATIC_NATIVE, "Type" );
caf::AppEnum<RiaDefines::ResultCatType>::setEnumSubset( &m_resultType,
{ RiaDefines::ResultCatType::STATIC_NATIVE,
RiaDefines::ResultCatType::DYNAMIC_NATIVE,
RiaDefines::ResultCatType::INPUT_PROPERTY,
RiaDefines::ResultCatType::GENERATED } );
CAF_PDM_InitField( &m_resultVariable, "ResultVariable", RiaResultNames::undefinedResultName(), "Variable" );
CAF_PDM_InitFieldNoDefault( &m_eclipseCase, "EclipseGridCase", "Grid Case" );
CAF_PDM_InitField( &m_timeStep, "TimeStep", allTimeStepsValue(), "Time Step" );
@@ -145,19 +151,7 @@ QList<caf::PdmOptionItemInfo> RimGridCalculationVariable::calculateValueOptions(
{
QList<caf::PdmOptionItemInfo> options;
if ( fieldNeedingOptions == &m_resultType )
{
std::vector<RiaDefines::ResultCatType> resultCategories = { RiaDefines::ResultCatType::STATIC_NATIVE,
RiaDefines::ResultCatType::DYNAMIC_NATIVE,
RiaDefines::ResultCatType::INPUT_PROPERTY,
RiaDefines::ResultCatType::GENERATED };
for ( auto c : resultCategories )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RiaDefines::ResultCatType>( c ).uiText(), c ) );
}
}
else if ( fieldNeedingOptions == &m_resultVariable )
if ( fieldNeedingOptions == &m_resultVariable )
{
auto results = currentGridCellResults();
if ( results )

View File

@@ -144,8 +144,9 @@ RimMudWeightWindowParameters::RimMudWeightWindowParameters()
CAF_PDM_InitField( &m_K0_FGAddress, "K0_FGAddress", QString( "" ), "Value" );
m_K0_FGAddress.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() );
caf::AppEnum<SourceType> defaultOBG0SourceType = RimMudWeightWindowParameters::SourceType::GRID;
CAF_PDM_InitField( &m_obg0Type, "obg0SourceType", defaultOBG0SourceType, "Initial Overburden Gradient" );
CAF_PDM_InitField( &m_obg0Type, "obg0SourceType", RimMudWeightWindowParameters::SourceType::GRID, "Initial Overburden Gradient" );
caf::AppEnum<RimMudWeightWindowParameters::SourceType>::setEnumSubset( &m_obg0Type, { SourceType::GRID, SourceType::PER_ELEMENT } );
CAF_PDM_InitField( &m_obg0Fixed, "obg0Fixed", 0.75, "Fixed Initial Overburden Gradient" );
m_obg0Fixed.uiCapability()->setUiEditorTypeName( caf::PdmUiDoubleValueEditor::uiEditorTypeName() );
@@ -540,16 +541,8 @@ QList<caf::PdmOptionItemInfo> RimMudWeightWindowParameters::calculateValueOption
auto geoMechCase = firstAncestorOrThisOfType<RimGeoMechCase>();
if ( geoMechCase != nullptr )
{
if ( fieldNeedingOptions == &m_obg0Type )
{
std::vector<SourceType> sourceTypes = { SourceType::GRID, SourceType::PER_ELEMENT };
for ( auto sourceType : sourceTypes )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<SourceType>::uiText( sourceType ), sourceType ) );
}
}
else if ( fieldNeedingOptions == &m_wellDeviationType || fieldNeedingOptions == &m_wellAzimuthType ||
fieldNeedingOptions == &m_UCSType || fieldNeedingOptions == &m_poissonsRatioType || fieldNeedingOptions == &m_K0_FGType )
if ( fieldNeedingOptions == &m_wellDeviationType || fieldNeedingOptions == &m_wellAzimuthType ||
fieldNeedingOptions == &m_UCSType || fieldNeedingOptions == &m_poissonsRatioType || fieldNeedingOptions == &m_K0_FGType )
{
std::vector<SourceType> sourceTypes = { SourceType::FIXED, SourceType::PER_ELEMENT };
for ( auto sourceType : sourceTypes )

View File

@@ -44,8 +44,10 @@ RimElasticPropertyScaling::RimElasticPropertyScaling()
CAF_PDM_InitScriptableFieldNoDefault( &m_formation, "Formation", "Formation" );
CAF_PDM_InitScriptableFieldNoDefault( &m_facies, "Facies", "Facies" );
caf::AppEnum<RiaDefines::CurveProperty> defaultProperty = RiaDefines::CurveProperty::YOUNGS_MODULUS;
CAF_PDM_InitScriptableField( &m_property, "Property", defaultProperty, "Property" );
CAF_PDM_InitScriptableField( &m_property, "Property", RiaDefines::CurveProperty::YOUNGS_MODULUS, "Property" );
caf::AppEnum<RiaDefines::CurveProperty>::setEnumSubset( &m_property, RimElasticProperties::scalableProperties() );
CAF_PDM_InitScriptableField( &m_scale, "Scale", 1.0, "Scale" );
nameField()->uiCapability()->setUiReadOnly( true );
@@ -85,14 +87,6 @@ QList<caf::PdmOptionItemInfo> RimElasticPropertyScaling::calculateValueOptions(
options.push_back( caf::PdmOptionItemInfo( item->categoryName(), item->categoryName() ) );
}
}
else if ( fieldNeedingOptions == &m_property )
{
std::vector<RiaDefines::CurveProperty> properties = RimElasticProperties::scalableProperties();
for ( auto property : properties )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RiaDefines::CurveProperty>::uiText( property ), property ) );
}
}
return options;
}

View File

@@ -74,9 +74,13 @@ RimSummaryTable::RimSummaryTable()
m_case.uiCapability()->setUiTreeChildrenHidden( true );
CAF_PDM_InitFieldNoDefault( &m_vector, "Vector", "Vector" );
m_vector.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
CAF_PDM_InitFieldNoDefault( &m_category, "Categories", "Category" );
CAF_PDM_InitField( &m_category, "Categories", RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL, "Category" );
m_category.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
m_category = RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL;
caf::AppEnum<RifEclipseSummaryAddressDefines::SummaryCategory>::setEnumSubset( &m_category,
{ RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL,
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_GROUP,
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_REGION } );
CAF_PDM_InitFieldNoDefault( &m_resamplingSelection, "ResamplingSelection", "Date Resampling" );
m_resamplingSelection.uiCapability()->setUiEditorTypeName( caf::PdmUiComboBoxEditor::uiEditorTypeName() );
@@ -104,7 +108,13 @@ RimSummaryTable::RimSummaryTable()
m_legendConfig->setAutomaticRanges( 0.0, 100.0, 0.0, 100.0 );
m_legendConfig->setColorLegend( RimRegularLegendConfig::mapToColorLegend( RimRegularLegendConfig::ColorRangesType::HEAT_MAP ) );
CAF_PDM_InitFieldNoDefault( &m_mappingType, "MappingType", "Mapping Type" );
CAF_PDM_InitField( &m_mappingType, "MappingType", RimRegularLegendConfig::MappingType::LINEAR_CONTINUOUS, "Mapping Type" );
caf::AppEnum<RimRegularLegendConfig::MappingType>::setEnumSubset( &m_mappingType,
{ RimRegularLegendConfig::MappingType::LINEAR_DISCRETE,
RimRegularLegendConfig::MappingType::LINEAR_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_DISCRETE } );
CAF_PDM_InitFieldNoDefault( &m_rangeType, "RangeType", "Range Type" );
CAF_PDM_InitField( &m_filterTimeSteps, "FilterTimeSteps", false, "Filter Time Steps" );
@@ -398,18 +408,6 @@ QList<caf::PdmOptionItemInfo> RimSummaryTable::calculateValueOptions( const caf:
options.push_back( caf::PdmOptionItemInfo( summaryCase->displayCaseName(), summaryCase, false, summaryCase->uiIconProvider() ) );
}
}
else if ( fieldNeedingOptions == &m_category )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RifEclipseSummaryAddressDefines::SummaryCategory>::uiText(
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL ),
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL ) );
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RifEclipseSummaryAddressDefines::SummaryCategory>::uiText(
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_GROUP ),
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_GROUP ) );
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RifEclipseSummaryAddressDefines::SummaryCategory>::uiText(
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_REGION ),
RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_REGION ) );
}
else if ( fieldNeedingOptions == &m_vector && m_case )
{
auto* summaryReader = m_case->summaryReader();
@@ -435,17 +433,6 @@ QList<caf::PdmOptionItemInfo> RimSummaryTable::calculateValueOptions( const caf:
{
options = caf::FontTools::relativeSizeValueOptions( RiaPreferences::current()->defaultPlotFontSize() );
}
else if ( fieldNeedingOptions == &m_mappingType )
{
std::vector<RimRegularLegendConfig::MappingType> mappingTypes = { RimRegularLegendConfig::MappingType::LINEAR_DISCRETE,
RimRegularLegendConfig::MappingType::LINEAR_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_CONTINUOUS,
RimRegularLegendConfig::MappingType::LOG10_DISCRETE };
for ( const auto mappingType : mappingTypes )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RimRegularLegendConfig::MappingType>::uiText( mappingType ), mappingType ) );
}
}
return options;
}