summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/graphicsview
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-02-19 10:06:25 +0100
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-02-19 10:06:25 +0100
commit30fd22b9574def54726e7b193127cc0c901c1b4c (patch)
tree96dfc923044db0515064ba39d052d9ed577e3e40 /tests/auto/widgets/graphicsview
parentd7b0581c1c2ef60c08d238dae39298af6904918f (diff)
parent6aa09bbce59828d028f6d1e81d2bfc6ba537aae1 (diff)
Merge remote-tracking branch 'origin/dev' into stable
Diffstat (limited to 'tests/auto/widgets/graphicsview')
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/qgraphicsitem.pro2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp96
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp36
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/qgraphicsscene.pro2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp2
7 files changed, 117 insertions, 25 deletions
diff --git a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
index 1ffb5c3b5c..78ab8027d8 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp
@@ -2974,7 +2974,7 @@ void tst_QGraphicsGridLayout::geometries()
void tst_QGraphicsGridLayout::avoidRecursionInInsertItem()
{
QGraphicsWidget window(0, Qt::Window);
- QGraphicsGridLayout *layout = new QGraphicsGridLayout(&window);
+ QGraphicsGridLayout *layout = new QGraphicsGridLayout(&window);
QCOMPARE(layout->count(), 0);
QTest::ignoreMessage(QtWarningMsg, "QGraphicsGridLayout::addItem: cannot insert itself");
layout->addItem(layout, 0, 0);
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/qgraphicsitem.pro b/tests/auto/widgets/graphicsview/qgraphicsitem/qgraphicsitem.pro
index 0c3b46c5d5..527f62b22d 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitem/qgraphicsitem.pro
+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/qgraphicsitem.pro
@@ -5,5 +5,5 @@ QT += core-private gui-private
SOURCES += tst_qgraphicsitem.cpp
DEFINES += QT_NO_CAST_TO_ASCII
-win32:!wince*: LIBS += -luser32
+win32:!wince*:!winrt: LIBS += -luser32
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
index fc1d0e34cb..de7c528825 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -71,7 +71,7 @@ Q_DECLARE_METATYPE(QPainterPath)
#include "../../../qtest-config.h"
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
#include <windows.h>
#define Q_CHECK_PAINTEVENTS \
if (::SwitchDesktop(::GetThreadDesktop(::GetCurrentThreadId())) == 0) \
diff --git a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp
index 6366f86250..6a3e69d0a8 100644
--- a/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp
@@ -1,3 +1,4 @@
+
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
@@ -47,6 +48,8 @@
#include <qgraphicsscene.h>
#include <qgraphicsview.h>
#include <qapplication.h>
+#include <QtWidgets/qstyle.h>
+#include <QtWidgets/qproxystyle.h>
class tst_QGraphicsLinearLayout : public QObject {
Q_OBJECT
@@ -86,6 +89,7 @@ private slots:
void removeItem();
void setGeometry_data();
void setGeometry();
+ void defaultSpacing();
void setSpacing_data();
void setSpacing();
void setItemSpacing_data();
@@ -770,7 +774,7 @@ void tst_QGraphicsLinearLayout::orientation()
layout.setOrientation(orientation);
QCOMPARE(layout.orientation(), orientation);
- // important to resize to preferredsize when orientation is switched
+ // important to resize to preferredsize when orientation is switched
widget->resize(widget->effectiveSizeHint(Qt::PreferredSize));
qApp->processEvents();
for (i = 0; i < positions.count(); ++i) {
@@ -909,6 +913,94 @@ void tst_QGraphicsLinearLayout::setGeometry()
delete widget;
}
+class LayoutStyle : public QProxyStyle
+{
+public:
+ LayoutStyle(const QString &key)
+ : QProxyStyle(key),
+ horizontalSpacing(-1), verticalSpacing(-1) {}
+
+ virtual int pixelMetric(QStyle::PixelMetric pm, const QStyleOption *option = 0, const QWidget *widget = 0) const Q_DECL_OVERRIDE
+ {
+ if (pm == QStyle::PM_LayoutHorizontalSpacing && horizontalSpacing >= 0) {
+ return horizontalSpacing;
+ } else if (pm == QStyle::PM_LayoutVerticalSpacing && verticalSpacing >= 0) {
+ return verticalSpacing;
+ }
+ return QProxyStyle::pixelMetric(pm, option, widget);
+ }
+
+ int horizontalSpacing;
+ int verticalSpacing;
+};
+
+void tst_QGraphicsLinearLayout::defaultSpacing()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ LayoutStyle *style = new LayoutStyle(QLatin1String("windows"));
+ style->horizontalSpacing = 5;
+ style->verticalSpacing = 3;
+ LayoutStyle *style2 = new LayoutStyle(QLatin1String("windows"));
+ style2->horizontalSpacing = 25;
+ style2->verticalSpacing = 23;
+
+ QGraphicsWidget *widget = new QGraphicsWidget(0, Qt::Window);
+ widget->setStyle(style);
+
+ // Horizontal layout
+ SubQGraphicsLinearLayout *layout = new SubQGraphicsLinearLayout(Qt::Horizontal);
+ widget->setLayout(layout);
+ Q_ASSERT(widget->style());
+ scene.addItem(widget);
+ layout->setContentsMargins(0, 0, 0, 0);
+ view.show();
+
+ for (int i = 0; i < 2; ++i) {
+ QGraphicsWidget *w = new QGraphicsWidget;
+ layout->addItem(w);
+ }
+
+ // Horizontal layout
+ qreal styleSpacing = (qreal)style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing);
+ QCOMPARE(styleSpacing, qreal(5));
+ QCOMPARE(styleSpacing, layout->spacing());
+ QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize).width(), qreal(105));
+ style->horizontalSpacing = 15;
+ // If the style method changes return value, the layout must be invalidated by the application
+ layout->invalidate();
+ styleSpacing = (qreal)style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing);
+ QCOMPARE(styleSpacing, qreal(15));
+ QCOMPARE(styleSpacing, layout->spacing());
+ QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize).width(), qreal(115));
+ widget->setStyle(style2);
+ // If the style itself changes, the layout will pick that up
+ QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize).width(), qreal(125));
+ QCOMPARE(layout->spacing(), qreal(25));
+
+ // Vertical layout
+ widget->setStyle(style);
+ layout->setOrientation(Qt::Vertical);
+ styleSpacing = (qreal)style->pixelMetric(QStyle::PM_LayoutVerticalSpacing);
+ QCOMPARE(styleSpacing, qreal(3));
+ QCOMPARE(styleSpacing, layout->spacing());
+ QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize).height(), qreal(103));
+ style->verticalSpacing = 13;
+ // If the style method changes return value, the layout must be invalidated by the application
+ layout->invalidate();
+ styleSpacing = (qreal)style->pixelMetric(QStyle::PM_LayoutVerticalSpacing);
+ QCOMPARE(styleSpacing, qreal(13));
+ QCOMPARE(styleSpacing, layout->spacing());
+ QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize).height(), qreal(113));
+ widget->setStyle(style2);
+ // If the style itself changes, the layout will pick that up
+ QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize).height(), qreal(123));
+ QCOMPARE(layout->spacing(), qreal(23));
+
+
+ delete widget;
+}
+
void tst_QGraphicsLinearLayout::setSpacing_data()
{
QTest::addColumn<qreal>("spacing");
@@ -1469,7 +1561,7 @@ void tst_QGraphicsLinearLayout::removeLayout()
void tst_QGraphicsLinearLayout::avoidRecursionInInsertItem()
{
QGraphicsWidget window(0, Qt::Window);
- QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(&window);
+ QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(&window);
QCOMPARE(layout->count(), 0);
QTest::ignoreMessage(QtWarningMsg, "QGraphicsLinearLayout::insertItem: cannot insert itself");
layout->insertItem(0, layout);
diff --git a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
index 92de2c6733..d3f6c2db00 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
@@ -1230,17 +1230,17 @@ void tst_QGraphicsProxyWidget::mousePressReleaseEvent()
view.resize(100, 100);
if (hasWidget) {
proxy->setWidget(widget);
- proxy->show();
+ proxy->show();
}
proxy->setPos(50, 0);
scene.addItem(proxy);
proxy->setFocus();
QTest::mousePress(view.viewport(), Qt::LeftButton, 0,
- view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
+ view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
QTRY_COMPARE(spy.count(), 0);
QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0,
- view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
+ view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
QTRY_COMPARE(spy.count(), (hasWidget) ? 1 : 0);
if (!hasWidget)
@@ -1439,16 +1439,16 @@ class View : public QGraphicsView
{
public:
View(QGraphicsScene *scene, QWidget *parent = 0)
- : QGraphicsView(scene, parent), npaints(0)
+ : QGraphicsView(scene, parent), npaints(0)
{ }
QRegion paintEventRegion;
int npaints;
protected:
void paintEvent(QPaintEvent *event)
{
- ++npaints;
- paintEventRegion += event->region();
- QGraphicsView::paintEvent(event);
+ ++npaints;
+ paintEventRegion += event->region();
+ QGraphicsView::paintEvent(event);
}
};
@@ -1458,7 +1458,7 @@ class ScrollWidget : public QWidget
public:
ScrollWidget() : npaints(0)
{
- resize(200, 200);
+ resize(200, 200);
}
QRegion paintEventRegion;
int npaints;
@@ -1466,17 +1466,17 @@ public:
public slots:
void updateScroll()
{
- update(0, 0, 200, 10);
- scroll(0, 10, QRect(0, 0, 100, 20));
+ update(0, 0, 200, 10);
+ scroll(0, 10, QRect(0, 0, 100, 20));
}
protected:
void paintEvent(QPaintEvent *event)
{
- ++npaints;
- paintEventRegion += event->region();
- QPainter painter(this);
- painter.fillRect(event->rect(), Qt::blue);
+ ++npaints;
+ paintEventRegion += event->region();
+ QPainter painter(this);
+ painter.fillRect(event->rect(), Qt::blue);
}
};
@@ -1502,7 +1502,7 @@ void tst_QGraphicsProxyWidget::scrollUpdate()
// QRect(0, 12, 102, 10) is the scroll update, expanded (-2, -2, 2, 2),
// intersected with the above update.
QCOMPARE(view.paintEventRegion.rects(),
- QVector<QRect>() << QRect(0, 0, 200, 12) << QRect(0, 12, 102, 10));
+ QVector<QRect>() << QRect(0, 0, 200, 12) << QRect(0, 12, 102, 10));
QCOMPARE(widget->npaints, 2);
QCOMPARE(widget->paintEventRegion.rects(),
QVector<QRect>() << QRect(0, 0, 200, 12) << QRect(0, 12, 102, 10));
@@ -2458,7 +2458,7 @@ void tst_QGraphicsProxyWidget::popup_basic()
QComboBox *box = new QComboBox;
box->setGeometry(0, 0, 320, 40);
box->addItems(QStringList() << "monday" << "tuesday" << "wednesday"
- << "thursday" << "saturday" << "sunday");
+ << "thursday" << "saturday" << "sunday");
QCOMPARE(proxy->childItems().count(), 0);
proxy->setWidget(box);
proxy->show();
@@ -2472,7 +2472,7 @@ void tst_QGraphicsProxyWidget::popup_basic()
QApplication::processEvents();
QTest::mousePress(view.viewport(), Qt::LeftButton, 0,
- view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
+ view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
QTRY_COMPARE(box->pos(), QPoint());
@@ -2511,7 +2511,7 @@ void tst_QGraphicsProxyWidget::popup_subwidget()
QComboBox *box = new QComboBox;
box->addItems(QStringList() << "monday" << "tuesday" << "wednesday"
- << "thursday" << "saturday" << "sunday");
+ << "thursday" << "saturday" << "sunday");
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(new QLineEdit("QLineEdit"));
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/qgraphicsscene.pro b/tests/auto/widgets/graphicsview/qgraphicsscene/qgraphicsscene.pro
index 8d00931ef1..a6022e0d7d 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsscene/qgraphicsscene.pro
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/qgraphicsscene.pro
@@ -4,7 +4,7 @@ QT += widgets widgets-private testlib
QT += core-private gui-private
SOURCES += tst_qgraphicsscene.cpp
RESOURCES += images.qrc
-win32:!wince*: LIBS += -luser32
+win32:!wince*:!winrt: LIBS += -luser32
!wince*:DEFINES += SRCDIR=\\\"$$PWD\\\"
DEFINES += QT_NO_CAST_TO_ASCII
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
index 15c92663ec..dfc8465210 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -54,7 +54,7 @@
#include "../../../shared/platforminputcontext.h"
#include <private/qinputmethod_p.h>
-#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) && !defined(Q_OS_WINRT)
#include <windows.h>
#define Q_CHECK_PAINTEVENTS \
if (::SwitchDesktop(::GetThreadDesktop(::GetCurrentThreadId())) == 0) \