Improve RimNameConfig API

This commit is contained in:
Gaute Lindkvist 2019-11-25 12:38:00 +01:00
parent d770dda163
commit cf7608e6bf
20 changed files with 110 additions and 49 deletions

View File

@ -91,7 +91,7 @@ void RicUnLinkViewFeature::onActionTriggered( bool isChecked )
delete viewLinker;
}
activeView->updateHolder();
activeView->updateAutoName();
}
RiaApplication::instance()->project()->viewLinkerCollection.uiCapability()->updateConnectedEditors();

View File

@ -1033,13 +1033,11 @@ CAF_PDM_SOURCE_INIT( RimGridCrossPlotNameConfig, "RimGridCrossPlotNameConfig" );
///
//--------------------------------------------------------------------------------------------------
RimGridCrossPlotNameConfig::RimGridCrossPlotNameConfig()
: RimNameConfig()
: RimNameConfig( "Cross Plot" )
{
CAF_PDM_InitObject( "Cross Plot Name Generator", "", "", "" );
CAF_PDM_InitField( &addDataSetNames, "AddDataSetNames", true, "Add Data Set Names", "", "", "" );
setCustomName( "Cross Plot" );
}
//--------------------------------------------------------------------------------------------------
@ -1050,3 +1048,11 @@ void RimGridCrossPlotNameConfig::defineUiOrdering( QString uiConfigName, caf::Pd
RimNameConfig::defineUiOrdering( uiConfigName, uiOrdering );
uiOrdering.add( &addDataSetNames );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGridCrossPlotNameConfig::doEnableAllAutoNameTags( bool enable )
{
addDataSetNames = enable;
}

View File

@ -45,7 +45,10 @@ public:
caf::PdmField<bool> addDataSetNames;
protected:
virtual void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
private:
void doEnableAllAutoNameTags( bool enable ) override;
};
class RimGridCrossPlot : public RimPlot, public RimNameConfigHolderInterface

View File

