#11859 Summary Plot: Missing legend curve name for Excel data

Remove virtual from RimPlotCurve::setTitle()
Set curve name for an Ascii curve to custom
Make the curve title obsolete
This commit is contained in:
Magne Sjaastad 2024-11-22 08:19:50 +01:00
parent 036ed8b70e
commit 6894149f8e
5 changed files with 46 additions and 30 deletions

View File

@ -180,11 +180,11 @@ std::vector<RimAsciiDataCurve*> RicPasteAsciiDataToSummaryPlotFeature::parseCurv
curve->setValues( parser.columnInfo( i )->values );
if ( curvePrefix.isEmpty() )
{
curve->setTitle( QString::fromStdString( col->columnName() ) );
curve->setCustomName( QString::fromStdString( col->columnName() ) );
}
else
{
curve->setTitle( QString( "%1: %2" ).arg( curvePrefix ).arg( QString::fromStdString( col->columnName() ) ) );
curve->setCustomName( QString( "%1: %2" ).arg( curvePrefix ).arg( QString::fromStdString( col->columnName() ) ) );
}
// Appearance
curve->setSymbol( parseOptions.curveSymbol );

View File

@ -789,6 +789,9 @@ void RimPlotCurve::updateLegendsInPlot()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPlotCurve::setTitle( const QString& title )
{
if ( m_plotCurve ) m_plotCurve->setTitle( title );

View File

@ -121,7 +121,7 @@ public:
virtual bool xValueRange( double* minimumValue, double* maximumValue ) const;
virtual bool yValueRange( double* minimumValue, double* maximumValue ) const;
virtual void setTitle( const QString& title );
void setTitle( const QString& title );
int dataSize() const;
std::pair<double, double> sample( int index ) const;

View File

@ -19,6 +19,7 @@
#include "RimAsciiDataCurve.h"
#include "RiaDefines.h"
#include "RimEclipseResultCase.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
@ -48,7 +49,7 @@ RimAsciiDataCurve::RimAsciiDataCurve()
CAF_PDM_InitFieldNoDefault( &m_values, "Values", "Values" );
m_values.uiCapability()->setUiEditorTypeName( caf::PdmUiListEditor::uiEditorTypeName() );
CAF_PDM_InitFieldNoDefault( &m_title, "Title", "Title" );
CAF_PDM_InitFieldNoDefault( &m_title_OBSOLETE, "Title", "Title" );
setSymbolSkipDistance( 10.0f );
setLineThickness( 2 );
@ -103,14 +104,6 @@ RiuPlotAxis RimAsciiDataCurve::yAxis() const
return RiuPlotAxis( m_plotAxis() );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimAsciiDataCurve::createCurveAutoName()
{
return m_title();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -192,6 +185,23 @@ void RimAsciiDataCurve::defineUiOrdering( QString uiConfigName, caf::PdmUiOrderi
uiOrdering.skipRemainingFields( true );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimAsciiDataCurve::initAfterRead()
{
if ( RimProject::current()->isProjectFileVersionEqualOrOlderThan( "2024.09.2" ) &&
( m_namingMethod() == RiaDefines::ObjectNamingMethod::AUTO ) )
{
setCustomName( m_title_OBSOLETE );
}
else
{
// Use default curve name defined in base class. CUSTOM is the only valid naming method for this class, see calculateValueOptions()
setCustomName( createCurveAutoName() );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -216,14 +226,6 @@ void RimAsciiDataCurve::setValues( const std::vector<double>& values )
m_values = values;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimAsciiDataCurve::setTitle( const QString& title )
{
m_title = title;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -256,3 +258,17 @@ void RimAsciiDataCurve::fieldChangedByUi( const caf::PdmFieldHandle* changedFiel
plot->updateAxes();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QList<caf::PdmOptionItemInfo> RimAsciiDataCurve::calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions )
{
QList<caf::PdmOptionItemInfo> options;
if ( fieldNeedingOptions == &m_namingMethod )
{
options.push_back( caf::PdmOptionItemInfo( caf::AppEnum<RiaDefines::ObjectNamingMethod>::uiText( RiaDefines::ObjectNamingMethod::CUSTOM ),
RiaDefines::ObjectNamingMethod::CUSTOM ) );
}
return options;
}

View File

@ -53,20 +53,17 @@ public:
void setTimeSteps( const std::vector<QDateTime>& timeSteps );
void setValues( const std::vector<double>& values );
void setTitle( const QString& title ) override;
protected:
// RimPlotCurve overrides
QString createCurveAutoName() override;
void updateZoomInParentPlot() override;
void onLoadDataAndUpdate( bool updateParentPlot ) override;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
private:
void updateZoomInParentPlot() override;
void onLoadDataAndUpdate( bool updateParentPlot ) override;
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
void initAfterRead() override;
bool curveData( std::vector<QDateTime>* timeSteps, std::vector<double>* values ) const;
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
private:
// Fields
@ -74,5 +71,5 @@ private:
caf::PdmField<std::vector<QDateTime>> m_timeSteps;
caf::PdmField<std::vector<double>> m_values;
caf::PdmField<QString> m_title;
caf::PdmField<QString> m_title_OBSOLETE;
};