summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtest_widgets.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qtest_widgets.h')
-rw-r--r--src/testlib/qtest_widgets.h64
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