#refactor Use RimNamedObject and RimCheckableNamedObject in annotation and cell filter classes

This commit is contained in:
Magne Sjaastad committed 2026-03-31 08:58:26 +02:00
1 parent cbbcbb650c
commit 062fe388f7
21 files changed
+81 -176

No files matched your search

@@ -53,9 +53,10 @@ RimCellFilter::RimCellFilter( FilterDefinitionType defType )
{
CAF_PDM_InitObject( "Cell Filter" );
CAF_PDM_InitField( &m_name, "UserDescription", QString( "New filter" ), "Name" );
CAF_PDM_InitField( &m_isActive, "Active", true, "Active" );
m_isActive.uiCapability()->setUiHidden( true );
// The base class uses "UserDescription" as field keyword - no alias needed for m_name
setName( "New filter" );
m_isChecked.registerKeywordAlias( "Active" );
CAF_PDM_InitFieldNoDefault( &m_srcCase, "Case", "Case" );
m_srcCase.uiCapability()->setUiHidden( true );
@@ -93,23 +94,7 @@ caf::PdmFieldHandle* RimCellFilter::userDescriptionField()
//--------------------------------------------------------------------------------------------------
QString RimCellFilter::fullName() const
{
return QString( "%1" ).arg( m_name );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimCellFilter::name() const
{
return m_name();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimCellFilter::setName( QString filtername )
{
m_name = filtername;
return name();
}
//--------------------------------------------------------------------------------------------------
@@ -117,7 +102,7 @@ void RimCellFilter::setName( QString filtername )
//--------------------------------------------------------------------------------------------------
void RimCellFilter::setActive( bool active )
{
m_isActive = active;
m_isChecked = active;
updateIconState();
}
@@ -126,7 +111,7 @@ void RimCellFilter::setActive( bool active )
//--------------------------------------------------------------------------------------------------
bool RimCellFilter::isActive() const
{
return m_isActive();
return m_isChecked();
}
//--------------------------------------------------------------------------------------------------
@@ -145,7 +130,7 @@ void RimCellFilter::triggerFilterChanged() const
//--------------------------------------------------------------------------------------------------
bool RimCellFilter::isFilterEnabled() const
{
return m_isActive();
return m_isChecked();
}
//--------------------------------------------------------------------------------------------------
@@ -193,7 +178,7 @@ RimGeoMechCase* RimCellFilter::geoMechCase() const
//--------------------------------------------------------------------------------------------------
void RimCellFilter::updateActiveState( bool isControlled )
{
m_isActive.uiCapability()->setUiReadOnly( isControlled );
m_isChecked.uiCapability()->setUiReadOnly( isControlled );
}
//--------------------------------------------------------------------------------------------------
@@ -246,25 +231,17 @@ void RimCellFilter::updateIconState()
iconProvider.setOverlayResourceString( ":/Minus.png" );
}
iconProvider.setActive( m_isActive && !m_isActive.uiCapability()->isUiReadOnly() );
iconProvider.setActive( m_isChecked && !m_isChecked.uiCapability()->isUiReadOnly() );
setUiIcon( iconProvider );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimCellFilter::objectToggleField()
{
return &m_isActive;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimCellFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
uiOrdering.add( &m_name );
uiOrdering.add( nameField() );
auto group = uiOrdering.addNewGroup( "General" );
group->add( &m_filterMode );
@@ -18,9 +18,10 @@
#pragma once
#include "RimCheckableNamedObject.h"
#include "cafAppEnum.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmProxyValueField.h"
#include "cafPdmPtrField.h"
#include "cafSignal.h"
@@ -41,7 +42,7 @@ class RimCase;
///
///
//==================================================================================================
class RimCellFilter : public caf::PdmObject
class RimCellFilter : public RimCheckableNamedObject
{
CAF_PDM_HEADER_INIT;
@@ -64,9 +65,6 @@ public:
RimCellFilter( FilterDefinitionType defType );
~RimCellFilter() override;
QString name() const;
void setName( QString filtername );
bool isActive() const;
void setActive( bool active );
@@ -97,7 +95,6 @@ public:
protected:
caf::PdmFieldHandle* userDescriptionField() override;
caf::PdmFieldHandle* objectToggleField() override;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
bool isFilterControlled() const;
@@ -108,9 +105,7 @@ protected:
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
caf::PdmField<QString> m_name;
caf::PdmProxyValueField<QString> m_nameProxy;
caf::PdmField<bool> m_isActive;
caf::PdmField<caf::AppEnum<FilterModeType>> m_filterMode;
caf::PdmField<int> m_gridIndex;
caf::PdmField<bool> m_propagateToSubGrids;
@@ -99,7 +99,7 @@ void RimCellIndexFilter::fieldChangedByUi( const caf::PdmFieldHandle* changedFie
m_setId = 0;
}
if ( changedField != &m_name )
if ( changedField != nameField() )
{
updateCells();
filterChanged.send();
@@ -161,11 +161,11 @@ void RimCellIndexFilter::updateCells()
auto part = parts->part( m_gridIndex() );
auto setNames = part->elementSetNames();
m_name = QString::fromStdString( part->name() );
setName( QString::fromStdString( part->name() ) );
if ( m_setId() < (int)setNames.size() )
{
m_name = m_name + " : " + QString::fromStdString( part->elementSetNames()[m_setId] );
setName( name() + " : " + QString::fromStdString( part->elementSetNames()[m_setId] ) );
}
auto cells = part->elementSet( m_setId() );
@@ -149,7 +149,7 @@ void RimCellRangeFilter::fieldChangedByUi( const caf::PdmFieldHandle* changedFie
return;
}
if ( changedField != &m_name )
if ( changedField != nameField() )
{
computeAndSetValidValues();
filterChanged.send();
@@ -182,9 +182,9 @@ void RimEclipsePropertyFilter::fieldChangedByUi( const caf::PdmFieldHandle* chan
if ( m_upperBound < m_lowerBound ) m_lowerBound = m_upperBound;
}
if ( &m_lowerBound == changedField || &m_upperBound == changedField || &m_isActive == changedField || &m_filterMode == changedField ||
&m_selectedCategoryValues == changedField || &m_useCategorySelection == changedField || &m_integerUpperBound == changedField ||
&m_integerLowerBound == changedField || &m_linkedWithCellResult == changedField )
if ( &m_lowerBound == changedField || &m_upperBound == changedField || objectToggleField() == changedField ||
&m_filterMode == changedField || &m_selectedCategoryValues == changedField || &m_useCategorySelection == changedField ||
&m_integerUpperBound == changedField || &m_integerLowerBound == changedField || &m_linkedWithCellResult == changedField )
{
m_isDuplicatedFromLinkedView = false;
@@ -228,7 +228,7 @@ void RimEclipsePropertyFilter::setToDefaultValues()
void RimEclipsePropertyFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
// Fields declared in RimCellFilter
uiOrdering.add( &m_name );
uiOrdering.add( nameField() );
uiOrdering.add( &m_linkedWithCellResult );
@@ -391,7 +391,7 @@ void RimEclipsePropertyFilter::setCategoriesFromTracerNames( const std::vector<Q
//--------------------------------------------------------------------------------------------------
void RimEclipsePropertyFilter::updateActiveState()
{
m_isActive.uiCapability()->setUiReadOnly( isPropertyFilterControlled() );
m_isChecked.uiCapability()->setUiReadOnly( isPropertyFilterControlled() );
}
//--------------------------------------------------------------------------------------------------
@@ -640,7 +640,7 @@ void RimEclipsePropertyFilter::updateFromCurrentTimeStep()
m_upperBound.uiCapability()->updateConnectedEditors();
updateFilterName();
m_name.uiCapability()->updateConnectedEditors();
nameField()->uiCapability()->updateConnectedEditors();
}
//--------------------------------------------------------------------------------------------------
@@ -684,7 +684,7 @@ void RimEclipsePropertyFilter::updateFilterName()
newFiltername += " (" + QString::number( m_lowerBound ) + " .. " + QString::number( m_upperBound ) + ")";
}
m_name = newFiltername;
setName( newFiltername );
}
//--------------------------------------------------------------------------------------------------
@@ -124,8 +124,8 @@ double RimGeoMechPropertyFilter::upperBound() const
//--------------------------------------------------------------------------------------------------
void RimGeoMechPropertyFilter::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue )
{
if ( &m_lowerBound == changedField || &m_upperBound == changedField || &m_isActive == changedField || &m_filterMode == changedField ||
&m_selectedCategoryValues == changedField || &m_linkedWithCellResult == changedField )
if ( &m_lowerBound == changedField || &m_upperBound == changedField || objectToggleField() == changedField ||
&m_filterMode == changedField || &m_selectedCategoryValues == changedField || &m_linkedWithCellResult == changedField )
{
updateIconState();
updateFilterName();
@@ -173,7 +173,7 @@ void RimGeoMechPropertyFilter::setToDefaultValues()
//--------------------------------------------------------------------------------------------------
void RimGeoMechPropertyFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
uiOrdering.add( &m_name );
uiOrdering.add( nameField() );
uiOrdering.add( &m_linkedWithCellResult );
if ( m_linkedWithCellResult() )
{
@@ -258,7 +258,7 @@ bool RimGeoMechPropertyFilter::isPropertyFilterControlled()
//--------------------------------------------------------------------------------------------------
void RimGeoMechPropertyFilter::updateActiveState()
{
m_isActive.uiCapability()->setUiReadOnly( isPropertyFilterControlled() );
m_isChecked.uiCapability()->setUiReadOnly( isPropertyFilterControlled() );
}
//--------------------------------------------------------------------------------------------------
@@ -364,7 +364,7 @@ void RimGeoMechPropertyFilter::updateFilterName()
QString::number( m_upperBound ) + ")";
}
m_name = newFiltername;
setName( newFiltername );
uiCapability()->updateConnectedEditors();
}
@@ -170,7 +170,7 @@ void RimPolygonFilter::setPolygon( RimPolygon* polygon )
//--------------------------------------------------------------------------------------------------
bool RimPolygonFilter::isFilterEnabled() const
{
return m_isActive() && m_enableFiltering;
return isActive() && m_enableFiltering;
}
//--------------------------------------------------------------------------------------------------
@@ -248,7 +248,7 @@ void RimPolygonFilter::childFieldChangedByUi( const caf::PdmFieldHandle* changed
//--------------------------------------------------------------------------------------------------
void RimPolygonFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
uiOrdering.add( &m_name );
uiOrdering.add( nameField() );
auto group = uiOrdering.addNewGroup( "General" );
group->add( &m_filterMode );
@@ -352,7 +352,7 @@ void RimPolygonFilter::fieldChangedByUi( const caf::PdmFieldHandle* changedField
updateAllRequiredEditors();
}
if ( changedField != &m_name )
if ( changedField != nameField() )
{
updateCells();
filterChanged.send();
@@ -70,7 +70,7 @@ void RimUserDefinedFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrd
//--------------------------------------------------------------------------------------------------
void RimUserDefinedFilter::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue )
{
if ( changedField != &m_name )
if ( changedField != nameField() )
{
filterChanged.send();
updateIconState();
@@ -87,7 +87,7 @@ void RimUserDefinedIndexFilter::defineUiOrdering( QString uiConfigName, caf::Pdm
//--------------------------------------------------------------------------------------------------
void RimUserDefinedIndexFilter::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue )
{
if ( changedField != &m_name )
if ( changedField != nameField() )
{
filterChanged.send();
updateIconState();