mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-24 22:27:55 -05:00
Adds ensemble curve template file selection
Adds a file path selection field to the preferences to allow users to specify a template file for ensemble curve properties. Changes the ensemble curve creation logic to utilize this template, logging a warning and falling back to defaults if loading fails.
This commit is contained in:
1 parent
d48aef7881
commit
d805b28149
5 files changed
+32
-13
No files matched your search
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "cafPdmUiCheckBoxEditor.h"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
#include "cafPdmUiFilePathEditor.h"
|
||||
#include "cafPdmUiListEditor.h"
|
||||
#include "cafPdmUiPushButtonEditor.h"
|
||||
|
||||
@@ -202,7 +203,11 @@ RiaPreferencesSummary::RiaPreferencesSummary()
|
||||
RiaColorTables::historyCurveContrastColor(),
|
||||
"History Curve Color" );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_ensembleCurveSetTemplateFilePath, "ensembleCurveSetTemplateFilePath", "Curve Set Template" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_ensembleCurveTemplateFilePath,
|
||||
"ensembleCurveTemplateFilePath",
|
||||
"Ensemble Curve Template",
|
||||
"",
|
||||
"Select a template for ensemble curve properties." );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -302,7 +307,7 @@ void RiaPreferencesSummary::appendItemsToPlottingGroup( caf::PdmUiOrdering& uiOr
|
||||
}
|
||||
|
||||
uiOrdering.add( &m_crossPlotAddressCombinations );
|
||||
uiOrdering.add( &m_ensembleCurveSetTemplateFilePath );
|
||||
uiOrdering.add( &m_ensembleCurveTemplateFilePath );
|
||||
|
||||
auto historyCurveGroup = uiOrdering.addNewGroup( "History Vectors" );
|
||||
|
||||
@@ -476,6 +481,13 @@ void RiaPreferencesSummary::defineEditorAttribute( const caf::PdmFieldHandle* fi
|
||||
attrib->heightHint = 30;
|
||||
}
|
||||
}
|
||||
else if ( field == &m_ensembleCurveTemplateFilePath )
|
||||
{
|
||||
if ( auto myAttr = dynamic_cast<caf::PdmUiFilePathEditorAttribute*>( attribute ) )
|
||||
{
|
||||
myAttr->m_fileSelectionFilter = "Templates (*.erpt);;All files (*.*)";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -571,9 +583,9 @@ cvf::Color3f RiaPreferencesSummary::historyCurveContrastColor() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaPreferencesSummary::ensembleCurveSetTemplateFilePath() const
|
||||
QString RiaPreferencesSummary::ensembleCurveTemplateFilePath() const
|
||||
{
|
||||
return m_ensembleCurveSetTemplateFilePath().path().trimmed();
|
||||
return m_ensembleCurveTemplateFilePath().path().trimmed();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
|
||||
cvf::Color3f historyCurveContrastColor() const;
|
||||
|
||||
QString ensembleCurveSetTemplateFilePath() const;
|
||||
QString ensembleCurveTemplateFilePath() const;
|
||||
|
||||
void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
@@ -142,7 +142,7 @@ private:
|
||||
caf::PdmField<bool> m_curveColorByPhase;
|
||||
caf::PdmField<bool> m_appendHistoryVectors;
|
||||
|
||||
caf::PdmField<caf::FilePath> m_ensembleCurveSetTemplateFilePath;
|
||||
caf::PdmField<caf::FilePath> m_ensembleCurveTemplateFilePath;
|
||||
|
||||
caf::PdmField<bool> m_showSummaryTimeAsLongString;
|
||||
caf::PdmField<bool> m_useMultipleThreadsWhenLoadingSummaryCases;
|
||||
|
||||
@@ -267,13 +267,12 @@ QStringList getMatchingFiles( const QString& basePath, const QString& regexPatte
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimEnsembleCurveSet* createEnsembleCurveSet( const QString& templateFilePath )
|
||||
std::expected<RimEnsembleCurveSet*, QString> createEnsembleCurveSet( const QString& templateFilePath )
|
||||
{
|
||||
QFile importFile( templateFilePath );
|
||||
if ( !importFile.open( QIODevice::ReadOnly | QIODevice::Text ) )
|
||||
{
|
||||
RiaLogging::error( QString( "Create Plot from Template : Could not open the file: %1" ).arg( templateFilePath ) );
|
||||
return nullptr;
|
||||
return std::unexpected( QString( "Create Plot from Template : Could not open the file: %1" ).arg( templateFilePath ) );
|
||||
}
|
||||
|
||||
QTextStream stream( &importFile );
|
||||
@@ -305,7 +304,7 @@ RimEnsembleCurveSet* createEnsembleCurveSet( const QString& templateFilePath )
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
return std::unexpected( QString( "Create Plot from Template : No ensemble curve sets found in : %1" ).arg( templateFilePath ) );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
#include <QStringList>
|
||||
|
||||
#include <expected>
|
||||
|
||||
class RimSummaryCase;
|
||||
class RimEnsembleCurveSet;
|
||||
|
||||
@@ -45,6 +47,6 @@ QStringList createPathsBySearchingFileSystem_obsolete( const QString& pathPatter
|
||||
QStringList createPathsBySearchingFileSystem( const QString& pathPattern, const QString& extension, const QString& placeholderString );
|
||||
QStringList getMatchingFiles( const QString& basePath, const QString& regexPattern );
|
||||
|
||||
RimEnsembleCurveSet* createEnsembleCurveSet( const QString& templateFilePath );
|
||||
std::expected<RimEnsembleCurveSet*, QString> createEnsembleCurveSet( const QString& templateFilePath );
|
||||
|
||||
} // namespace RiaEnsembleImportTools
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "RiaColorTools.h"
|
||||
#include "RiaGuiApplication.h"
|
||||
#include "RiaHashTools.h"
|
||||
#include "RiaLogging.h"
|
||||
#include "RiaPreferences.h"
|
||||
#include "RiaPreferencesSummary.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
@@ -301,12 +302,17 @@ RimEnsembleCurveSet::~RimEnsembleCurveSet()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimEnsembleCurveSet* RimEnsembleCurveSet::createObject()
|
||||
{
|
||||
auto filePath = RiaPreferencesSummary::current()->ensembleCurveSetTemplateFilePath();
|
||||
auto filePath = RiaPreferencesSummary::current()->ensembleCurveTemplateFilePath();
|
||||
if ( !filePath.isEmpty() )
|
||||
{
|
||||
if ( auto obj = RiaEnsembleImportTools::createEnsembleCurveSet( filePath ) )
|
||||
{
|
||||
return obj;
|
||||
return obj.value();
|
||||
}
|
||||
else
|
||||
{
|
||||
auto txt = obj.error() + " Default ensemble curve properties are used";
|
||||
RiaLogging::warning( txt );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user