Merge pull request #4626 from OPM/feature-date-components

#4624 Allow customization of date/time components in labels
This commit is contained in:
Magne Sjaastad 2019-08-23 15:57:22 +02:00 committed by GitHub
commit 3d8a3df554
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 165 additions and 55 deletions

View File

@ -22,6 +22,7 @@
#include <QLocale> #include <QLocale>
#include <QString> #include <QString>
#include "cafAppEnum.h"
#include <cvfAssert.h> #include <cvfAssert.h>
#include <ctime> #include <ctime>
@ -47,6 +48,30 @@ const QString RiaQDateTimeTools::TIMESPAN_HALFYEAR_NAME = "Half Year";
const QString RiaQDateTimeTools::TIMESPAN_YEAR_NAME = "Year"; const QString RiaQDateTimeTools::TIMESPAN_YEAR_NAME = "Year";
const QString RiaQDateTimeTools::TIMESPAN_DECADE_NAME = "Decade"; const QString RiaQDateTimeTools::TIMESPAN_DECADE_NAME = "Decade";
namespace caf
{
template<>
void caf::AppEnum<RiaQDateTimeTools::DateFormatComponents>::setUp()
{
addItem(RiaQDateTimeTools::DATE_FORMAT_NONE, "NO_DATE", "No Date");
addItem(RiaQDateTimeTools::DATE_FORMAT_YEAR, "YEAR", "Year Only");
addItem(RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH, "YEAR_MONTH", "Year and Month");
addItem(RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY, "YEAR_MONTH_DAY", "Year, Month and Day");
setDefault(RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY);
}
template<>
void caf::AppEnum<RiaQDateTimeTools::TimeFormatComponents>::setUp()
{
addItem(RiaQDateTimeTools::TIME_FORMAT_NONE, "NO_TIME", "No Time of Day");
addItem(RiaQDateTimeTools::TIME_FORMAT_HOUR, "HOUR", "Hour Only");
addItem(RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE, "HOUR_MINUTE", "Hour and Minute");
addItem(RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE_SECOND, "HOUR_MINUTE_SECONDS", "Hour, Minutes and Seconds");
setDefault(RiaQDateTimeTools::TIME_FORMAT_NONE);
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -66,6 +66,7 @@ class RiaQDateTimeTools
public: public:
enum DateFormatComponents enum DateFormatComponents
{ {
DATE_FORMAT_UNSPECIFIED = -2,
DATE_FORMAT_NONE = -1, DATE_FORMAT_NONE = -1,
DATE_FORMAT_YEAR = 0, DATE_FORMAT_YEAR = 0,
DATE_FORMAT_YEAR_MONTH, DATE_FORMAT_YEAR_MONTH,
@ -75,6 +76,7 @@ public:
enum TimeFormatComponents enum TimeFormatComponents
{ {
TIME_FORMAT_UNSPECIFIED = -2,
TIME_FORMAT_NONE = -1, TIME_FORMAT_NONE = -1,
TIME_FORMAT_HOUR, TIME_FORMAT_HOUR,
TIME_FORMAT_HOUR_MINUTE, TIME_FORMAT_HOUR_MINUTE,

View File

@ -926,10 +926,13 @@ void RimSummaryPlot::updateTimeAxis()
if (m_timeAxisProperties->timeMode() == RimSummaryTimeAxisProperties::DATE) if (m_timeAxisProperties->timeMode() == RimSummaryTimeAxisProperties::DATE)
{ {
RiaQDateTimeTools::DateFormatComponents dateComponents = m_timeAxisProperties->dateComponents();
RiaQDateTimeTools::TimeFormatComponents timeComponents = m_timeAxisProperties->timeComponents();
QString dateFormat = m_timeAxisProperties->dateFormat(); QString dateFormat = m_timeAxisProperties->dateFormat();
QString timeFormat = m_timeAxisProperties->timeFormat(); QString timeFormat = m_timeAxisProperties->timeFormat();
m_qwtPlot->useDateBasedTimeAxis(dateFormat, timeFormat); m_qwtPlot->useDateBasedTimeAxis(dateFormat, timeFormat, dateComponents, timeComponents);
} }
else else
{ {

View File

@ -49,6 +49,7 @@ void caf::AppEnum<RimSummaryTimeAxisProperties::TimeUnitType>::setUp()
addItem(RimSummaryTimeAxisProperties::MINUTES, "MINUTES", "Minutes"); addItem(RimSummaryTimeAxisProperties::MINUTES, "MINUTES", "Minutes");
addItem(RimSummaryTimeAxisProperties::HOURS, "HOURS", "Hours"); addItem(RimSummaryTimeAxisProperties::HOURS, "HOURS", "Hours");
addItem(RimSummaryTimeAxisProperties::DAYS, "DAYS ", "Days"); addItem(RimSummaryTimeAxisProperties::DAYS, "DAYS ", "Days");
addItem(RimSummaryTimeAxisProperties::MONTHS, "MONTHS", "Months");
addItem(RimSummaryTimeAxisProperties::YEARS, "YEARS", "Years"); addItem(RimSummaryTimeAxisProperties::YEARS, "YEARS", "Years");
setDefault(RimSummaryTimeAxisProperties::YEARS); setDefault(RimSummaryTimeAxisProperties::YEARS);
@ -68,8 +69,8 @@ RimSummaryTimeAxisProperties::RimSummaryTimeAxisProperties()
CAF_PDM_InitField(&m_isActive, "Active", true, "Active", "", "", ""); CAF_PDM_InitField(&m_isActive, "Active", true, "Active", "", "", "");
m_isActive.uiCapability()->setUiHidden(true); m_isActive.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&showTitle, "ShowTitle", false, "Show Title", "", "", ""); CAF_PDM_InitField(&showTitle, "ShowTitle", false, "Show Title ", "", "", "");
CAF_PDM_InitField(&title, "Title", QString("Time"), "Title", "", "", ""); CAF_PDM_InitField(&title, "Title", QString("Time"), "Title ", "", "", "");
CAF_PDM_InitField(&m_isAutoZoom, "AutoZoom", true, "Set Range Automatically", "", "", ""); CAF_PDM_InitField(&m_isAutoZoom, "AutoZoom", true, "Set Range Automatically", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_timeMode, "TimeMode", "Time Mode", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_timeMode, "TimeMode", "Time Mode", "", "", "");
@ -100,11 +101,15 @@ RimSummaryTimeAxisProperties::RimSummaryTimeAxisProperties()
CAF_PDM_InitField(&m_valuesFontSize, "ValuesFontSize", 10, "Font Size", "", "", ""); CAF_PDM_InitField(&m_valuesFontSize, "ValuesFontSize", 10, "Font Size", "", "", "");
m_valuesFontSize = RiaFontCache::pointSizeFromFontSizeEnum(RiaApplication::instance()->preferences()->defaultPlotFontSize()); m_valuesFontSize = RiaFontCache::pointSizeFromFontSizeEnum(RiaApplication::instance()->preferences()->defaultPlotFontSize());
CAF_PDM_InitFieldNoDefault(&m_dateFormat, "DateFormat", "Date Format", "", "", ""); CAF_PDM_InitField(&m_automaticDateComponents, "AutoDate", true, "Automatic Date/Time Labels", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_dateComponents, "DateComponents", "Set Date Label", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_timeComponents, "TimeComponents", "Set Time Label", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_dateFormat, "DateFormat", "Date Label Format", "", "", "");
m_dateFormat.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName()); m_dateFormat.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName());
m_dateFormat = RiaApplication::instance()->preferences()->dateFormat(); m_dateFormat = RiaApplication::instance()->preferences()->dateFormat();
CAF_PDM_InitFieldNoDefault(&m_timeFormat, "TimeFormat", "Time Format", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_timeFormat, "TimeFormat", "Time Label Format", "", "", "");
m_timeFormat.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName()); m_timeFormat.uiCapability()->setUiEditorTypeName(caf::PdmUiComboBoxEditor::uiEditorTypeName());
m_timeFormat = RiaApplication::instance()->preferences()->timeFormat(); m_timeFormat = RiaApplication::instance()->preferences()->timeFormat();
@ -361,7 +366,7 @@ QList<caf::PdmOptionItemInfo> RimSummaryTimeAxisProperties::calculateValueOption
{ {
QDate exampleDate = QDate(2019, 8, 16); QDate exampleDate = QDate(2019, 8, 16);
QString fullDateFormat = QString fullDateFormat =
RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY); RiaQDateTimeTools::dateFormatString(dateFormat, dateComponents(RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY));
QString uiText = QString("%1 (%2)").arg(fullDateFormat).arg(exampleDate.toString(fullDateFormat)); QString uiText = QString("%1 (%2)").arg(fullDateFormat).arg(exampleDate.toString(fullDateFormat));
uiText.replace("AP", "AM/PM"); uiText.replace("AP", "AM/PM");
options.push_back(caf::PdmOptionItemInfo(uiText, QVariant::fromValue(dateFormat))); options.push_back(caf::PdmOptionItemInfo(uiText, QVariant::fromValue(dateFormat)));
@ -373,7 +378,7 @@ QList<caf::PdmOptionItemInfo> RimSummaryTimeAxisProperties::calculateValueOption
{ {
QTime exampleTime = QTime(15, 48, 22); QTime exampleTime = QTime(15, 48, 22);
QString timeFormatString = QString timeFormatString =
RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE_SECOND); RiaQDateTimeTools::timeFormatString(timeFormat, timeComponents(RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE_SECOND));
QString uiText = QString("%1 (%2)").arg(timeFormatString).arg(exampleTime.toString(timeFormatString)); QString uiText = QString("%1 (%2)").arg(timeFormatString).arg(exampleTime.toString(timeFormatString));
uiText.replace("AP", "AM/PM"); uiText.replace("AP", "AM/PM");
options.push_back(caf::PdmOptionItemInfo(uiText, QVariant::fromValue(timeFormat))); options.push_back(caf::PdmOptionItemInfo(uiText, QVariant::fromValue(timeFormat)));
@ -466,6 +471,22 @@ double RimSummaryTimeAxisProperties::fromDaysToDisplayUnitScale()
return scale; return scale;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaQDateTimeTools::DateFormatComponents RimSummaryTimeAxisProperties::dateComponents(RiaQDateTimeTools::DateFormatComponents fallback) const
{
return m_automaticDateComponents() ? fallback : m_dateComponents();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaQDateTimeTools::TimeFormatComponents RimSummaryTimeAxisProperties::timeComponents(RiaQDateTimeTools::TimeFormatComponents fallback) const
{
return m_automaticDateComponents() ? fallback : m_timeComponents();
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -489,9 +510,13 @@ void RimSummaryTimeAxisProperties::defineUiOrdering(QString uiConfigName, caf::P
{ {
caf::PdmUiGroup& titleGroup = *(uiOrdering.addNewGroup("Axis Title")); caf::PdmUiGroup& titleGroup = *(uiOrdering.addNewGroup("Axis Title"));
titleGroup.add(&showTitle); titleGroup.add(&showTitle);
titleGroup.add(&title); titleGroup.add(&title);
titleGroup.add(&m_titlePositionEnum); title.uiCapability()->setUiReadOnly(!showTitle());
titleGroup.add(&m_titleFontSize); if (showTitle())
{
titleGroup.add(&m_titlePositionEnum);
titleGroup.add(&m_titleFontSize);
}
caf::PdmUiGroup* timeGroup = uiOrdering.addNewGroup("Time Values"); caf::PdmUiGroup* timeGroup = uiOrdering.addNewGroup("Time Values");
timeGroup->add(&m_timeMode); timeGroup->add(&m_timeMode);
@ -501,8 +526,12 @@ void RimSummaryTimeAxisProperties::defineUiOrdering(QString uiConfigName, caf::P
timeGroup->add(&m_visibleTimeRangeMax, false); timeGroup->add(&m_visibleTimeRangeMax, false);
timeGroup->add(&m_visibleDateRangeMin, true); timeGroup->add(&m_visibleDateRangeMin, true);
timeGroup->add(&m_visibleTimeRangeMin, false); timeGroup->add(&m_visibleTimeRangeMin, false);
timeGroup->add(&m_dateFormat); timeGroup->add(&m_automaticDateComponents);
timeGroup->add(&m_timeFormat); if (!m_automaticDateComponents())
{
timeGroup->add(&m_dateComponents);
timeGroup->add(&m_timeComponents);
}
} }
else else
{ {
@ -511,6 +540,19 @@ void RimSummaryTimeAxisProperties::defineUiOrdering(QString uiConfigName, caf::P
timeGroup->add(&m_visibleTimeSinceStartRangeMin); timeGroup->add(&m_visibleTimeSinceStartRangeMin);
} }
timeGroup->add(&m_valuesFontSize); timeGroup->add(&m_valuesFontSize);
if (m_timeMode() == DATE)
{
caf::PdmUiGroup* advancedGroup = timeGroup->addNewGroup("Date/Time Label Format");
advancedGroup->setCollapsedByDefault(true);
if (m_automaticDateComponents() || m_dateComponents() != RiaQDateTimeTools::DATE_FORMAT_NONE)
{
advancedGroup->add(&m_dateFormat);
}
if (m_automaticDateComponents() || m_timeComponents() != RiaQDateTimeTools::TIME_FORMAT_NONE)
{
advancedGroup->add(&m_timeFormat);
}
}
uiOrdering.skipRemainingFields(true); uiOrdering.skipRemainingFields(true);
} }

View File

@ -51,9 +51,13 @@ public:
MINUTES, MINUTES,
HOURS, HOURS,
DAYS, DAYS,
MONTHS,
YEARS YEARS
}; };
typedef caf::AppEnum<RiaQDateTimeTools::DateFormatComponents> DateFormatEnum;
typedef caf::AppEnum<RiaQDateTimeTools::TimeFormatComponents> TimeFormatEnum;
public: public:
RimSummaryTimeAxisProperties(); RimSummaryTimeAxisProperties();
@ -71,6 +75,9 @@ public:
double fromTimeTToDisplayUnitScale(); double fromTimeTToDisplayUnitScale();
double fromDaysToDisplayUnitScale(); double fromDaysToDisplayUnitScale();
RiaQDateTimeTools::DateFormatComponents dateComponents(RiaQDateTimeTools::DateFormatComponents fallback = RiaQDateTimeTools::DATE_FORMAT_UNSPECIFIED) const;
RiaQDateTimeTools::TimeFormatComponents timeComponents(RiaQDateTimeTools::TimeFormatComponents fallback = RiaQDateTimeTools::TIME_FORMAT_UNSPECIFIED) const;
const QString& dateFormat() const; const QString& dateFormat() const;
const QString& timeFormat() const; const QString& timeFormat() const;
@ -125,6 +132,9 @@ private:
caf::PdmField<int> m_titleFontSize; caf::PdmField<int> m_titleFontSize;
caf::PdmField<caf::AppEnum<AxisTitlePositionType>> m_titlePositionEnum; caf::PdmField<caf::AppEnum<AxisTitlePositionType>> m_titlePositionEnum;
caf::PdmField<int> m_valuesFontSize; caf::PdmField<int> m_valuesFontSize;
caf::PdmField<bool> m_automaticDateComponents;
caf::PdmField<DateFormatEnum> m_dateComponents;
caf::PdmField<TimeFormatEnum> m_timeComponents;
caf::PdmField<QString> m_dateFormat; caf::PdmField<QString> m_dateFormat;
caf::PdmField<QString> m_timeFormat; caf::PdmField<QString> m_timeFormat;

View File

@ -114,7 +114,9 @@ void RiuQwtPlotTools::setDefaultAxes(QwtPlot* plot)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RiuQwtPlotTools::enableDateBasedBottomXAxis(QwtPlot* plot, void RiuQwtPlotTools::enableDateBasedBottomXAxis(QwtPlot* plot,
const QString& dateFormat, const QString& dateFormat,
const QString& timeFormat) const QString& timeFormat,
RiaQDateTimeTools::DateFormatComponents dateComponents,
RiaQDateTimeTools::TimeFormatComponents timeComponents)
{ {
QwtDateScaleDraw* scaleDraw = new QwtDateScaleDraw(Qt::UTC); QwtDateScaleDraw* scaleDraw = new QwtDateScaleDraw(Qt::UTC);
@ -129,7 +131,7 @@ void RiuQwtPlotTools::enableDateBasedBottomXAxis(QwtPlot* plot,
for (QwtDate::IntervalType interval : intervals) for (QwtDate::IntervalType interval : intervals)
{ {
scaleDraw->setDateFormat(interval, dateTimeFormatForInterval(interval, dateFormat, timeFormat)); scaleDraw->setDateFormat(interval, dateTimeFormatForInterval(interval, dateFormat, timeFormat, dateComponents, timeComponents));
} }
QwtDateScaleEngine* scaleEngine = new QwtDateScaleEngine(Qt::UTC); QwtDateScaleEngine* scaleEngine = new QwtDateScaleEngine(Qt::UTC);
@ -142,39 +144,51 @@ void RiuQwtPlotTools::enableDateBasedBottomXAxis(QwtPlot* plot,
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QString RiuQwtPlotTools::dateTimeFormatForInterval(QwtDate::IntervalType interval, QString RiuQwtPlotTools::dateTimeFormatForInterval(QwtDate::IntervalType interval,
const QString& dateFormat, const QString& dateFormat,
const QString& timeFormat) const QString& timeFormat,
RiaQDateTimeTools::DateFormatComponents dateComponents,
RiaQDateTimeTools::TimeFormatComponents timeComponents)
{ {
switch (interval) if (dateComponents != RiaQDateTimeTools::DATE_FORMAT_UNSPECIFIED && timeComponents != RiaQDateTimeTools::TIME_FORMAT_UNSPECIFIED)
{ {
case QwtDate::Millisecond: return RiaQDateTimeTools::dateFormatString(dateFormat, dateComponents) + "\n" +
return RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE_SECOND_MILLISECOND); RiaQDateTimeTools::timeFormatString(timeFormat, timeComponents);
case QwtDate::Second: }
return RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE_SECOND); else
case QwtDate::Minute: { {
QString fullFormat = RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE); switch (interval)
fullFormat += "\n"; {
fullFormat += RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY); case QwtDate::Millisecond:
return fullFormat; return RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE_SECOND_MILLISECOND);
} case QwtDate::Second:
case QwtDate::Hour: { return RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE_SECOND);
QString fullFormat = RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR); case QwtDate::Minute:
if (!fullFormat.endsWith("AP")) {
{ QString fullFormat = RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR_MINUTE);
fullFormat += ":00"; fullFormat += "\n";
} fullFormat += RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY);
fullFormat += "\n"; return fullFormat;
fullFormat += RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY); }
return fullFormat; case QwtDate::Hour:
} {
case QwtDate::Day: QString fullFormat = RiaQDateTimeTools::timeFormatString(timeFormat, RiaQDateTimeTools::TIME_FORMAT_HOUR);
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY); if (!fullFormat.endsWith("AP"))
case QwtDate::Week: {
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH); fullFormat += ":00";
case QwtDate::Month: }
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH); fullFormat += "\n";
case QwtDate::Year: fullFormat += RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY);
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR); return fullFormat;
default: }
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY); case QwtDate::Day:
} return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY);
case QwtDate::Week:
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH);
case QwtDate::Month:
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH);
case QwtDate::Year:
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR);
default:
return RiaQDateTimeTools::dateFormatString(dateFormat, RiaQDateTimeTools::DATE_FORMAT_YEAR_MONTH_DAY);
}
}
} }

