Files
ResInsight/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafInternalPdmStreamOperators.cpp

86 lines
2.5 KiB
C++
Raw Normal View History

2024-01-05 13:01:34 +01:00
#include <QString>
#include <QTextStream>
//--------------------------------------------------------------------------------------------------
/// Specialized read operation for Bool`s
//--------------------------------------------------------------------------------------------------
2020-06-19 07:53:59 +02:00
QTextStream& operator>>( QTextStream& str, bool& value )
{
QString text;
str >> text;
2020-06-19 07:53:59 +02:00
if ( text == "True" || text == "true" || text == "1" || text == "Yes" || text == "yes" )
value = true;
else
value = false;
return str;
}
2020-06-19 07:53:59 +02:00
QTextStream& operator<<( QTextStream& str, const bool& value )
{
2020-06-19 07:53:59 +02:00
if ( value )
str << "True ";
else
str << "False ";
return str;
}
//--------------------------------------------------------------------------------------------------
/// Specialized read operation for QDateTimes`s
//--------------------------------------------------------------------------------------------------
#include <QDateTime>
2020-06-19 07:53:59 +02:00
QTextStream& operator>>( QTextStream& str, QDateTime& value )
{
QString text;
str >> text;
2020-06-19 07:53:59 +02:00
value = QDateTime::fromString( text, "yyyy_MM_dd-HH:mm:ss" );
value.setTimeSpec( Qt::UTC );
return str;
}
2020-06-19 07:53:59 +02:00
QTextStream& operator<<( QTextStream& str, const QDateTime& value )
{
2020-06-19 07:53:59 +02:00
QString text = value.toString( "yyyy_MM_dd-HH:mm:ss" );
str << text;
return str;
}
//--------------------------------------------------------------------------------------------------
/// Specialized read operation for QDates
//--------------------------------------------------------------------------------------------------
#include <QDate>
2020-06-19 07:53:59 +02:00
QTextStream& operator>>( QTextStream& str, QDate& value )
{
2020-06-19 07:53:59 +02:00
QString text;
str >> text;
value = QDate::fromString( text, "yyyy_MM_dd" );
return str;
}
2020-06-19 07:53:59 +02:00
QTextStream& operator<<( QTextStream& str, const QDate& value )
{
2020-06-19 07:53:59 +02:00
QString text = value.toString( "yyyy_MM_dd" );
str << text;
return str;
}
//--------------------------------------------------------------------------------------------------
/// Specialized read operation for QTimes
//--------------------------------------------------------------------------------------------------
#include <QTime>
2020-06-19 07:53:59 +02:00
QTextStream& operator>>( QTextStream& str, QTime& value )
{
2020-06-19 07:53:59 +02:00
QString text;
str >> text;
value = QTime::fromString( text, "HH:mm:ss" );
return str;
}
2020-06-19 07:53:59 +02:00
QTextStream& operator<<( QTextStream& str, const QTime& value )
{
2020-06-19 07:53:59 +02:00
QString text = value.toString( "HH:mm:ss" );
str << text;
return str;
}