summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtesttouch.h
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2011-09-20 07:59:46 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-21 08:24:11 +0200
commitd372a9f3709aa76322e23c98eb5a853ba83e1e21 (patch)
treee556c3881d0a5152535dee32fa4edbcd5ab57c58 /src/testlib/qtesttouch.h
parenta097825b2135ebfde45a122ea9252954f4ddcd5f (diff)
testlib: Remove widgets dependency when only using gui
There's api in testlib that should only be available if the application links against widgets. Change-Id: I22e382c6710690866ed8ffed81bae27b548dc830 Reviewed-on: http://codereview.qt-project.org/5094 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jo Asplin <jo.asplin@nokia.com> Reviewed-by: Matthew Cattell <matthew.cattell@nokia.com>
Diffstat (limited to 'src/testlib/qtesttouch.h')
-rw-r--r--src/testlib/qtesttouch.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/testlib/qtesttouch.h b/src/testlib/qtesttouch.h
index 8fe7fa8f36..4562cd4c73 100644
--- a/src/testlib/qtesttouch.h
+++ b/src/testlib/qtesttouch.h
@@ -62,9 +62,11 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Test)
+#ifdef QT_WIDGETS_LIB
extern Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window,
QTouchEvent::DeviceType deviceType,
const QList<QTouchEvent::TouchPoint> &touchPoints);
+#endif
namespace QTest
{
@@ -77,6 +79,7 @@ namespace QTest
commit();
points.clear();
}
+#ifdef QT_WIDGETS_LIB
QTouchEventSequence& press(int touchId, const QPoint &pt, QWidget *widget = 0)
{
QTouchEvent::TouchPoint &p = point(touchId);
@@ -84,6 +87,7 @@ namespace QTest
p.setState(Qt::TouchPointPressed);
return *this;
}
+#endif
QTouchEventSequence& press(int touchId, const QPoint &pt, QWindow *window = 0)
{
QTouchEvent::TouchPoint &p = point(touchId);
@@ -92,6 +96,7 @@ namespace QTest
return *this;
}
+#ifdef QT_WIDGETS_LIB
QTouchEventSequence& move(int touchId, const QPoint &pt, QWidget *widget = 0)
{
QTouchEvent::TouchPoint &p = point(touchId);
@@ -99,6 +104,7 @@ namespace QTest
p.setState(Qt::TouchPointMoved);
return *this;
}
+#endif
QTouchEventSequence& move(int touchId, const QPoint &pt, QWindow *window = 0)
{
QTouchEvent::TouchPoint &p = point(touchId);
@@ -106,6 +112,7 @@ namespace QTest
p.setState(Qt::TouchPointMoved);
return *this;
}
+#ifdef QT_WIDGETS_LIB
QTouchEventSequence& release(int touchId, const QPoint &pt, QWidget *widget = 0)
{
QTouchEvent::TouchPoint &p = point(touchId);
@@ -113,6 +120,7 @@ namespace QTest
p.setState(Qt::TouchPointReleased);
return *this;
}
+#endif
QTouchEventSequence& release(int touchId, const QPoint &pt, QWindow *window = 0)
{
QTouchEvent::TouchPoint &p = point(touchId);
@@ -128,12 +136,18 @@ namespace QTest
}
private:
+#ifdef QT_WIDGETS_LIB
QTouchEventSequence(QWidget *widget, QTouchEvent::DeviceType aDeviceType)
: targetWidget(widget), targetWindow(0), deviceType(aDeviceType)
{
}
+#endif
QTouchEventSequence(QWindow *window, QTouchEvent::DeviceType aDeviceType)
- : targetWidget(0), targetWindow(window), deviceType(aDeviceType)
+ :
+#ifdef QT_WIDGETS_LIB
+ targetWidget(0),
+#endif
+ targetWindow(window), deviceType(aDeviceType)
{
}
QTouchEventSequence(const QTouchEventSequence &v);
@@ -145,12 +159,14 @@ namespace QTest
points[touchId] = QTouchEvent::TouchPoint(touchId);
return points[touchId];
}
+#ifdef QT_WIDGETS_LIB
QPoint mapToScreen(QWidget *widget, const QPoint &pt)
{
if (widget)
return widget->mapToGlobal(pt);
return targetWidget ? targetWidget->mapToGlobal(pt) : pt;
}
+#endif
QPoint mapToScreen(QWindow *window, const QPoint &pt)
{
if(window)
@@ -186,27 +202,35 @@ namespace QTest
QTest::qWait(10);
targetWindow = 0;
}
+#ifdef QT_WIDGETS_LIB
else if(targetWidget)
{
qt_translateRawTouchEvent(targetWidget, deviceType, points.values());
targetWidget = 0;
}
+#endif
}
QMap<int, QTouchEvent::TouchPoint> points;
+#ifdef QT_WIDGETS_LIB
QWidget *targetWidget;
+#endif
QWindow *targetWindow;
QTouchEvent::DeviceType deviceType;
+#ifdef QT_WIDGETS_LIB
friend QTouchEventSequence touchEvent(QWidget *, QTouchEvent::DeviceType);
+#endif
friend QTouchEventSequence touchEvent(QWindow *, QTouchEvent::DeviceType);
};
+#ifdef QT_WIDGETS_LIB
inline
QTouchEventSequence touchEvent(QWidget *widget = 0,
QTouchEvent::DeviceType deviceType = QTouchEvent::TouchScreen)
{
return QTouchEventSequence(widget, deviceType);
}
+#endif
inline
QTouchEventSequence touchEvent(QWindow *window = 0,
QTouchEvent::DeviceType deviceType = QTouchEvent::TouchScreen)