diff options
Diffstat (limited to 'src/testlib/qtest_widgets.h')
-rw-r--r-- | src/testlib/qtest_widgets.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/testlib/qtest_widgets.h b/src/testlib/qtest_widgets.h index f188e60b16..8d7752f964 100644 --- a/src/testlib/qtest_widgets.h +++ b/src/testlib/qtest_widgets.h @@ -49,8 +49,72 @@ #pragma qt_no_master_include #endif +#include <QtWidgets/QSizePolicy> +#include <QtCore/QMetaEnum> + QT_BEGIN_NAMESPACE +namespace QTest +{ + +// +// QSizePolicy & friends: +// + +namespace Internal +{ + +inline const char *toString(QSizePolicy::Policy p) +{ + static const QMetaEnum me = QSizePolicy::staticMetaObject.enumerator(QSizePolicy::staticMetaObject.indexOfEnumerator("Policy")); + return me.valueToKey(int(p)); +} + +inline QByteArray toString(QSizePolicy::ControlTypes ct) +{ + static const QMetaEnum me = QSizePolicy::staticMetaObject.enumerator(QSizePolicy::staticMetaObject.indexOfEnumerator("ControlTypes")); + return me.valueToKeys(int(ct)); +} + +inline QByteArray toString(QSizePolicy sp) +{ + static const char comma[] = ", "; + return QByteArray("QSizePolicy(") + + Internal::toString(sp.horizontalPolicy()) + comma + + Internal::toString(sp.verticalPolicy()) + comma + + QByteArray::number(sp.horizontalStretch()) + comma + + QByteArray::number(sp.verticalStretch()) + comma + + Internal::toString(QSizePolicy::ControlTypes(sp.controlType())) + comma + + "height for width: " + (sp.hasHeightForWidth() ? "yes" : "no") + comma + + "width for height: " + (sp.hasWidthForHeight() ? "yes" : "no") + comma + + (sp.retainSizeWhenHidden() ? "" : "don't " ) + "retain size when hidden" + + ')'; +} + +} // namespace Internal + +inline char *toString(QSizePolicy::Policy p) +{ + return qstrdup(Internal::toString(p)); +} + +inline char *toString(QSizePolicy::ControlTypes ct) +{ + return qstrdup(Internal::toString(ct).constData()); +} + +inline char *toString(QSizePolicy::ControlType ct) +{ + return toString(QSizePolicy::ControlTypes(ct)); +} + +inline char *toString(QSizePolicy sp) +{ + return qstrdup(Internal::toString(sp).constData()); +} + +} // namespace QTest + QT_END_NAMESPACE #endif |