#1357 Always use vector with largest item count when producing time step strings

This commit is contained in:
Magne Sjaastad 2017-03-29 20:53:00 +02:00
parent a97b851b6e
commit 69984cec9c
2 changed files with 9 additions and 18 deletions

View File

@ -561,7 +561,7 @@ QStringList RimEclipseCase::timeStepStrings()
{ {
QStringList stringList; QStringList stringList;
int timeStepCount = static_cast<int>(results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepCount(0)); int timeStepCount = static_cast<int>(results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->maxTimeStepCount());
for (int i = 0; i < timeStepCount; i++) for (int i = 0; i < timeStepCount; i++)
{ {
stringList += this->timeStepName(i); stringList += this->timeStepName(i);
@ -576,45 +576,37 @@ QStringList RimEclipseCase::timeStepStrings()
QString RimEclipseCase::timeStepName(int frameIdx) QString RimEclipseCase::timeStepName(int frameIdx)
{ {
std::vector<QDateTime> timeStepDates = this->timeStepDates();
CVF_ASSERT(frameIdx < timeStepDates.size());
if (m_timeStepFormatString.isEmpty()) if (m_timeStepFormatString.isEmpty())
{ {
std::vector<QDateTime> timeStepDates = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDates(0); bool hasHoursAndMinutesInTimesteps = false;
bool hasHrsAndMinutesInTimesteps = false;
for (size_t i = 0; i < timeStepDates.size(); i++) for (size_t i = 0; i < timeStepDates.size(); i++)
{ {
if (timeStepDates[i].time().hour() != 0.0 || timeStepDates[i].time().minute() != 0.0) if (timeStepDates[i].time().hour() != 0.0 || timeStepDates[i].time().minute() != 0.0)
{ {
hasHrsAndMinutesInTimesteps = true; hasHoursAndMinutesInTimesteps = true;
break; break;
} }
} }
m_timeStepFormatString = "dd.MMM yyyy"; m_timeStepFormatString = "dd.MMM yyyy";
if (hasHrsAndMinutesInTimesteps) if (hasHoursAndMinutesInTimesteps)
{ {
m_timeStepFormatString += " - hh:mm"; m_timeStepFormatString += " - hh:mm";
} }
} }
QDateTime date = timeStepDates.at(frameIdx);
QDateTime date = results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDate(0,frameIdx);
return date.toString(m_timeStepFormatString); return date.toString(m_timeStepFormatString);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QDateTime RimEclipseCase::timeStepDate(int frameIdx) std::vector<QDateTime> RimEclipseCase::timeStepDates()
{
return results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDate(0,frameIdx);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<QDateTime> RimEclipseCase::timeStepDates()
{ {
return results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDates(); return results(RifReaderInterface::MATRIX_RESULTS)->cellResults()->timeStepDates();
} }

View File

@ -86,7 +86,6 @@ public:
virtual std::vector<RimView*> views(); virtual std::vector<RimView*> views();
virtual QStringList timeStepStrings(); virtual QStringList timeStepStrings();
virtual QString timeStepName(int frameIdx); virtual QString timeStepName(int frameIdx);
virtual QDateTime timeStepDate(int frameIdx);
std::vector<QDateTime> timeStepDates(); std::vector<QDateTime> timeStepDates();