Skip to content

Commit

Permalink
Use subset of enums
Browse files Browse the repository at this point in the history
 Use setEnumSubset instead of calculateValueOptions
  • Loading branch information
magnesj authored Feb 10, 2025
1 parent 00c70a6 commit d76f67f
Show file tree
Hide file tree
Showing 14 changed files with 64 additions and 147 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,8 @@ RicWellPathsUnitSystemSettingsUi::RicWellPathsUnitSystemSettingsUi()
{
CAF_PDM_InitObject( "RimWellPathsUnitSystemSettings" );

CAF_PDM_InitFieldNoDefault( &unitSystem, "UnitSystem", "Unit System" );
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QList<caf::PdmOptionItemInfo> RicWellPathsUnitSystemSettingsUi::calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions )
{
QList<caf::PdmOptionItemInfo> options;
if ( fieldNeedingOptions == &unitSystem )
{
options.push_back(
caf::PdmOptionItemInfo( caf::AppEnum<RiaDefines::EclipseUnitSystem>::uiText( RiaDefines::EclipseUnitSystem::UNITS_METRIC ),
RiaDefines::EclipseUnitSystem::UNITS_METRIC ) );
options.push_back(
caf::PdmOptionItemInfo( caf::AppEnum<RiaDefines::EclipseUnitSystem>::uiText( RiaDefines::EclipseUnitSystem::UNITS_FIELD ),
RiaDefines::EclipseUnitSystem::UNITS_FIELD ) );
}
return options;
CAF_PDM_InitField( &unitSystem, "UnitSystem", RiaDefines::EclipseUnitSystem::UNITS_METRIC, "Unit System" );
caf::AppEnum<RiaDefines::EclipseUnitSystem>::setEnumSubset( &unitSystem,
{ RiaDefines::EclipseUnitSystem::UNITS_METRIC,
RiaDefines::EclipseUnitSystem::UNITS_FIELD } );
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,4 @@ class RicWellPathsUnitSystemSettingsUi : public caf::PdmObject
RicWellPathsUnitSystemSettingsUi();

caf::PdmField<caf::AppEnum<RiaDefines::EclipseUnitSystem>> unitSystem;

protected:
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
};
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() );

Expand Down Expand Up @@ -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;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ class RimContourMapProjection : public RimCheckableNamedObject
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 );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() );

Expand Down Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 );
Expand Down Expand Up @@ -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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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" );
Expand Down Expand Up @@ -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() );
Expand Down
22 changes: 8 additions & 14 deletions ApplicationLibCode/ProjectDataModel/RimGridCalculationVariable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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" );
Expand Down Expand Up @@ -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 )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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() );

Expand Down Expand Up @@ -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 )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 );
Expand Down Expand Up @@ -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;
}
Expand Down
Loading

0 comments on commit d76f67f

Please sign in to comment.