Use Fwk base classes for named objects and checked objects

This commit is contained in:
Magne Sjaastad committed 2026-01-23 13:31:47 +01:00
1 parent 5c9438ab04
commit fde113259a
12 files changed
+62 -136

No files matched your search

@@ -140,7 +140,7 @@ void RimEquilibriumAxisAnnotation::defineUiOrdering( QString uiConfigName, caf::
if ( m_annotationType() == PlotAxisAnnotationType::PL_USER_DEFINED ) if ( m_annotationType() == PlotAxisAnnotationType::PL_USER_DEFINED )
{ {
uiOrdering.add( &m_name ); uiOrdering.add( nameField() );
uiOrdering.add( &m_value ); uiOrdering.add( &m_value );
} }
else else
@@ -207,6 +207,6 @@ void RimEquilibriumAxisAnnotation::updateName()
text = QString( "GOC %1" ).arg( value() ); text = QString( "GOC %1" ).arg( value() );
} }
m_name = text; setName( text );
} }
} }
@@ -42,10 +42,10 @@ RimPlotAxisAnnotation::RimPlotAxisAnnotation()
m_annotationType = AnnotationType::LINE; m_annotationType = AnnotationType::LINE;
CAF_PDM_InitObject( "Plot Axis Annotation", ":/LeftAxis16x16.png" ); CAF_PDM_InitObject( "Plot Axis Annotation", ":/LeftAxis16x16.png" );
CAF_PDM_InitField( &m_isActive, "Active", true, "Active" ); // Register keyword alias for backward compatibility (old keyword was "Active", base uses "IsChecked")
m_isActive.uiCapability()->setUiHidden( true ); m_isChecked.registerKeywordAlias( "Active" );
m_isChecked.uiCapability()->setUiHidden( true );
CAF_PDM_InitFieldNoDefault( &m_name, "Name", "Name" );
CAF_PDM_InitFieldNoDefault( &m_value, "Value", "Value" ); CAF_PDM_InitFieldNoDefault( &m_value, "Value", "Value" );
CAF_PDM_InitFieldNoDefault( &m_rangeStart, "RangeStart", "Range Start" ); CAF_PDM_InitFieldNoDefault( &m_rangeStart, "RangeStart", "Range Start" );
@@ -61,14 +61,6 @@ RimPlotAxisAnnotation::RimPlotAxisAnnotation()
m_color = cvf::Color3f( cvf::Color3f::BLACK ); m_color = cvf::Color3f( cvf::Color3f::BLACK );
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPlotAxisAnnotation::setName( const QString& name )
{
m_name = name;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -85,14 +77,6 @@ RimPlotAxisAnnotation::AnnotationType RimPlotAxisAnnotation::annotationType() co
return m_annotationType; return m_annotationType;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimPlotAxisAnnotation::name() const
{
return m_name();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -165,22 +149,6 @@ RiaDefines::TextAlignment RimPlotAxisAnnotation::textAlignment() const
return m_textAlignment(); return m_textAlignment();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimPlotAxisAnnotation::userDescriptionField()
{
return &m_name;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimPlotAxisAnnotation::objectToggleField()
{
return &m_isActive;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -198,7 +166,7 @@ void RimPlotAxisAnnotation::fieldChangedByUi( const caf::PdmFieldHandle* changed
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimPlotAxisAnnotation::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) void RimPlotAxisAnnotation::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{ {
uiOrdering.add( &m_name ); uiOrdering.add( nameField() );
uiOrdering.add( &m_value ); uiOrdering.add( &m_value );
uiOrdering.skipRemainingFields(); uiOrdering.skipRemainingFields();
@@ -21,18 +21,19 @@
#include "RiaPlotDefines.h" #include "RiaPlotDefines.h"
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPtrField.h" #include "cafPdmPtrField.h"
#include "cvfColor3.h" #include "cvfColor3.h"
#include "RimCheckableNamedObject.h"
#include <QString> #include <QString>
//================================================================================================== //==================================================================================================
/// ///
/// ///
//================================================================================================== //==================================================================================================
class RimPlotAxisAnnotation : public caf::PdmObject class RimPlotAxisAnnotation : public RimCheckableNamedObject
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
@@ -44,9 +45,6 @@ public:
}; };
RimPlotAxisAnnotation(); RimPlotAxisAnnotation();
void setName( const QString& name );
QString name() const;
void setValue( double value ); void setValue( double value );
virtual double value() const; virtual double value() const;
@@ -65,17 +63,12 @@ public:
double rangeStart() const; double rangeStart() const;
double rangeEnd() const; double rangeEnd() const;
caf::PdmFieldHandle* userDescriptionField() override;
caf::PdmFieldHandle* objectToggleField() override;
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override; void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
protected: protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
protected: protected:
caf::PdmField<bool> m_isActive;
caf::PdmField<QString> m_name;
caf::PdmField<double> m_value; caf::PdmField<double> m_value;
caf::PdmField<double> m_rangeStart; caf::PdmField<double> m_rangeStart;
caf::PdmField<double> m_rangeEnd; caf::PdmField<double> m_rangeEnd;
@@ -37,8 +37,9 @@ RimPolylinesAnnotation::RimPolylinesAnnotation()
{ {
CAF_PDM_InitObject( "PolylineAnnotation", ":/WellCollection.png" ); CAF_PDM_InitObject( "PolylineAnnotation", ":/WellCollection.png" );
CAF_PDM_InitField( &m_isActive, "IsActive", true, "Is Active" ); // Register keyword alias for backward compatibility (old keyword was "IsActive", base uses "IsChecked")
m_isActive.uiCapability()->setUiHidden( true ); m_isChecked.registerKeywordAlias( "IsActive" );
m_isChecked.uiCapability()->setUiHidden( true );
CAF_PDM_InitField( &m_closePolyline, "ClosePolyline", false, "Close Polyline" ); CAF_PDM_InitField( &m_closePolyline, "ClosePolyline", false, "Close Polyline" );
CAF_PDM_InitField( &m_showLines, "ShowLines", true, "Show Lines" ); CAF_PDM_InitField( &m_showLines, "ShowLines", true, "Show Lines" );
@@ -59,14 +60,6 @@ RimPolylinesAnnotation::~RimPolylinesAnnotation()
{ {
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPolylinesAnnotation::isActive()
{
return m_isActive();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -74,7 +67,7 @@ bool RimPolylinesAnnotation::isVisible()
{ {
auto coll = firstAncestorOrThisOfType<RimAnnotationCollectionBase>(); auto coll = firstAncestorOrThisOfType<RimAnnotationCollectionBase>();
return coll && coll->isActive() && m_isActive; return coll && coll->isActive() && isChecked();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -108,11 +101,3 @@ RimPolylineAppearance* RimPolylinesAnnotation::appearance() const
{ {
return m_appearance; return m_appearance;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimPolylinesAnnotation::objectToggleField()
{
return &m_isActive;
}
@@ -19,7 +19,8 @@
#pragma once #pragma once
#include "cafPdmChildField.h" #include "cafPdmChildField.h"
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmObject.h"
#include "RimCheckableObject.h"
// Include to make Pdm work for cvf::Color // Include to make Pdm work for cvf::Color
@@ -32,7 +33,7 @@ class RimPolylineAppearance;
/// ///
/// ///
//================================================================================================== //==================================================================================================
class RimPolylinesAnnotation : public caf::PdmObject class RimPolylinesAnnotation : public RimCheckableObject
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
@@ -43,7 +44,6 @@ public:
virtual cvf::ref<RigPolyLinesData> polyLinesData() = 0; virtual cvf::ref<RigPolyLinesData> polyLinesData() = 0;
virtual bool isEmpty() = 0; virtual bool isEmpty() = 0;
bool isActive();
bool isVisible(); bool isVisible();
bool closePolyline() const; bool closePolyline() const;
@@ -53,11 +53,6 @@ public:
RimPolylineAppearance* appearance() const; RimPolylineAppearance* appearance() const;
protected: protected:
caf::PdmFieldHandle* objectToggleField() override;
protected:
caf::PdmField<bool> m_isActive;
caf::PdmField<bool> m_closePolyline; caf::PdmField<bool> m_closePolyline;
caf::PdmField<bool> m_showLines; caf::PdmField<bool> m_showLines;
caf::PdmField<bool> m_showSpheres; caf::PdmField<bool> m_showSpheres;
@@ -30,10 +30,12 @@ RimTextAnnotationInView::RimTextAnnotationInView()
{ {
CAF_PDM_InitObject( "TextAnnotationInView", ":/TextAnnotation16x16.png" ); CAF_PDM_InitObject( "TextAnnotationInView", ":/TextAnnotation16x16.png" );
CAF_PDM_InitField( &m_isActive, "IsActive", true, "Is Active" ); // Register keyword alias for backward compatibility (old keyword was "IsActive", base uses "IsChecked")
m_isChecked.registerKeywordAlias( "IsActive" );
m_isChecked.uiCapability()->setUiHidden( true );
CAF_PDM_InitFieldNoDefault( &m_sourceAnnotation, "SourceAnnotation", "Source Annotation" ); CAF_PDM_InitFieldNoDefault( &m_sourceAnnotation, "SourceAnnotation", "Source Annotation" );
m_isActive.uiCapability()->setUiHidden( true );
m_sourceAnnotation.uiCapability()->setUiHidden( true ); m_sourceAnnotation.uiCapability()->setUiHidden( true );
m_sourceAnnotation = nullptr; m_sourceAnnotation = nullptr;
} }
@@ -46,18 +48,10 @@ RimTextAnnotationInView::RimTextAnnotationInView( RimTextAnnotation* sourceAnnot
{ {
CVF_ASSERT( sourceAnnotation ); CVF_ASSERT( sourceAnnotation );
m_isActive = sourceAnnotation->isActive(); setCheckState( sourceAnnotation->isActive() );
m_sourceAnnotation = sourceAnnotation; m_sourceAnnotation = sourceAnnotation;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimTextAnnotationInView::isActive() const
{
return m_isActive();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -93,7 +87,7 @@ bool RimTextAnnotationInView::isVisible() const
if ( globalColl ) visible = globalColl->isVisible(); if ( globalColl ) visible = globalColl->isVisible();
} }
} }
if ( visible ) visible = m_isActive; if ( visible ) visible = isChecked();
return visible; return visible;
} }
@@ -102,7 +96,7 @@ bool RimTextAnnotationInView::isVisible() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimTextAnnotationInView::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) void RimTextAnnotationInView::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue )
{ {
if ( changedField == &m_isActive ) if ( changedField == objectToggleField() )
{ {
auto coll = firstAncestorOrThisOfType<RimAnnotationCollectionBase>(); auto coll = firstAncestorOrThisOfType<RimAnnotationCollectionBase>();
@@ -110,14 +104,6 @@ void RimTextAnnotationInView::fieldChangedByUi( const caf::PdmFieldHandle* chang
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimTextAnnotationInView::objectToggleField()
{
return &m_isActive;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -19,16 +19,17 @@
#pragma once #pragma once
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPtrField.h" #include "cafPdmPtrField.h"
#include "RimCheckableObject.h"
class RimTextAnnotation; class RimTextAnnotation;
//================================================================================================== //==================================================================================================
/// ///
/// ///
//================================================================================================== //==================================================================================================
class RimTextAnnotationInView : public caf::PdmObject class RimTextAnnotationInView : public RimCheckableObject
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
@@ -37,7 +38,6 @@ public:
RimTextAnnotationInView( RimTextAnnotation* sourceAnnotation ); RimTextAnnotationInView( RimTextAnnotation* sourceAnnotation );
~RimTextAnnotationInView() override {} ~RimTextAnnotationInView() override {}
bool isActive() const;
void setSourceAnnotation( RimTextAnnotation* annotation ); void setSourceAnnotation( RimTextAnnotation* annotation );
RimTextAnnotation* sourceAnnotation() const; RimTextAnnotation* sourceAnnotation() const;
@@ -45,10 +45,8 @@ public:
protected: protected:
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override; void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
caf::PdmFieldHandle* objectToggleField() override;
caf::PdmFieldHandle* userDescriptionField() override; caf::PdmFieldHandle* userDescriptionField() override;
private: private:
caf::PdmField<bool> m_isActive;
caf::PdmPtrField<RimTextAnnotation*> m_sourceAnnotation; caf::PdmPtrField<RimTextAnnotation*> m_sourceAnnotation;
}; };
@@ -93,7 +93,7 @@ void RimTimeAxisAnnotation::setTime( time_t time, const QString& dateTimeFormatS
QString formatString = dateTimeFormatString.isEmpty() ? internal::defaultDateTimeFormatString() : dateTimeFormatString; QString formatString = dateTimeFormatString.isEmpty() ? internal::defaultDateTimeFormatString() : dateTimeFormatString;
m_name = RiaQDateTimeTools::toStringUsingApplicationLocale( RiaQDateTimeTools::fromTime_t( time ), formatString ); setName( RiaQDateTimeTools::toStringUsingApplicationLocale( RiaQDateTimeTools::fromTime_t( time ), formatString ) );
setAnnotationType( AnnotationType::LINE ); setAnnotationType( AnnotationType::LINE );
} }
@@ -108,9 +108,9 @@ void RimTimeAxisAnnotation::setTimeRange( time_t startTime, time_t endTime, cons
QString formatString = dateTimeFormatString.isEmpty() ? internal::defaultDateTimeFormatString() : dateTimeFormatString; QString formatString = dateTimeFormatString.isEmpty() ? internal::defaultDateTimeFormatString() : dateTimeFormatString;
m_name = QString( "%0 - %1" ) setName( QString( "%0 - %1" )
.arg( RiaQDateTimeTools::toStringUsingApplicationLocale( RiaQDateTimeTools::fromTime_t( startTime ), formatString ) ) .arg( RiaQDateTimeTools::toStringUsingApplicationLocale( RiaQDateTimeTools::fromTime_t( startTime ), formatString ) )
.arg( RiaQDateTimeTools::toStringUsingApplicationLocale( RiaQDateTimeTools::fromTime_t( endTime ), formatString ) ); .arg( RiaQDateTimeTools::toStringUsingApplicationLocale( RiaQDateTimeTools::fromTime_t( endTime ), formatString ) ) );
setAnnotationType( AnnotationType::RANGE ); setAnnotationType( AnnotationType::RANGE );
} }
@@ -144,7 +144,7 @@ void RimTimeAxisAnnotation::setDefaultColor()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimTimeAxisAnnotation::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) void RimTimeAxisAnnotation::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{ {
uiOrdering.add( &m_name ); uiOrdering.add( nameField() );
uiOrdering.add( &m_value ); uiOrdering.add( &m_value );
uiOrdering.add( &m_rangeStart ); uiOrdering.add( &m_rangeStart );
uiOrdering.add( &m_rangeEnd ); uiOrdering.add( &m_rangeEnd );
@@ -34,6 +34,7 @@
#include "RimCellFilter.h" #include "RimCellFilter.h"
#include "RimCellFilterCollection.h" #include "RimCellFilterCollection.h"
#include "RimCellRangeFilter.h" #include "RimCellRangeFilter.h"
#include "RimCheckableNamedObject.h"
#include "RimEclipseCase.h" #include "RimEclipseCase.h"
#include "RimEclipseCellColors.h" #include "RimEclipseCellColors.h"
#include "RimEclipsePropertyFilterCollection.h" #include "RimEclipsePropertyFilterCollection.h"
@@ -62,12 +63,16 @@ RimViewController::RimViewController()
{ {
CAF_PDM_InitObject( "View Link" ); CAF_PDM_InitObject( "View Link" );
CAF_PDM_InitField( &m_isActive, "Active", true, "Active" ); // Register keyword alias for backward compatibility (old keyword was "Active", base uses "IsChecked")
m_isActive.uiCapability()->setUiHidden( true ); m_isChecked.registerKeywordAlias( "Active" );
m_isChecked.uiCapability()->setUiHidden( true );
// Set default name
QString defaultName = "View Config: Empty view"; QString defaultName = "View Config: Empty view";
CAF_PDM_InitField( &m_name, "Name", defaultName, "Managed View Name" ); setName( defaultName );
m_name.uiCapability()->setUiHidden( true );
// Set UI properties for inherited fields
nameField()->uiCapability()->setUiHidden( true );
CAF_PDM_InitFieldNoDefault( &m_managedView, "ManagedView", "Linked View" ); CAF_PDM_InitFieldNoDefault( &m_managedView, "ManagedView", "Linked View" );
m_managedView.uiCapability()->setUiTreeChildrenHidden( true ); m_managedView.uiCapability()->setUiTreeChildrenHidden( true );
@@ -149,9 +154,9 @@ void RimViewController::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrde
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RimViewController::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) void RimViewController::fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue )
{ {
if ( changedField == &m_isActive ) if ( changedField == objectToggleField() )
{ {
if ( !m_isActive ) if ( !isChecked() )
{ {
applyCellFilterCollectionByUserChoice(); applyCellFilterCollectionByUserChoice();
} }
@@ -220,7 +225,7 @@ void RimViewController::fieldChangedByUi( const caf::PdmFieldHandle* changedFiel
setManagedView( m_managedView() ); setManagedView( m_managedView() );
m_name.uiCapability()->updateConnectedEditors(); nameField()->uiCapability()->updateConnectedEditors();
} }
} }
@@ -473,8 +478,10 @@ void RimViewController::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderi
void RimViewController::updateDisplayNameAndIcon() void RimViewController::updateDisplayNameAndIcon()
{ {
caf::IconProvider iconProvider; caf::IconProvider iconProvider;
RimViewLinker::findNameAndIconFromView( &m_name.v(), &iconProvider, managedView() ); QString nameValue = name();
iconProvider.setActive( m_isActive() ); RimViewLinker::findNameAndIconFromView( &nameValue, &iconProvider, managedView() );
setName( nameValue );
iconProvider.setActive( isChecked() );
setUiIcon( iconProvider ); setUiIcon( iconProvider );
} }
@@ -748,7 +755,7 @@ void RimViewController::scheduleGeometryRegenForDepViews( RivCellSetEnum geometr
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimViewController::isActive() const bool RimViewController::isActive() const
{ {
return ownerViewLinker()->isActive() && m_isActive(); return ownerViewLinker()->isActive() && isChecked();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -756,7 +763,7 @@ bool RimViewController::isActive() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimViewController::isCameraLinked() const bool RimViewController::isCameraLinked() const
{ {
if ( ownerViewLinker()->isActive() && m_isActive() ) if ( ownerViewLinker()->isActive() && isChecked() )
{ {
return m_syncCamera; return m_syncCamera;
} }
@@ -777,7 +784,7 @@ bool RimViewController::showCursor() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimViewController::isTimeStepLinked() const bool RimViewController::isTimeStepLinked() const
{ {
if ( ownerViewLinker()->isActive() && m_isActive() ) if ( ownerViewLinker()->isActive() && isChecked() )
{ {
return m_syncTimeStep; return m_syncTimeStep;
} }
@@ -790,7 +797,7 @@ bool RimViewController::isTimeStepLinked() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimViewController::isResultColorControlled() const bool RimViewController::isResultColorControlled() const
{ {
if ( ownerViewLinker()->isActive() && m_isActive() ) if ( ownerViewLinker()->isActive() && isChecked() )
{ {
return m_syncCellResult; return m_syncCellResult;
} }
@@ -803,7 +810,7 @@ bool RimViewController::isResultColorControlled() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimViewController::isLegendDefinitionsControlled() const bool RimViewController::isLegendDefinitionsControlled() const
{ {
if ( ownerViewLinker()->isActive() && m_isActive() ) if ( ownerViewLinker()->isActive() && isChecked() )
{ {
return m_syncLegendDefinitions; return m_syncLegendDefinitions;
} }
@@ -887,7 +894,7 @@ bool RimViewController::isPropertyFilterControlAdvisable() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RimViewController::isCellFiltersControlled() const bool RimViewController::isCellFiltersControlled() const
{ {
if ( ownerViewLinker() && ownerViewLinker()->isActive() && m_isActive() ) if ( ownerViewLinker() && ownerViewLinker()->isActive() && isChecked() )
{ {
return m_syncCellFilters; return m_syncCellFilters;
} }
@@ -932,7 +939,7 @@ bool RimViewController::isPropertyFilterOveridden() const
{ {
if ( !isPropertyFilterControlPossible() ) return false; if ( !isPropertyFilterControlPossible() ) return false;
if ( ownerViewLinker()->isActive() && m_isActive() ) if ( ownerViewLinker()->isActive() && isChecked() )
{ {
return m_syncPropertyFilters; return m_syncPropertyFilters;
} }
@@ -21,11 +21,11 @@
#include "cafIconProvider.h" #include "cafIconProvider.h"
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPtrField.h" #include "cafPdmPtrField.h"
#include "cvfObject.h" #include "cvfObject.h"
#include "RimCheckableNamedObject.h"
#include "RivCellSetEnum.h" #include "RivCellSetEnum.h"
class RimGridView; class RimGridView;
@@ -41,7 +41,7 @@ class RimPropertyFilter;
/// ///
/// ///
//================================================================================================== //==================================================================================================
class RimViewController : public caf::PdmObject class RimViewController : public RimCheckableNamedObject
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
@@ -89,9 +89,6 @@ protected: // Pdm overridden methods
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override; void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
caf::PdmFieldHandle* userDescriptionField() override { return &m_name; }
caf::PdmFieldHandle* objectToggleField() override { return &m_isActive; }
private: private:
void updateCameraLink(); void updateCameraLink();
void updateTimeStepLink(); void updateTimeStepLink();
@@ -112,10 +109,8 @@ private:
static bool askUserToRestoreOriginalCellFilterCollection( const QString& viewName ); static bool askUserToRestoreOriginalCellFilterCollection( const QString& viewName );
private: private:
caf::PdmField<QString> m_name;
caf::PdmPtrField<Rim3dView*> m_managedView; caf::PdmPtrField<Rim3dView*> m_managedView;
caf::PdmField<bool> m_isActive;
caf::PdmField<bool> m_syncCamera; caf::PdmField<bool> m_syncCamera;
caf::PdmField<bool> m_showCursor; caf::PdmField<bool> m_showCursor;
caf::PdmField<bool> m_syncTimeStep; caf::PdmField<bool> m_syncTimeStep;
@@ -58,8 +58,9 @@ RimViewLinker::RimViewLinker()
{ {
CAF_PDM_InitObject( "Linked Views" ); CAF_PDM_InitObject( "Linked Views" );
CAF_PDM_InitField( &m_name, "Name", QString( "View Group Name" ), "View Group Name" ); // Set default name
m_name.uiCapability()->setUiHidden( true ); setName( "View Group Name" );
nameField()->uiCapability()->setUiHidden( true );
CAF_PDM_InitFieldNoDefault( &m_masterView, "MainView", "Main View" ); CAF_PDM_InitFieldNoDefault( &m_masterView, "MainView", "Main View" );
m_masterView.uiCapability()->setUiTreeChildrenHidden( true ); m_masterView.uiCapability()->setUiTreeChildrenHidden( true );
@@ -455,7 +456,7 @@ void RimViewLinker::updateUiNameAndIcon()
QString name; QString name;
RimViewLinker::findNameAndIconFromView( &name, &iconProvider, m_masterView ); RimViewLinker::findNameAndIconFromView( &name, &iconProvider, m_masterView );
name += " (Primary)"; name += " (Primary)";
m_name.v() = name; setName( name );
if ( m_masterView ) m_masterView->updateAutoName(); if ( m_masterView ) m_masterView->updateAutoName();
@@ -23,11 +23,12 @@
#include "cafPdmChildArrayField.h" #include "cafPdmChildArrayField.h"
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPtrField.h" #include "cafPdmPtrField.h"
#include "cvfVector3.h" #include "cvfVector3.h"
#include "RimNamedObject.h"
namespace caf namespace caf
{ {
class IconProvider; class IconProvider;
@@ -48,7 +49,7 @@ class RimPropertyFilter;
/// ///
/// ///
//================================================================================================== //==================================================================================================
class RimViewLinker : public caf::PdmObject class RimViewLinker : public RimNamedObject
{ {
CAF_PDM_HEADER_INIT; CAF_PDM_HEADER_INIT;
@@ -95,8 +96,6 @@ public:
void updateCursorPosition( const Rim3dView* sourceView, const cvf::Vec3d& domainCoord ); void updateCursorPosition( const Rim3dView* sourceView, const cvf::Vec3d& domainCoord );
protected: protected:
caf::PdmFieldHandle* userDescriptionField() override { return &m_name; }
void initAfterRead() override; void initAfterRead() override;
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override; QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
@@ -113,5 +112,4 @@ private:
private: private:
caf::PdmChildArrayField<RimViewController*> m_viewControllers; caf::PdmChildArrayField<RimViewController*> m_viewControllers;
caf::PdmPtrField<Rim3dView*> m_masterView; caf::PdmPtrField<Rim3dView*> m_masterView;
caf::PdmField<QString> m_name;
}; };