View File

@ -27,8 +27,15 @@ class RiuQwtPlotTools
public: public:
static void setCommonPlotBehaviour(QwtPlot* plot); static void setCommonPlotBehaviour(QwtPlot* plot);
static void setDefaultAxes(QwtPlot* plot); static void setDefaultAxes(QwtPlot* plot);
static void enableDateBasedBottomXAxis(QwtPlot* plot, const QString& dateFormat, const QString& timeFormat); static void enableDateBasedBottomXAxis(QwtPlot* plot,
const QString& dateFormat,
const QString& timeFormat,
RiaQDateTimeTools::DateFormatComponents dateComponents = RiaQDateTimeTools::DATE_FORMAT_UNSPECIFIED,
RiaQDateTimeTools::TimeFormatComponents timeComponents = RiaQDateTimeTools::TIME_FORMAT_UNSPECIFIED);
static QString static QString dateTimeFormatForInterval(QwtDate::IntervalType interval,
dateTimeFormatForInterval(QwtDate::IntervalType interval, const QString& dateFormat, const QString& timeFormat); const QString& dateFormat,
const QString& timeFormat,
RiaQDateTimeTools::DateFormatComponents dateComponents,
RiaQDateTimeTools::TimeFormatComponents timeComponents);
}; };

View File

@ -102,9 +102,11 @@ RiuSummaryQwtPlot::RiuSummaryQwtPlot(RimViewWindow* viewWindow, QWidget* parent
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RiuSummaryQwtPlot::useDateBasedTimeAxis(const QString& dateFormat, void RiuSummaryQwtPlot::useDateBasedTimeAxis(const QString& dateFormat,
const QString& timeFormat) const QString& timeFormat,
RiaQDateTimeTools::DateFormatComponents dateComponents,
RiaQDateTimeTools::TimeFormatComponents timeComponents)
{ {
RiuQwtPlotTools::enableDateBasedBottomXAxis(this, dateFormat, timeFormat); RiuQwtPlotTools::enableDateBasedBottomXAxis(this, dateFormat, timeFormat, dateComponents, timeComponents);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -41,7 +41,12 @@ class RiuSummaryQwtPlot : public RiuQwtPlot
public: public:
RiuSummaryQwtPlot(RimViewWindow* ownerViewWindow, QWidget* parent = nullptr); RiuSummaryQwtPlot(RimViewWindow* ownerViewWindow, QWidget* parent = nullptr);
void useDateBasedTimeAxis(const QString& dateFormat, const QString& timeFormat); void
useDateBasedTimeAxis(const QString& dateFormat,
const QString& timeFormat,
RiaQDateTimeTools::DateFormatComponents dateComponents = RiaQDateTimeTools::DATE_FORMAT_UNSPECIFIED,
RiaQDateTimeTools::TimeFormatComponents timeComponents = RiaQDateTimeTools::TIME_FORMAT_UNSPECIFIED);
void useTimeBasedTimeAxis(); void useTimeBasedTimeAxis();
void addOrUpdateEnsembleCurveSetLegend(RimEnsembleCurveSet* curveSetToShowLegendFor); void addOrUpdateEnsembleCurveSetLegend(RimEnsembleCurveSet* curveSetToShowLegendFor);