diff options
author | Steven Ceuppens <steven.ceuppens@cense.be> | 2011-10-25 12:19:19 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-27 13:32:01 +0200 |
commit | fca432c1c09081e1e5823d0dad6290e1519823b0 (patch) | |
tree | 6631209dc4583fa23102da030f497c7121f9dcab /src/corelib | |
parent | ddce31c12fa34350881df76d1516cd0af30037a8 (diff) |
Add QDataStream operators to QMargins, so it can be streamed
* QDataStream format documented
* Added Unit test for QDataStream operators
* Updated Unit test
Change-Id: Idbcfcb0b927e6369e8d31b57693c7aa0d1a154e7
Reviewed-by: Olivier Goffart <ogoffart@kde.org>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/tools/qmargins.cpp | 41 | ||||
-rw-r--r-- | src/corelib/tools/qmargins.h | 8 |
2 files changed, 49 insertions, 0 deletions
diff --git a/src/corelib/tools/qmargins.cpp b/src/corelib/tools/qmargins.cpp index 7e62a62169..9c7dd038e7 100644 --- a/src/corelib/tools/qmargins.cpp +++ b/src/corelib/tools/qmargins.cpp @@ -156,6 +156,47 @@ QT_BEGIN_NAMESPACE Returns true if \a m1 and \a m2 are different; otherwise returns false. */ +/***************************************************************************** + QMargins stream functions + *****************************************************************************/ +#ifndef QT_NO_DATASTREAM +/*! + \fn QDataStream &operator<<(QDataStream &stream, const QMargins &m) + \relates QMargins + + Writes the given \a margin to the given \a stream and returns a + reference to the stream. + + \sa {Serializing Qt Data Types} +*/ + +QDataStream &operator<<(QDataStream &s, const QMargins &m) +{ + s << m.left() << m.top() << m.right() << m.bottom(); + return s; +} + +/*! + \fn QDataStream &operator>>(QDataStream &stream, QMargins &m) + \relates QMargins + + Reads a margin from the given \a stream into the given \a margin + and returns a reference to the stream. + + \sa {Serializing Qt Data Types} +*/ + +QDataStream &operator>>(QDataStream &s, QMargins &m) +{ + int left, top, right, bottom; + s >> left; m.setLeft(left); + s >> top; m.setTop(top); + s >> right; m.setRight(right); + s >> bottom; m.setBottom(bottom); + return s; +} +#endif // QT_NO_DATASTREAM + #ifndef QT_NO_DEBUG_STREAM QDebug operator<<(QDebug dbg, const QMargins &m) { dbg.nospace() << "QMargins(" << m.left() << ", " diff --git a/src/corelib/tools/qmargins.h b/src/corelib/tools/qmargins.h index f8404ca801..635ac56137 100644 --- a/src/corelib/tools/qmargins.h +++ b/src/corelib/tools/qmargins.h @@ -81,6 +81,14 @@ private: Q_DECLARE_TYPEINFO(QMargins, Q_MOVABLE_TYPE); /***************************************************************************** + QMargins stream functions + *****************************************************************************/ +#ifndef QT_NO_DATASTREAM +Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QMargins &); +Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QMargins &); +#endif + +/***************************************************************************** QMargins inline functions *****************************************************************************/ |