summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorDenis Dzyubenko <denis.dzyubenko@nokia.com>2009-03-12 15:07:36 (GMT)
committerDenis Dzyubenko <denis.dzyubenko@nokia.com>2009-05-11 13:49:16 (GMT)
commit3e2cef8f6a58949b887add8ff1bb5e457e7be542 (patch)
treeb1f34bff7d54fe94a0e1599650a94b71a892f9ef /src/gui/kernel
parented24f677a411c449a2a3f862906aff2a313b4425 (diff)
downloadQt-3e2cef8f6a58949b887add8ff1bb5e457e7be542.zip
Qt-3e2cef8f6a58949b887add8ff1bb5e457e7be542.tar.gz
Qt-3e2cef8f6a58949b887add8ff1bb5e457e7be542.tar.bz2
Added QGraphicsSceneGestureEvent that extends plain QGestureEvent by
providing some additional info (like a widget that received a gesture - for coordinates conversions).
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qapplication.cpp1
-rw-r--r--src/gui/kernel/qevent.cpp26
-rw-r--r--src/gui/kernel/qevent.h8
-rw-r--r--src/gui/kernel/qgesturemanager.cpp8
4 files changed, 19 insertions, 24 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 104271d..5774ae0 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -4037,7 +4037,6 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
// QGestureEvent ge(&qge, false);
// ### TODO: fix widget-relative positions in gesture event.
QGestureEvent ge = *g;
- ge.m_targetWidget = w;
ge.spont = g->spontaneous();
res = d->notify_helper(w, w == receiver ? g : &ge);
g->spont = false;
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index d7d193c..6cdf781 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -3524,27 +3524,27 @@ QMenubarUpdatedEvent::QMenubarUpdatedEvent(QMenuBar * const menuBar)
\sa QGesture
*/
-/*! \fn QWidget *QGestureEvent::targetWidget() const
-
- Returns the widget the gesture event is send to.
-*/
-
-/*! \fn bool contains(const Qt::GestureType &type) const
+/*! \fn bool QGestureEvent::contains(const Qt::GestureType &type) const
Checks if the gesture event contains gesture of specific \a type.
*/
-/*! \fn QList<Qt::GestureType> gestureTypes() const
+/*! \fn QList<Qt::GestureType> QGestureEvent::gestureTypes() const
Returns a list of gesture names that the event contains.
*/
-/*! \fn const QGesture* gesture(const Qt::GestureType &type) const
+/*! \fn const QGesture* QGestureEvent::gesture(const Qt::GestureType &type) const
Returns extended information about a gesture of specific \a type.
*/
-/*! \fn QSet<Qt::GestureType> cancelledGestures() const
+/*! \fn QList<QSharedPointer<QGesture> > QGestureEvent::gestures() const
+
+ Returns extended information about all triggered gestures.
+*/
+
+/*! \fn QSet<Qt::GestureType> QGestureEvent::cancelledGestures() const
Returns a set of gesture names that used to be executed, but got
cancelled (i.e. they were not finished properly).
@@ -3553,18 +3553,16 @@ QMenubarUpdatedEvent::QMenubarUpdatedEvent(QMenuBar * const menuBar)
-QGestureEvent::QGestureEvent(QWidget *targetWidget, const QList<QGesture*> &gestures,
+QGestureEvent::QGestureEvent(const QList<QGesture*> &gestures,
const QSet<Qt::GestureType> &cancelledGestures)
- : QEvent(QEvent::Gesture), m_targetWidget(targetWidget),
- m_cancelledGestures(cancelledGestures)
+ : QEvent(QEvent::Gesture), m_cancelledGestures(cancelledGestures)
{
foreach(QGesture *r, gestures)
m_gestures.insert(r->gestureType(), QSharedPointer<QGesture>(r));
}
QGestureEvent::QGestureEvent(const QGestureEvent &event, const QPoint &offset)
- : QEvent(QEvent::Gesture), m_targetWidget(event.m_targetWidget),
- m_gestures(event.m_gestures),
+ : QEvent(QEvent::Gesture), m_gestures(event.m_gestures),
m_cancelledGestures(event.m_cancelledGestures)
{
//### use offset!
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index cde7cb2..603f358 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -717,27 +717,25 @@ private:
class Q_GUI_EXPORT QGestureEvent : public QEvent
{
public:
- QGestureEvent(QWidget *targetWidget, const QList<QGesture*> &gestures,
+ QGestureEvent(const QList<QGesture*> &gestures,
const QSet<Qt::GestureType> &cancelledGestures = QSet<Qt::GestureType>());
// internal ctor
QGestureEvent(const QGestureEvent &gestures, const QPoint &offset);
~QGestureEvent();
- QWidget *targetWidget() const
- { return m_targetWidget; }
-
inline bool contains(const Qt::GestureType &type) const
{ return gesture(type) != 0; }
inline QList<Qt::GestureType> gestureTypes() const
{ return m_gestures.keys(); }
inline const QGesture* gesture(const Qt::GestureType &type) const
{ return m_gestures.value(type, QSharedPointer<QGesture>()).data(); }
+ inline QList<QSharedPointer<QGesture> > gestures() const
+ { return m_gestures.values(); }
inline QSet<Qt::GestureType> cancelledGestures() const
{ return m_cancelledGestures; }
protected:
- QWidget *m_targetWidget;
QHash<Qt::GestureType, QSharedPointer<QGesture> > m_gestures;
QSet<Qt::GestureType> m_cancelledGestures;
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index 7954ae9..9a287a0 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -178,7 +178,7 @@ bool QGestureManager::filterEvent(QEvent *event)
gestures << gesture;
}
Q_ASSERT(!gestures.isEmpty());
- QGestureEvent event(targetWidget, gestures);
+ QGestureEvent event(gestures);
ret = qt_sendGestureEvent(targetWidget, &event);
ret = ret && event.isAccepted();
@@ -283,7 +283,7 @@ bool QGestureManager::filterEvent(QEvent *event)
foreach(QGestureRecognizer *r, cancelledGestures)
cancelledGestureNames << r->gestureType();
if(!gestures.isEmpty()) {
- QGestureEvent event(targetWidget, gestures, cancelledGestureNames);
+ QGestureEvent event(gestures, cancelledGestureNames);
ret = qt_sendGestureEvent(targetWidget, &event);
ret = ret && event.isAccepted();
}
@@ -375,7 +375,7 @@ void QGestureManager::recognizerTriggered(QGestureRecognizer::Result result)
if (QGesture *gesture = recognizer->makeEvent())
gestures << gesture;
if(!gestures.isEmpty()) {
- QGestureEvent event(targetWidget, gestures);
+ QGestureEvent event(gestures);
qt_sendGestureEvent(targetWidget, &event);
}
if (result == QGestureRecognizer::GestureFinished)
@@ -385,7 +385,7 @@ void QGestureManager::recognizerTriggered(QGestureRecognizer::Result result)
case QGestureRecognizer::MaybeGesture: {
DEBUG() << "QGestureManager: maybe gesture: " << recognizer;
if (activeGestures.contains(recognizer)) {
- QGestureEvent event(targetWidget, QList<QGesture*>(),
+ QGestureEvent event(QList<QGesture*>(),
QSet<Qt::GestureType>() << recognizer->gestureType());
qt_sendGestureEvent(targetWidget, &event);
}