mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6240 Improve the way dates are handled in Correlation Plots
This commit is contained in:
parent
bfd4719d10
commit
fde92ad931
@ -1,6 +1,7 @@
|
||||
#include "RimAbstractCorrelationPlot.h"
|
||||
|
||||
#include "RiaPreferences.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaSummaryCurveDefinition.h"
|
||||
|
||||
#include "RifSummaryReaderInterface.h"
|
||||
@ -184,11 +185,33 @@ QList<caf::PdmOptionItemInfo>
|
||||
if ( fieldNeedingOptions == &m_timeStep )
|
||||
{
|
||||
std::set<time_t> allTimeSteps = allAvailableTimeSteps();
|
||||
|
||||
std::map<QDate, std::vector<QTime>> timeStepsDateMap;
|
||||
for ( time_t timeStep : allTimeSteps )
|
||||
{
|
||||
QDateTime dateTime = QDateTime::fromTime_t( timeStep );
|
||||
QString timestepString = dateTime.toString( Qt::ISODate );
|
||||
options.push_back( caf::PdmOptionItemInfo( timestepString, dateTime ) );
|
||||
timeStepsDateMap[dateTime.date()].push_back( dateTime.time() );
|
||||
}
|
||||
|
||||
QString dateFormatString = RiaQDateTimeTools::dateFormatString( RiaPreferences::current()->dateFormat(),
|
||||
RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY );
|
||||
QString timeFormatString =
|
||||
RiaQDateTimeTools::timeFormatString( RiaPreferences::current()->timeFormat(),
|
||||
RiaQDateTimeTools::TimeFormatComponents::TIME_FORMAT_HOUR_MINUTE );
|
||||
|
||||
for ( auto dateTimePair : timeStepsDateMap )
|
||||
{
|
||||
QDate date = dateTimePair.first;
|
||||
bool multipleTimes = dateTimePair.second.size() > 1u;
|
||||
for ( auto time : dateTimePair.second )
|
||||
{
|
||||
QString timestepString = date.toString( dateFormatString );
|
||||
if ( multipleTimes )
|
||||
{
|
||||
timestepString += QString( " %1" ).arg( time.toString( timeFormatString ) );
|
||||
}
|
||||
options.push_back( caf::PdmOptionItemInfo( timestepString, QDateTime( date, time ) ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ( fieldNeedingOptions == &m_labelFontSize || fieldNeedingOptions == &m_axisTitleFontSize ||
|
||||
@ -403,6 +426,20 @@ QDateTime RimAbstractCorrelationPlot::timeStep() const
|
||||
return m_timeStep();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimAbstractCorrelationPlot::timeStepString() const
|
||||
{
|
||||
QString dateFormatString = RiaQDateTimeTools::dateFormatString( RiaPreferences::current()->dateFormat(),
|
||||
RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY );
|
||||
QString timeFormatString =
|
||||
RiaQDateTimeTools::timeFormatString( RiaPreferences::current()->timeFormat(),
|
||||
RiaQDateTimeTools::TimeFormatComponents::TIME_FORMAT_HOUR_MINUTE );
|
||||
|
||||
return timeStep().toString( dateFormatString ) + " " + timeStep().toString( timeFormatString );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
RiuQwtPlotWidget* viewer() override;
|
||||
void detachAllCurves() override;
|
||||
QDateTime timeStep() const;
|
||||
QString timeStepString() const;
|
||||
|
||||
int labelFontSize() const;
|
||||
int axisTitleFontSize() const;
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include "RiaColorTools.h"
|
||||
#include "RiaPreferences.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaStatisticsTools.h"
|
||||
#include "RiuPlotMainWindowTools.h"
|
||||
#include "RiuQwtLinearScaleEngine.h"
|
||||
@ -629,7 +630,9 @@ void RimCorrelationMatrixPlot::updatePlotTitle()
|
||||
{
|
||||
if ( m_useAutoPlotTitle )
|
||||
{
|
||||
m_description = QString( "%1 Matrix for Parameters vs Result Vectors" ).arg( m_correlationFactor().uiText() );
|
||||
m_description = QString( "%1 Matrix for Parameters vs Result Vectors at %2" )
|
||||
.arg( m_correlationFactor().uiText() )
|
||||
.arg( timeStepString() );
|
||||
}
|
||||
|
||||
if ( m_plotWidget )
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "RimCorrelationPlot.h"
|
||||
|
||||
#include "RiaPreferences.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaStatisticsTools.h"
|
||||
#include "RiuGroupedBarChartBuilder.h"
|
||||
#include "RiuPlotMainWindowTools.h"
|
||||
@ -329,7 +330,8 @@ void RimCorrelationPlot::updatePlotTitle()
|
||||
{
|
||||
if ( m_useAutoPlotTitle )
|
||||
{
|
||||
m_description = QString( "%1 for %2" ).arg( m_correlationFactor().uiText() ).arg( m_selectedVarsUiField );
|
||||
m_description =
|
||||
QString( "%1 for %2 at %3" ).arg( m_correlationFactor().uiText() ).arg( m_selectedVarsUiField ).arg( timeStepString() );
|
||||
}
|
||||
m_plotWidget->setPlotTitle( m_description );
|
||||
m_plotWidget->setPlotTitleEnabled( m_showPlotTitle && isMdiWindow() );
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "RimCorrelationReportPlot.h"
|
||||
|
||||
#include "RiaPreferences.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaSummaryCurveDefinition.h"
|
||||
|
||||
#include "RimCorrelationMatrixPlot.h"
|
||||
@ -219,12 +220,12 @@ QString RimCorrelationReportPlot::createPlotWindowTitle() const
|
||||
{
|
||||
if ( entry.ensemble() )
|
||||
{
|
||||
ensembles.push_back( entry.ensemble()->uiName() );
|
||||
ensembles.push_back( entry.ensemble()->name() );
|
||||
}
|
||||
}
|
||||
ensembles.removeDuplicates();
|
||||
QString ensembleNames = ensembles.join( ", " );
|
||||
QString timeStep = m_correlationMatrixPlot->timeStep().toString( Qt::ISODate );
|
||||
QString timeStep = m_correlationMatrixPlot->timeStepString();
|
||||
|
||||
return QString( "Correlation Report for %1 at %2" ).arg( ensembleNames ).arg( timeStep );
|
||||
}
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
#include "RiaColorTables.h"
|
||||
#include "RiaPreferences.h"
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaStatisticsTools.h"
|
||||
#include "RiuPlotMainWindowTools.h"
|
||||
#include "RiuSummaryQwtPlot.h"
|
||||
@ -300,7 +301,10 @@ void RimParameterResultCrossPlot::updatePlotTitle()
|
||||
{
|
||||
if ( m_useAutoPlotTitle )
|
||||
{
|
||||
m_description = QString( "Cross Plot %1 x %2" ).arg( m_ensembleParameter ).arg( m_selectedVarsUiField );
|
||||
m_description = QString( "Cross Plot %1 x %2 at %3" )
|
||||
.arg( m_ensembleParameter )
|
||||
.arg( m_selectedVarsUiField )
|
||||
.arg( timeStepString() );
|
||||
}
|
||||
m_plotWidget->setPlotTitle( m_description );
|
||||
m_plotWidget->setPlotTitleEnabled( m_showPlotTitle && isMdiWindow() );
|
||||
|
@ -65,7 +65,6 @@
|
||||
#include "qwt_scale_div.h"
|
||||
#include "qwt_scale_draw.h"
|
||||
#include "qwt_scale_engine.h"
|
||||
|
||||
#include <QEvent>
|
||||
#include <QMenu>
|
||||
#include <QMouseEvent>
|
||||
|
Loading…
Reference in New Issue
Block a user