From fca432c1c09081e1e5823d0dad6290e1519823b0 Mon Sep 17 00:00:00 2001 From: Steven Ceuppens Date: Tue, 25 Oct 2011 12:19:19 +0200 Subject: 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 --- src/corelib/tools/qmargins.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'src/corelib/tools/qmargins.cpp') 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() << ", " -- cgit v1.2.3