Update text for curve names and plot titles when source data changes

* Update titles after dropping vectors into plot
* Do not replace _Name variables
* Make sure signals are wired when opening a project file
* Add auto name field and set default on
* Remove includes from header files
This commit is contained in:
Magne Sjaastad 2022-12-09 08:46:36 +01:00 committed by GitHub
parent c83210701c
commit 5ec32f8613
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 109 additions and 22 deletions

View File

@ -674,6 +674,7 @@ bool RiaApplication::loadProject( const QString& projectFileName,
sumMainCollection->updateAutoShortName();
for ( auto sumCaseGroup : sumMainCollection->summaryCaseCollections() )
{
sumCaseGroup->ensureNameIsUpdated();
sumCaseGroup->loadDataAndUpdate();
}

View File

@ -29,6 +29,8 @@
#include "RimEnsembleCurveSet.h"
#include "RimSummaryAddressCollection.h"
#include "RimSummaryAddressModifier.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryMultiPlot.h"
#include "RimSummaryMultiPlotCollection.h"
@ -112,6 +114,8 @@ void RicAppendSummaryPlotsForObjectsFeature::appendPlots( RimSummaryMultiPlot* s
}
info.incrementProgress();
}
summaryMultiPlot->updatePlotTitles();
}
//--------------------------------------------------------------------------------------------------

View File

@ -32,6 +32,8 @@
#include "RimEnsembleCurveSetCollection.h"
#include "RimProject.h"
#include "RimSummaryAddress.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryMultiPlot.h"
#include "RimSummaryPlot.h"

View File

@ -36,6 +36,7 @@
#include "RimMainPlotCollection.h"
#include "RimSummaryAddressCollection.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryMultiPlot.h"
#include "RimSummaryMultiPlotCollection.h"

View File

@ -77,6 +77,7 @@ void RicCloseSummaryCaseFeature::deleteSummaryCases( std::vector<RimSummaryCase*
for ( auto plot : plotsToUpdate )
{
plot->updateConnectedEditors();
plot->updatePlots();
}
summaryCaseMainCollection->updateAllRequiredEditors();

View File

@ -139,6 +139,7 @@ void RicReplaceSummaryCaseFeature::onActionTriggered( bool isChecked )
summaryPlot->loadDataAndUpdate();
}
multiPlot->updatePlotTitles();
}
RimSummaryCrossPlotCollection* summaryCrossPlotColl = RiaSummaryTools::summaryCrossPlotCollection();

View File

@ -32,6 +32,7 @@
#include "RimMainPlotCollection.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryCurveAppearanceCalculator.h"

View File

