Plot Template updates (#9002)

* Ensemble plot templates now have .erpt extension and new icon
* Default plot templates are given a checkmark overlay on the icon
* Context menu has been cleaned up a bit
* Old default template is really just the last used template. Rename it.
* Add max. recursive depth setting in preferences for plot template searches
* Only create plots based on correct template type when importing ensembles or single cases
* Support creating new plot from template explorer
* Update last used template when creating a new plot from a template
This commit is contained in:
jonjenssen
2022-06-01 10:45:44 +02:00
committed by GitHub
parent 92afb11a76
commit 9f4d242a5d
24 changed files with 532 additions and 71 deletions

View File

@@ -20,6 +20,7 @@
#include "RiaFieldHandleTools.h"
#include "RiaLogging.h"
#include "RiaPreferencesSummary.h"
#include "cafPdmField.h"
#include "cafPdmUiFilePathEditor.h"
@@ -55,6 +56,9 @@ void RimPlotTemplateFileItem::setFilePath( const QString& filePath )
this->uiCapability()->setUiName( fi.baseName() );
m_absoluteFileName = filePath;
if ( isEnsembleTemplate() )
this->uiCapability()->setUiIcon( caf::IconProvider( ":/SummaryEnsembleTemplate16x16.png" ) );
}
//--------------------------------------------------------------------------------------------------
@@ -64,3 +68,39 @@ QString RimPlotTemplateFileItem::absoluteFilePath() const
{
return m_absoluteFileName();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPlotTemplateFileItem::isEnsembleTemplate() const
{
return m_absoluteFileName().toLower().endsWith( ".erpt" );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPlotTemplateFileItem::updateIconState()
{
caf::IconProvider iconProvider = this->uiIconProvider();
if ( !iconProvider.valid() ) return;
if ( isDefaultTemplate() )
{
iconProvider.setOverlayResourceString( ":/CheckOverlay16x16.png" );
}
else
{
iconProvider.setOverlayResourceString( "" );
}
this->setUiIcon( iconProvider );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimPlotTemplateFileItem::isDefaultTemplate() const
{
return RiaPreferencesSummary::current()->isDefaultSummaryPlotTemplate( absoluteFilePath() );
}