@ -1380,7 +1380,7 @@ CAF_PDM_SOURCE_INIT( RimGridCrossPlotDataSetNameConfig, "RimGridCrossPlotCurveSe
///
//--------------------------------------------------------------------------------------------------
RimGridCrossPlotDataSetNameConfig::RimGridCrossPlotDataSetNameConfig()
: RimNameConfig()
: RimNameConfig( "" )
{
CAF_PDM_InitObject( "Cross Plot Data Set NameGenerator", "", "", "" );
@ -1388,8 +1388,6 @@ RimGridCrossPlotDataSetNameConfig::RimGridCrossPlotDataSetNameConfig()
CAF_PDM_InitField( &addAxisVariables, "AddAxisVariables", true, "Add Axis Variables", "", "", "" );
CAF_PDM_InitField( &addTimestep, "AddTimeStep", true, "Add Time Step", "", "", "" );
CAF_PDM_InitField( &addGrouping, "AddGrouping", true, "Add Data Group", "", "", "" );
setCustomName( "" );
}
//--------------------------------------------------------------------------------------------------
@ -1402,3 +1400,14 @@ void RimGridCrossPlotDataSetNameConfig::defineUiOrdering( QString uiConfigName,
uiOrdering.add( &addTimestep );
uiOrdering.add( &addGrouping );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGridCrossPlotDataSetNameConfig::doEnableAllAutoNameTags( bool enable )
{
addCaseName = enable;
addAxisVariables = enable;
addTimestep = enable;
addGrouping = enable;
}

View File

@ -67,6 +67,9 @@ public:
protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
private:
void doEnableAllAutoNameTags( bool enable ) override;
};
//==================================================================================================

View File

@ -26,12 +26,12 @@
///
//==================================================================================================
CAF_PDM_SOURCE_INIT( RimNameConfig, "RimCurveNameConfig" );
CAF_PDM_ABSTRACT_SOURCE_INIT( RimNameConfig, "RimCurveNameConfig" );
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimNameConfig::RimNameConfig()
RimNameConfig::RimNameConfig( const QString& customName )
{
CAF_PDM_InitObject( "Curve Name Generator", "", "", "" );
@ -42,6 +42,8 @@ RimNameConfig::RimNameConfig()
m_autoName.registerGetMethod( this, &RimNameConfig::autoName );
m_autoName.xmlCapability()->disableIO();
m_autoName.uiCapability()->setUiReadOnly( true );
m_customName = customName;
}
//--------------------------------------------------------------------------------------------------
@ -118,6 +120,14 @@ void RimNameConfig::setCustomName( const QString& name )
m_customName = name;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimNameConfig::enableAllAutoNameTags( bool enable )
{
doEnableAllAutoNameTags( enable );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -128,7 +138,7 @@ void RimNameConfig::updateAllSettings()
RimNameConfigHolderInterface* holder;
this->firstAncestorOrThisOfTypeAsserted( holder );
holder->updateHolder();
holder->updateAutoName();
caf::PdmObject* pdmObject = dynamic_cast<caf::PdmObject*>( holder );
if ( pdmObject )
{
@ -144,6 +154,6 @@ void RimNameConfig::initAfterRead()
// Now we just switch them all individually.
if ( !m_isUsingAutoName_OBSOLETE() )
{
enableAllAutoNameTags( false );
doEnableAllAutoNameTags( false );
}
}

View File

@ -30,7 +30,7 @@ class RimNameConfigHolderInterface
{
public:
virtual QString createAutoName() const = 0;
void updateHolder()
void updateAutoName()
{
performAutoNameUpdate();
}
@ -48,16 +48,16 @@ class RimNameConfig : public caf::PdmObject
CAF_PDM_HEADER_INIT;
public:
RimNameConfig();
RimNameConfig( const QString& customName );
~RimNameConfig() override;
QString customName() const;
void setCustomName( const QString& name );
virtual void enableAllAutoNameTags( bool enable ) {}
QString customName() const;
void setCustomName( const QString& name );
caf::PdmFieldHandle* nameField();
QString name() const;
void uiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering );
void enableAllAutoNameTags( bool enable );
protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
@ -68,7 +68,10 @@ protected:
virtual void updateAllSettings();
void initAfterRead() override;
protected:
private:
virtual void doEnableAllAutoNameTags( bool enable ) = 0;
private:
caf::PdmField<bool> m_isUsingAutoName_OBSOLETE;
caf::PdmField<QString> m_customName;
caf::PdmProxyValueField<QString> m_autoName;

View File

@ -463,7 +463,7 @@ void RimPlotCurve::updatePlotTitle()
this->firstAncestorOrThisOfType( nameConfigHolder );
if ( nameConfigHolder )
{
nameConfigHolder->updateHolder();
nameConfigHolder->updateAutoName();
}
}

View File

@ -98,7 +98,7 @@ RimViewController::~RimViewController()
RimGridView* managedView = m_managedView;
m_managedView = nullptr;
if ( managedView ) managedView->updateHolder();
if ( managedView ) managedView->updateAutoName();
}
//--------------------------------------------------------------------------------------------------
@ -482,7 +482,7 @@ void RimViewController::setManagedView( RimGridView* view )
if ( m_managedView )
{
m_managedView->updateHolder();
m_managedView->updateAutoName();
}
}

View File

@ -88,7 +88,7 @@ RimViewLinker::~RimViewLinker()
m_viewControllers.deleteAllChildObjects();
RimGridView* masterView = m_masterView;
m_masterView = nullptr;
if ( masterView ) masterView->updateHolder();
if ( masterView ) masterView->updateAutoName();
}
//--------------------------------------------------------------------------------------------------
@ -415,7 +415,7 @@ void RimViewLinker::updateUiNameAndIcon()
caf::QIconProvider iconProvider;
RimViewLinker::findNameAndIconFromView( &m_name.v(), &iconProvider, m_masterView );
if ( m_masterView ) m_masterView->updateHolder();
if ( m_masterView ) m_masterView->updateAutoName();
setUiIcon( iconProvider );
}

View File