@ -68,7 +68,7 @@ RimSummaryCurve* RicPasteSummaryCurveFeature::copyCurveAndAddToPlot( RimSummaryC
summaryPlot->firstAncestorOrThisOfType( summaryMultiPlot );
if ( summaryMultiPlot )
{
summaryMultiPlot->updatePlotWindowTitle();
summaryMultiPlot->updatePlotTitles();
}
else
{

View File

@ -20,7 +20,6 @@
#include "RimPlot.h"
#include "RimPlotDataFilterItem.h"
#include "RimSummaryCaseCollection.h"
#include "RimTimeStepFilter.h"
#include "RigEnsembleParameter.h"
@ -38,6 +37,7 @@ class RimPlotAxisPropertiesInterface;
class RimPlotAxisProperties;
class RimPlotDataFilterCollection;
class RiaSummaryCurveDefinition;
class RimSummaryCase;
//==================================================================================================
///

View File

@ -24,6 +24,7 @@
#include "RimPlotDataFilterCollection.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
CAF_PDM_SOURCE_INIT( RimAnalysisPlotCollection, "AnalysisPlotCollection" );

View File

@ -17,9 +17,11 @@
/////////////////////////////////////////////////////////////////////////////////
#include "RimWellRftEnsembleCurveSet.h"
#include "RimEnsembleCurveSetColorManager.h"
#include "RimRegularLegendConfig.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimWellRftPlot.h"
#include "RiuQwtPlotWidget.h"

View File

@ -19,7 +19,6 @@
#pragma once
#include "RimEnsembleCurveSetColorManager.h"
#include "RimSummaryCaseCollection.h"
#include "RigEnsembleParameter.h"
@ -32,6 +31,7 @@
#include <QPointer>
class RiuCvfOverlayItemWidget;
class RimSummaryCaseCollection;
class RimWellRftEnsembleCurveSet : public caf::PdmObject
{

View File

@ -42,6 +42,7 @@
#include "RimPlotAxisAnnotation.h"
#include "RimPlotWindow.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimWellAllocationPlot.h"
#include "RimWellLogCurve.h"
#include "RimWellLogCurveCommonDataSource.h"

View File

@ -370,7 +370,7 @@ void RimMultiPlot::updateSubPlotNames()
//--------------------------------------------------------------------------------------------------
/// Empty default implementation
//--------------------------------------------------------------------------------------------------
void RimMultiPlot::updatePlotWindowTitle()
void RimMultiPlot::updatePlotTitles()
{
}
@ -559,7 +559,7 @@ QString RimMultiPlot::asciiDataForPlotExport() const
void RimMultiPlot::onPlotAdditionOrRemoval()
{
updateSubPlotNames();
updatePlotWindowTitle();
updatePlotTitles();
applyPlotWindowTitleToWidgets();
updateAllRequiredEditors();
updateLayout();
@ -683,7 +683,7 @@ void RimMultiPlot::fieldChangedByUi( const caf::PdmFieldHandle* changedField, co
}
else if ( changedField == &m_showPlotWindowTitle || changedField == &m_plotWindowTitle )
{
updatePlotWindowTitle();
updatePlotTitles();
applyPlotWindowTitleToWidgets();
}
else if ( changedField == &m_subTitleFontSize )
@ -805,7 +805,7 @@ void RimMultiPlot::onLoadDataAndUpdate()
m_showPlotLegends = false;
updateMdiWindowVisibility();
updatePlotWindowTitle();
updatePlotTitles();
applyPlotWindowTitleToWidgets();
updatePlots();
updateLayout();

View File

@ -77,7 +77,7 @@ public:
void deleteAllPlots() override;
void updatePlots();
virtual void updatePlotWindowTitle();
virtual void updatePlotTitles();
size_t plotCount() const override;
size_t plotIndex( const RimPlot* plot ) const;

View File

@ -28,6 +28,7 @@
#include "RimObjectiveFunctionTools.h"
#include "RimSummaryAddress.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RiuSummaryVectorSelectionDialog.h"

View File

@ -27,9 +27,6 @@
#include "RimEnsembleCurveSetColorManager.h"
#include "RimEnsembleCurveSetInterface.h"
#include "RimObjectiveFunction.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimTimeStepFilter.h"
#include "RigEnsembleParameter.h"

View File

@ -19,12 +19,15 @@
#include "RimEnsembleCurveSetColorManager.h"
#include "RiaColorTables.h"
#include "RimCustomObjectiveFunction.h"
#include "RimEnsembleCurveSet.h"
#include "RimEnsembleCurveSetCollection.h"
#include "RimObjectiveFunction.h"
#include "RimRegularLegendConfig.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "cvfScalarMapper.h"
//--------------------------------------------------------------------------------------------------

View File

@ -21,7 +21,6 @@
#include "RiaDefines.h"
#include "RimRegularLegendConfig.h"
#include "RimSummaryCaseCollection.h"
#include "RigEnsembleParameter.h"
@ -33,6 +32,9 @@ class RimEnsembleCurveSet;
class RimEnsembleCurveSetCollection;
class RimCustomObjectiveFunction;
class RimObjectiveFunction;
class RimSummaryCase;
class RifEclipseSummaryAddress;
class ObjectiveFunctionTimeConfig;
//--------------------------------------------------------------------------------------------------
///

View File

@ -25,6 +25,7 @@
#include "RigStatisticsMath.h"
#include "RimEnsembleCurveSet.h"
#include "RimSummaryCaseCollection.h"
#include <limits>
#include <set>

View File

@ -18,6 +18,7 @@
#include "RimSummaryCaseCollection.h"
#include "RiaEnsembleNameTools.h"
#include "RiaFieldHandleTools.h"
#include "RiaLogging.h"
#include "RiaStatisticsTools.h"
@ -115,6 +116,7 @@ RimSummaryCaseCollection::RimSummaryCaseCollection()
m_cases.uiCapability()->setUiTreeHidden( true );
CAF_PDM_InitScriptableField( &m_name, "SummaryCollectionName", QString( "Group" ), "Name" );
CAF_PDM_InitScriptableField( &m_autoName, "CreateAutoName", true, "Auto Name" );
CAF_PDM_InitScriptableFieldNoDefault( &m_nameAndItemCount, "NameCount", "Name" );
m_nameAndItemCount.registerGetMethod( this, &RimSummaryCaseCollection::nameAndItemCount );
@ -246,6 +248,28 @@ QString RimSummaryCaseCollection::name() const
return m_name;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCaseCollection::ensureNameIsUpdated()
{
if ( m_autoName )
{
QStringList fileNames;
for ( const auto& summaryCase : m_cases )
{
fileNames.push_back( summaryCase->summaryHeaderFilename() );
}
RiaEnsembleNameTools::EnsembleGroupingMode groupingMode =
RiaEnsembleNameTools::EnsembleGroupingMode::FMU_FOLDER_STRUCTURE;
QString ensembleName = RiaEnsembleNameTools::findSuitableEnsembleName( fileNames, groupingMode );
m_name = ensembleName;
caseNameChanged.send();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -1036,6 +1060,11 @@ void RimSummaryCaseCollection::initAfterRead()
}
updateIcon();
for ( const auto& summaryCase : m_cases )
{
summaryCase->nameChanged.connect( this, &RimSummaryCaseCollection::onCaseNameChanged );
}
}
//--------------------------------------------------------------------------------------------------
@ -1049,6 +1078,14 @@ void RimSummaryCaseCollection::fieldChangedByUi( const caf::PdmFieldHandle* chan
{
updateIcon();
}
if ( changedField == &m_autoName )
{
ensureNameIsUpdated();
}
if ( changedField == &m_name )
{
caseNameChanged.send();
}
}
//--------------------------------------------------------------------------------------------------
@ -1064,7 +1101,9 @@ void RimSummaryCaseCollection::onCaseNameChanged( const SignalEmitter* emitter )
//--------------------------------------------------------------------------------------------------
void RimSummaryCaseCollection::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
{
uiOrdering.add( &m_autoName );
uiOrdering.add( &m_name );
m_name.uiCapability()->setUiReadOnly( m_autoName() );
if ( m_isEnsemble() )
{
uiOrdering.add( &m_ensembleId );

View File

@ -67,6 +67,7 @@ public:
void setName( const QString& name );
QString name() const;
void ensureNameIsUpdated();
bool isEnsemble() const;
void setAsEnsemble( bool isEnsemble );
@ -145,6 +146,7 @@ protected:
private:
caf::PdmField<QString> m_name;
caf::PdmField<bool> m_autoName;
caf::PdmProxyValueField<QString> m_nameAndItemCount;
caf::PdmField<bool> m_isEnsemble;
caf::PdmChildField<RimSummaryAddressCollection*> m_dataVectorFolders;

View File

@ -424,6 +424,22 @@ void RimSummaryCaseMainCollection::loadAllSummaryCaseData()
RimSummaryCaseMainCollection::loadSummaryCaseData( sumCases );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCaseMainCollection::initAfterRead()
{
for ( auto sumCase : topLevelSummaryCases() )
{
sumCase->nameChanged.connect( this, &RimSummaryCaseMainCollection::onCaseNameChanged );
}
for ( auto caseCollection : summaryCaseCollections() )
{
caseCollection->caseNameChanged.connect( this, &RimSummaryCaseMainCollection::onCaseNameChanged );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -79,6 +79,8 @@ public:
void onProjectBeingSaved();
private:
void initAfterRead() override;
static void loadSummaryCaseData( std::vector<RimSummaryCase*> summaryCases );
static void loadFileSummaryCaseData( std::vector<RimFileSummaryCase*> fileSummaryCases );
static void reassignSummaryCurves( const RimGridSummaryCase* fromGridCase, RimFileSummaryCase* toFileCase );

View File

@ -526,7 +526,7 @@ void RimSummaryMultiPlot::defineEditorAttribute( const caf::PdmFieldHandle* fiel
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryMultiPlot::updatePlotWindowTitle()
void RimSummaryMultiPlot::updatePlotTitles()
{
if ( m_autoPlotTitle )
{
@ -727,7 +727,7 @@ void RimSummaryMultiPlot::initAfterRead()
void RimSummaryMultiPlot::onLoadDataAndUpdate()
{
RimMultiPlot::onLoadDataAndUpdate();
updatePlotWindowTitle();
updatePlotTitles();
analyzePlotsAndAdjustAppearanceSettings();
}
@ -1344,7 +1344,7 @@ std::pair<int, int> RimSummaryMultiPlot::gridLayoutInfoForSubPlot( RimSummaryPlo
//--------------------------------------------------------------------------------------------------
void RimSummaryMultiPlot::onSubPlotChanged( const caf::SignalEmitter* emitter )
{
updatePlotWindowTitle();
updatePlotTitles();
applyPlotWindowTitleToWidgets();
}

View File

@ -79,7 +79,7 @@ public:
void removePlotNoUpdate( RimPlot* plot ) override;
void updateAfterPlotRemove() override;
void updatePlotWindowTitle() override;
void updatePlotTitles() override;
std::vector<caf::PdmFieldHandle*> fieldsToShowInToolbar() override;

View File

@ -188,5 +188,7 @@ void RimSummaryMultiPlotCollection::updateSummaryNameHasChanged()
{
plot->updateCaseNameHasChanged();
}
multiPlot->updatePlotTitles();
}
}

View File

@ -51,6 +51,7 @@
#include "RimSummaryAddress.h"
#include "RimSummaryAddressCollection.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryCurveCollection.h"
#include "RimSummaryCurvesData.h"

View File

@ -30,6 +30,7 @@
#include "RimProject.h"
#include "RimSummaryAddressModifier.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryCrossPlot.h"
#include "RimSummaryCurve.h"
@ -517,7 +518,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi( const caf::PdmFieldHandle*
if ( summaryMultiPlot )
{
summaryMultiPlot->updatePlots();
summaryMultiPlot->updatePlotWindowTitle();
summaryMultiPlot->updatePlotTitles();
if ( isAutoZoomAllowed ) summaryMultiPlot->zoomAllYAxes();

View File

@ -29,6 +29,8 @@
#include "RimFileSurface.h"
#include "RimMainPlotCollection.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSurface.h"
#include "RimSurfaceCollection.h"

View File

@ -219,7 +219,7 @@ void RiaVariableMapper::replaceVariablesInValues()
{
for ( const auto& [otherVariableName, otherVariableValue] : m_newVariableToValueMap )
{
if ( otherVariableName != variableName )
if ( otherVariableName != variableName && !otherVariableName.contains( postfixName() ) )
{
variableValue.replace( otherVariableValue, otherVariableName );
}

View File

@ -36,6 +36,8 @@
#include "RimMainPlotCollection.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimWellLogCurve.h"
#include "RimWellLogFile.h"
#include "RimWellLogFileChannel.h"

View File

@ -25,6 +25,7 @@
#include "RiaTextStringTools.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryPlot.h"
#include "RimSummaryPlotCollection.h"

View File

@ -18,9 +18,6 @@
#pragma once
#include "RimSummaryCaseCollection.h"
#include "RimSummaryPlotCollection.h"
#include "cafPdmField.h"
#include "cafPdmObjectHandle.h"
#include "cafPdmObjectMethod.h"
@ -33,6 +30,7 @@
class RimSummaryCase;
class RimSummaryPlotCollection;
class RimSummaryCaseCollection;
//==================================================================================================
///

View File

@ -22,6 +22,8 @@
#include "RimEnsembleCurveSet.h"
#include "RimPlot.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryPlot.h"