summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/src/qnamespace.qdoc33
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp48
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h5
-rw-r--r--src/gui/graphicsview/qgraphicssceneevent.cpp51
-rw-r--r--src/gui/kernel/qevent.cpp13
-rw-r--r--src/gui/kernel/qevent.h2
-rw-r--r--src/gui/kernel/qgesture.cpp65
-rw-r--r--src/gui/kernel/qgesture.h9
-rw-r--r--src/gui/kernel/qwidget.cpp8
9 files changed, 149 insertions, 85 deletions
diff --git a/doc/src/qnamespace.qdoc b/doc/src/qnamespace.qdoc
index c44b41e..c30dc88 100644
--- a/doc/src/qnamespace.qdoc
+++ b/doc/src/qnamespace.qdoc
@@ -2676,9 +2676,17 @@
\sa QPixmapBorders, qDrawBorderPixmap()
*/
-/*! \typedef Qt::GestureType
+/*! \enum Qt::GestureType
- A string representing a type of a gesture.
+ This enum lists standard gestures.
+
+ \value UnknownGesture An unknown gesture. This enum value shouldn't be used.
+ \value TapGesture A single tap gesture.
+ \value DoubleTapGesture A double tap gesture.
+ \value TrippleTapGesture A tripple tap gesture.
+ \value TapAndHoldGesture A tap-and-hold (long tap) gesture.
+ \value PanGesture A pan gesture.
+ \value PinchGesture A pinch gesture.
*/
/*!
@@ -2691,3 +2699,24 @@
\sa QGesture
*/
+
+/*!
+ \enum Qt::DirectionType
+
+ This enum type describes directions. This could be used by the
+ gesture recognizers.
+
+ \value NoDirection Non-specific direction.
+ \value LeftDownDirection
+ \value DownLeftDirection
+ \value DownDirection
+ \value RightDownDirection
+ \value DownRightDirection
+ \value LeftDirection
+ \value RightDirection
+ \value LeftUpDirection
+ \value UpLeftDirection
+ \value UpDirection
+ \value RightUpDirection
+ \value UpRightDirection
+*/
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index cbd4834..0dc227a 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -5790,27 +5790,61 @@ QVariant QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const
return QVariant();
}
-int QGraphicsItem::grabGesture(Qt::GestureType type)
+/*!
+ Subscribes the graphics item to the specified \a gesture type.
+
+ Returns the id of the gesture.
+
+ \sa releaseGesture(), setGestureEnabled()
+*/
+int QGraphicsItem::grabGesture(Qt::GestureType gesture)
{
- return grabGesture(qt_getStandardGestureTypeName(type));
+ return grabGesture(qt_getStandardGestureTypeName(gesture));
}
-int QGraphicsItem::grabGesture(const QString &type)
+/*!
+ Subscribes the graphics item to the specified \a gesture type.
+
+ Returns the id of the gesture.
+
+ \sa releaseGesture(), setGestureEnabled()
+*/
+int QGraphicsItem::grabGesture(const QString &gesture)
{
- int id = qHash(type);
+ int id = qHash(gesture);
QSet<int>::iterator it = d_ptr->gestures.find(id);
if (it != d_ptr->gestures.end())
return *it;
d_ptr->gestures << id;
if (d_ptr->scene)
d_ptr->scene->d_func()->grabGesture(this, id);
+ return id;
}
-void QGraphicsItem::releaseGesture(int id)
+/*!
+ Unsubscribes the graphics item from a gesture, which is specified
+ by the \a gestureId.
+
+ \sa grabGesture(), setGestureEnabled()
+*/
+void QGraphicsItem::releaseGesture(int gestureId)
{
- d_ptr->gestures.remove(id);
+ d_ptr->gestures.remove(gestureId);
if (d_ptr->scene)
- d_ptr->scene->d_func()->releaseGesture(this, id);
+ d_ptr->scene->d_func()->releaseGesture(this, gestureId);
+}
+
+/*!
+ If \a enable is true, the gesture with the given \a gestureId is
+ enabled; otherwise the gesture is disabled.
+
+ The id of the gesture is returned by the grabGesture().
+
+ \sa grabGesture(), releaseGesture()
+*/
+void QGraphicsItem::setGestureEnabled(int gestureId, bool enable)
+{
+ //###
}
/*!
diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h
index 4e6e96d..37d8f78 100644
--- a/src/gui/graphicsview/qgraphicsitem.h
+++ b/src/gui/graphicsview/qgraphicsitem.h
@@ -338,9 +338,10 @@ public:
QVariant data(int key) const;
void setData(int key, const QVariant &value);
- int grabGesture(Qt::GestureType type);
- int grabGesture(const QString &type);
+ int grabGesture(Qt::GestureType gesture);
+ int grabGesture(const QString &gesture);
void releaseGesture(int gestureId);
+ void setGestureEnabled(int gestureId, bool enable = true);
enum {
Type = 1,
diff --git a/src/gui/graphicsview/qgraphicssceneevent.cpp b/src/gui/graphicsview/qgraphicssceneevent.cpp
index 4f24a74..c79e30b 100644
--- a/src/gui/graphicsview/qgraphicssceneevent.cpp
+++ b/src/gui/graphicsview/qgraphicssceneevent.cpp
@@ -1727,18 +1727,24 @@ void QGraphicsSceneMoveEvent::setNewPos(const QPointF &pos)
gestures with \l{QGraphicsItem::}{grabGesture()}.
*/
-
+/*!
+ Constructs a QGraphicsSceneGestureEvent.
+*/
QGraphicsSceneGestureEvent::QGraphicsSceneGestureEvent()
: QGraphicsSceneEvent(QEvent::GraphicsSceneGesture)
{
}
+/*!
+ Destroys a QGraphicsSceneGestureEvent.
+*/
QGraphicsSceneGestureEvent::~QGraphicsSceneGestureEvent()
{
}
/*!
- Checks if the gesture event contains gesture of specific \a type.
+ Returns true if the gesture event contains gesture of specific \a
+ type; returns false otherwise.
*/
bool QGraphicsSceneGestureEvent::contains(const QString &type) const
{
@@ -1746,7 +1752,8 @@ bool QGraphicsSceneGestureEvent::contains(const QString &type) const
}
/*!
- Checks if the gesture event contains gesture of specific \a type.
+ Returns true if the gesture event contains gesture of specific \a
+ type; returns false otherwise.
*/
bool QGraphicsSceneGestureEvent::contains(Qt::GestureType type) const
{
@@ -1754,7 +1761,7 @@ bool QGraphicsSceneGestureEvent::contains(Qt::GestureType type) const
}
/*!
- Returns a list of gesture names that the event contains.
+ Returns a list of gesture names that this event contains.
*/
QList<QString> QGraphicsSceneGestureEvent::gestureTypes() const
{
@@ -1778,7 +1785,7 @@ const QGesture* QGraphicsSceneGestureEvent::gesture(Qt::GestureType type) const
}
/*!
- Returns extended information about all triggered gestures.
+ Returns extended information about all gestures in the event.
*/
QList<QSharedPointer<QGesture> > QGraphicsSceneGestureEvent::gestures() const
{
@@ -1786,7 +1793,7 @@ QList<QSharedPointer<QGesture> > QGraphicsSceneGestureEvent::gestures() const
}
/*!
- Returns a set of gesture names that used to be executed, but got
+ Returns a set of gesture names that used to be executed, but were
cancelled (i.e. they were not finished properly).
*/
QSet<QString> QGraphicsSceneGestureEvent::cancelledGestures() const
@@ -1795,8 +1802,9 @@ QSet<QString> QGraphicsSceneGestureEvent::cancelledGestures() const
}
/*!
- Returns a set of gesture names that used to be executed, but got
- cancelled (i.e. they were not finished properly).
+ Sets a list of gesture names \a cancelledGestures that used to be
+ executed, but were cancelled (i.e. they were not finished
+ properly).
*/
void QGraphicsSceneGestureEvent::setCancelledGestures(const QSet<QString> &cancelledGestures)
{
@@ -1807,13 +1815,10 @@ void QGraphicsSceneGestureEvent::setCancelledGestures(const QSet<QString> &cance
Maps the point \a point, which is in a view coordinate system, to
scene coordinate system, and returns the mapped coordinate.
- \a Point is in coordinate system of the widget that received
+ A \a point is in coordinate system of the widget that received
gesture event.
- \sa mapToScene(const QRect &rect),
- mapToItem(const QPoint &point, QGraphicsItem *item),
- mapToItem(const QRect &rect, QGraphicsItem *item),
- {The Graphics View Coordinate System}
+ \sa mapToItem(), {The Graphics View Coordinate System}
*/
QPointF QGraphicsSceneGestureEvent::mapToScene(const QPoint &point) const
{
@@ -1826,13 +1831,10 @@ QPointF QGraphicsSceneGestureEvent::mapToScene(const QPoint &point) const
Maps the rectangular \a rect, which is in a view coordinate system, to
scene coordinate system, and returns the mapped coordinate.
- \a Point is in coordinate system of the widget that received
+ A \a rect is in coordinate system of the widget that received
gesture event.
- \sa mapToScene(const QPoint &rect),
- mapToItem(const QPoint &point, QGraphicsItem *item),
- mapToItem(const QRect &rect, QGraphicsItem *item),
- {The Graphics View Coordinate System}
+ \sa mapToItem(), {The Graphics View Coordinate System}
*/
QPolygonF QGraphicsSceneGestureEvent::mapToScene(const QRect &rect) const
{
@@ -1847,9 +1849,7 @@ QPolygonF QGraphicsSceneGestureEvent::mapToScene(const QRect &rect) const
If \a item is 0, this function returns the same as mapToScene().
- \sa mapToScene(const QPoint &rect), mapToScene(const QRect &rect),
- mapToItem(const QRect &, QGraphicsItem *item),
- {The Graphics View Coordinate System}
+ \sa mapToScene(), {The Graphics View Coordinate System}
*/
QPointF QGraphicsSceneGestureEvent::mapToItem(const QPoint &point, QGraphicsItem *item) const
{
@@ -1863,14 +1863,12 @@ QPointF QGraphicsSceneGestureEvent::mapToItem(const QPoint &point, QGraphicsItem
}
/*!
- Maps the point \a point, which is in a view coordinate system, to
+ Maps the rectangualar \a rect, which is in a view coordinate system, to
item's \a item coordinate system, and returns the mapped coordinate.
If \a item is 0, this function returns the same as mapToScene().
- \sa mapToScene(const QPoint &rect), mapToScene(const QRect &rect),
- mapToItem(const QPoint &point, QGraphicsItem *item),
- {The Graphics View Coordinate System}
+ \sa mapToScene(), {The Graphics View Coordinate System}
*/
QPolygonF QGraphicsSceneGestureEvent::mapToItem(const QRect &rect, QGraphicsItem *item) const
{
@@ -1883,6 +1881,9 @@ QPolygonF QGraphicsSceneGestureEvent::mapToItem(const QRect &rect, QGraphicsItem
return QPolygonF();
}
+/*!
+ Set a list of gesture objects containing extended information about \a gestures.
+*/
void QGraphicsSceneGestureEvent::setGestures(const QList<QSharedPointer<QGesture> > &gestures)
{
foreach(const QSharedPointer<QGesture> &g, gestures)
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 3ce2517..dbfe528 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -3540,13 +3540,6 @@ QGestureEvent::QGestureEvent(const QList<QGesture*> &gestures,
m_gestures.insert(r->gestureType(), QSharedPointer<QGesture>(r));
}
-QGestureEvent::QGestureEvent(const QGestureEvent &event, const QPoint &offset)
- : QEvent(QEvent::Gesture), m_gestures(event.m_gestures),
- m_cancelledGestures(event.m_cancelledGestures)
-{
- //### use offset!
-}
-
/*!
Destroys the QGestureEvent object.
*/
@@ -3555,7 +3548,8 @@ QGestureEvent::~QGestureEvent()
}
/*!
- Checks if the gesture event contains gesture of specific \a type.
+ Returns true if the gesture event contains gesture of specific \a
+ type; returns false otherwise.
*/
bool QGestureEvent::contains(Qt::GestureType type) const
{
@@ -3563,7 +3557,8 @@ bool QGestureEvent::contains(Qt::GestureType type) const
}
/*!
- Checks if the gesture event contains gesture of specific \a type.
+ Returns true if the gesture event contains gesture of specific \a
+ type; returns false otherwise.
*/
bool QGestureEvent::contains(const QString &type) const
{
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 48e420a..41005d8 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -719,8 +719,6 @@ class Q_GUI_EXPORT QGestureEvent : public QEvent
public:
QGestureEvent(const QList<QGesture*> &gestures,
const QSet<QString> &cancelledGestures = QSet<QString>());
- // internal ctor
- QGestureEvent(const QGestureEvent &gestures, const QPoint &offset);
~QGestureEvent();
bool contains(Qt::GestureType type) const;
diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index b2bb859..35a3e2a 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -64,13 +64,23 @@ QString qt_getStandardGestureTypeName(Qt::GestureType type);
information. However, if the gesture developer wants to add a new
property to the gesture object that describe coordinate (like a
QPoint or QRect), it is required to subclass the QGesture and
- re-implement the \l{QGesture::}{translate} function to make sure
+ re-implement the \l{QGesture::}{translate()} function to make sure
the coordinates are translated properly when the gesture event is
propagated to parent widgets.
\sa QGestureEvent, QGestureRecognizer
*/
+/*! \fn QString QGesture::gestureType() const
+
+ Returns the type of the gesture.
+*/
+
+/*! \fn Qt::GestureState QGesture::state() const
+
+ Returns the current state of the gesture.
+*/
+
/*!
Creates a new gesture object of type \a type in a \a state and
marks it as a child of \a parent.
@@ -141,7 +151,9 @@ void QGesture::translate(const QPoint &offset)
}
/*!
- Returns a bounding rect of a gesture.
+ \property QGesture::rect
+
+ \brief The bounding rect of a gesture.
*/
QRect QGesture::rect() const
{
@@ -149,7 +161,9 @@ QRect QGesture::rect() const
}
/*!
- Returns a center point of a gesture.
+ \property QGesture::hotSpot
+
+ \brief The center point of a gesture.
*/
QPoint QGesture::hotSpot() const
{
@@ -157,7 +171,9 @@ QPoint QGesture::hotSpot() const
}
/*!
- Returns a time when the gesture has started.
+ \property QGesture::startTime
+
+ \brief The time when the gesture has started.
*/
QDateTime QGesture::startTime() const
{
@@ -165,7 +181,9 @@ QDateTime QGesture::startTime() const
}
/*!
- Returns a duration time of a gesture.
+ \property QGesture::duration
+
+ \brief The duration time of a gesture.
*/
uint QGesture::duration() const
{
@@ -173,7 +191,9 @@ uint QGesture::duration() const
}
/*!
- Returns the start position of the pointer.
+ \property QGesture::startPos
+
+ \brief The start position of the pointer.
*/
QPoint QGesture::startPos() const
{
@@ -181,7 +201,9 @@ QPoint QGesture::startPos() const
}
/*!
- Returns the last recorded position of the pointer.
+ \property QGesture::lastPos
+
+ \brief The last recorded position of the pointer.
*/
QPoint QGesture::lastPos() const
{
@@ -189,7 +211,9 @@ QPoint QGesture::lastPos() const
}
/*!
- Returns the position of the pointer.
+ \property QGesture::pos
+
+ \brief The current position of the pointer.
*/
QPoint QGesture::pos() const
{
@@ -206,28 +230,11 @@ QPoint QGesture::pos() const
information is also contained in the QGesture object in it's
properties.
*/
-QPannableGesture::QPannableGesture(QObject *parent, const QPoint &startPos,
- const QPoint &lastPos, const QPoint &pos, const QRect &rect,
- const QPoint &hotSpot, const QDateTime &startTime,
- uint duration, Qt::GestureState state)
- : QGesture(*new QPannableGesturePrivate, parent,
- qt_getStandardGestureTypeName(Qt::PanGesture), state)
-{
- Q_D(QPannableGesture);
- d->init(startPos, lastPos, pos, rect, hotSpot, startTime, duration);
- setProperty("lastDirection", QVariant::fromValue(Qt::NoDirection));
- setProperty("direction", QVariant::fromValue(Qt::NoDirection));
-}
/*!
- Destroys the QPannableGesture object.
-*/
-QPannableGesture::~QPannableGesture()
-{
-}
+ \property QPannableGesture::lastDirection
-/*!
- Returns the last recorded direction of panning.
+ \brief The last recorded direction of panning.
*/
Qt::DirectionType QPannableGesture::lastDirection() const
{
@@ -235,7 +242,9 @@ Qt::DirectionType QPannableGesture::lastDirection() const
}
/*!
- Returns the current direction of panning.
+ \property QPannableGesture::direction
+
+ \brief The current direction of panning.
*/
Qt::DirectionType QPannableGesture::direction() const
{
diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index b2999d7..4e692be 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -107,13 +107,10 @@ class Q_GUI_EXPORT QPannableGesture : public QGesture
Q_OBJECT
Q_DECLARE_PRIVATE(QPannableGesture)
-public:
- QPannableGesture(QObject *parent, const QPoint &startPos,
- const QPoint &lastPos, const QPoint &pos, const QRect &rect,
- const QPoint &hotSpot, const QDateTime &startTime,
- uint duration, Qt::GestureState state);
- ~QPannableGesture();
+ Q_PROPERTY(Qt::DirectionType lastDirection READ lastDirection)
+ Q_PROPERTY(Qt::DirectionType direction READ direction)
+public:
Qt::DirectionType lastDirection() const;
Qt::DirectionType direction() const;
};
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index d37f360..9c0c404 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -11032,7 +11032,7 @@ QWindowSurface *QWidget::windowSurface() const
Returns the id of the gesture.
- \sa grabGesture(), releaseGesture(), setGestureEnabled()
+ \sa releaseGesture(), setGestureEnabled()
*/
int QWidget::grabGesture(const QString &gesture)
{
@@ -11055,7 +11055,7 @@ int QWidgetPrivate::grabGesture(int id)
Returns the id of the gesture.
- \sa grabGesture(), releaseGesture(), setGestureEnabled()
+ \sa releaseGesture(), setGestureEnabled()
*/
int QWidget::grabGesture(Qt::GestureType gesture)
{
@@ -11066,7 +11066,7 @@ int QWidget::grabGesture(Qt::GestureType gesture)
Unsubscribes the widget from a gesture, which is specified by the
\a gestureId.
- \sa grabGesture(),setGestureEnabled()
+ \sa grabGesture(), setGestureEnabled()
*/
void QWidget::releaseGesture(int gestureId)
{
@@ -11087,7 +11087,7 @@ void QWidget::releaseGesture(int gestureId)
\sa grabGesture(), releaseGesture()
*/
-void setGestureEnabled(int gestureId, bool enable)
+void QWidget::setGestureEnabled(int gestureId, bool enable)
{
//###
}