@ -29,7 +29,7 @@ CAF_PDM_SOURCE_INIT( RimViewNameConfig, "RimViewNameConfig" );
///
//--------------------------------------------------------------------------------------------------
RimViewNameConfig::RimViewNameConfig()
: RimNameConfig()
: RimNameConfig( "" )
, m_hideCaseNameField( false )
, m_hideAggregationTypeField( false )
, m_hidePropertyField( false )
@ -41,8 +41,6 @@ RimViewNameConfig::RimViewNameConfig()
CAF_PDM_InitField( &m_addAggregationType, "AddAggregationType", true, "Add Aggregation Type", "", "", "" );
CAF_PDM_InitField( &m_addProperty, "AddProperty", true, "Add Property Type", "", "", "" );
CAF_PDM_InitField( &m_addSampleSpacing, "AddSampleSpacing", false, "Add Sample Spacing", "", "", "" );
m_customName = "";
}
//--------------------------------------------------------------------------------------------------
@ -112,7 +110,7 @@ bool RimViewNameConfig::addSampleSpacing() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewNameConfig::enableAllAutoNameTags( bool enable )
void RimViewNameConfig::doEnableAllAutoNameTags( bool enable )
{
m_addCaseName = enable;
m_addAggregationType = enable;

View File

@ -40,8 +40,6 @@ public:
void setAddSampleSpacing( bool add );
bool addSampleSpacing() const;
void enableAllAutoNameTags( bool enable ) override;
void hideCaseNameField( bool hide );
void hideAggregationTypeField( bool hide );
void hidePropertyField( bool hide );
@ -50,6 +48,9 @@ public:
protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
private:
void doEnableAllAutoNameTags( bool enable ) override;
private:
caf::PdmField<bool> m_addCaseName;
caf::PdmField<bool> m_addAggregationType;

View File

@ -29,7 +29,7 @@ CAF_PDM_SOURCE_INIT( RimWellLogExtractionCurveNameConfig, "RimWellLogExtractionC
///
//--------------------------------------------------------------------------------------------------
RimWellLogExtractionCurveNameConfig::RimWellLogExtractionCurveNameConfig()
: RimNameConfig()
: RimNameConfig( "Log Extraction" )
{
CAF_PDM_InitObject( "Well Log Extraction Curve Name Generator", "", "", "" );
@ -38,8 +38,6 @@ RimWellLogExtractionCurveNameConfig::RimWellLogExtractionCurveNameConfig()
CAF_PDM_InitField( &m_addWellName, "AddWellName", true, "Add Well Name", "", "", "" );
CAF_PDM_InitField( &m_addTimestep, "AddTimeStep", true, "Add Time Step", "", "", "" );
CAF_PDM_InitField( &m_addDate, "AddDate", true, "Add Date", "", "", "" );
m_customName = "Log Extraction";
}
//--------------------------------------------------------------------------------------------------
@ -85,7 +83,7 @@ bool RimWellLogExtractionCurveNameConfig::addDate() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogExtractionCurveNameConfig::enableAllAutoNameTags( bool enable )
void RimWellLogExtractionCurveNameConfig::doEnableAllAutoNameTags( bool enable )
{
m_addCaseName = enable;
m_addProperty = enable;

View File

@ -37,11 +37,12 @@ public:
bool addTimeStep() const;
bool addDate() const;
void enableAllAutoNameTags( bool enable ) override;
protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
private:
void doEnableAllAutoNameTags( bool enable ) override;
private:
caf::PdmField<bool> m_addCaseName;
caf::PdmField<bool> m_addProperty;

View File

@ -29,8 +29,12 @@ CAF_PDM_SOURCE_INIT( RimWellLogFileCurveNameConfig, "RimWellLogFileCurveNameConf
///
//--------------------------------------------------------------------------------------------------
RimWellLogFileCurveNameConfig::RimWellLogFileCurveNameConfig()
: RimNameConfig()
: RimNameConfig( "Las Curve" )
{
CAF_PDM_InitObject( "Well Log File Curve Name Generator", "", "", "" );
m_customName = "Las Curve";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogFileCurveNameConfig::doEnableAllAutoNameTags( bool enable ) {}

View File

@ -30,4 +30,7 @@ class RimWellLogFileCurveNameConfig : public RimNameConfig
public:
RimWellLogFileCurveNameConfig();
private:
void doEnableAllAutoNameTags( bool enable ) override;
};

View File

@ -29,7 +29,7 @@ CAF_PDM_SOURCE_INIT( RimWellLogPlotNameConfig, "RimWellLogPlotNameConfig" );
///
//--------------------------------------------------------------------------------------------------
RimWellLogPlotNameConfig::RimWellLogPlotNameConfig()
: RimNameConfig()
: RimNameConfig( "Well Log Plot" )
{
CAF_PDM_InitObject( "Well Log Plot Name Generator", "", "", "" );
@ -38,8 +38,6 @@ RimWellLogPlotNameConfig::RimWellLogPlotNameConfig()
CAF_PDM_InitField( &m_addTimestep, "AddTimeStep", false, "Add Time Step", "", "", "" );
CAF_PDM_InitField( &m_addAirGap, "AddAirGap", false, "Add Air Gap", "", "", "" );
CAF_PDM_InitField( &m_addWaterDepth, "AddWaterDepth", false, "Add Water Depth", "", "", "" );
m_customName = "Well Log Plot";
}
//--------------------------------------------------------------------------------------------------
@ -85,13 +83,25 @@ bool RimWellLogPlotNameConfig::addWaterDepth() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogPlotNameConfig::enableAllAutoNameTags( bool enable )
void RimWellLogPlotNameConfig::setAutoNameTags( bool addCaseName,
bool addWellName,
bool addTimeStep,
bool addAirGap,
bool addWaterDepth )
{
m_addCaseName = enable;
m_addWellName = enable;
m_addTimestep = enable;
m_addAirGap = enable;
m_addWaterDepth = enable;
m_addCaseName = addCaseName;
m_addWellName = addWellName;
m_addTimestep = addTimeStep;
m_addAirGap = addAirGap;
m_addWaterDepth = addWaterDepth;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogPlotNameConfig::doEnableAllAutoNameTags( bool enable )
{
setAutoNameTags( enable, enable, enable, enable, enable );
}
//--------------------------------------------------------------------------------------------------
@ -100,6 +110,7 @@ void RimWellLogPlotNameConfig::enableAllAutoNameTags( bool enable )
void RimWellLogPlotNameConfig::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
RimNameConfig::defineUiOrdering( uiConfigName, uiOrdering );
uiOrdering.add( &m_addCaseName );
uiOrdering.add( &m_addWellName );
uiOrdering.add( &m_addTimestep );

View File

@ -36,11 +36,15 @@ public:
bool addTimeStep() const;
bool addAirGap() const;
bool addWaterDepth() const;
void enableAllAutoNameTags( bool enable ) override;
void setAutoNameTags( bool addCaseName, bool addWellName, bool addTimeStep, bool addAirGap, bool addWaterDepth );
protected:
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
private:
void doEnableAllAutoNameTags( bool enable ) override;
private:
caf::PdmField<bool> m_addCaseName;
caf::PdmField<bool> m_addWellName;

View File

@ -29,8 +29,12 @@ CAF_PDM_SOURCE_INIT( RimWellLogRftCurveNameConfig, "RimWellLogRftCurveNameConfig
///
//--------------------------------------------------------------------------------------------------
RimWellLogRftCurveNameConfig::RimWellLogRftCurveNameConfig()
: RimNameConfig()
: RimNameConfig( "Rft Curve" )
{
CAF_PDM_InitObject( "Well Log Rft Curve Name Generator", "", "", "" );
m_customName = "Rft Curve";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimWellLogRftCurveNameConfig::doEnableAllAutoNameTags( bool enable ) {}

View File

@ -30,4 +30,7 @@ class RimWellLogRftCurveNameConfig : public RimNameConfig
public:
RimWellLogRftCurveNameConfig();
private:
void doEnableAllAutoNameTags( bool enable ) override;
};