Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQuickDragHandler Class Reference

#include <qquickdraghandler_p.h>

+ Inheritance diagram for QQuickDragHandler:
+ Collaboration diagram for QQuickDragHandler:

Public Types

enum  SnapMode { NoSnap = 0 , SnapAuto , SnapIfPressedOutsideTarget , SnapAlways }
 
- Public Types inherited from QQuickPointerHandler
enum  GrabPermission {
  TakeOverForbidden = 0x0 , CanTakeOverFromHandlersOfSameType = 0x01 , CanTakeOverFromHandlersOfDifferentType = 0x02 , CanTakeOverFromItems = 0x04 ,
  CanTakeOverFromAnything = 0x0F , ApprovesTakeOverByHandlersOfSameType = 0x10 , ApprovesTakeOverByHandlersOfDifferentType = 0x20 , ApprovesTakeOverByItems = 0x40 ,
  ApprovesCancellation = 0x80 , ApprovesTakeOverByAnything = 0xF0
}
 

Signals

void translationChanged (QVector2D delta)
 
 Q_REVISION (2, 14) void snapModeChanged()
 
- Signals inherited from QQuickMultiPointHandler
void minimumPointCountChanged ()
 
void maximumPointCountChanged ()
 
void centroidChanged ()
 
- Signals inherited from QQuickPointerDeviceHandler
void acceptedDevicesChanged ()
 
void acceptedPointerTypesChanged ()
 
void acceptedButtonsChanged ()
 
void acceptedModifiersChanged ()
 
- Signals inherited from QQuickPointerHandler
void enabledChanged ()
 
void activeChanged ()
 
void targetChanged ()
 
void marginChanged ()
 
 Q_REVISION (2, 15) void dragThresholdChanged()
 
void grabChanged (QPointingDevice::GrabTransition transition, QEventPoint point)
 
void grabPermissionChanged ()
 
void canceled (QEventPoint point)
 
 Q_REVISION (6, 3) void parentChanged()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQuickDragHandler (QQuickItem *parent=nullptr)
 \qmltype DragHandler \instantiates QQuickDragHandler \inherits MultiPointHandler \inqmlmodule QtQuick
 
void handlePointerEventImpl (QPointerEvent *event) override
 This function can be overridden to implement whatever behavior a specific subclass is intended to have: \list.
 
QQuickDragAxisxAxis ()
 
QQuickDragAxisyAxis ()
 
QVector2D activeTranslation () const
 
void setActiveTranslation (const QVector2D &trans)
 
QVector2D persistentTranslation () const
 
void setPersistentTranslation (const QVector2D &trans)
 
QQuickDragHandler::SnapMode snapMode () const
 \qmlproperty enumeration QtQuick::DragHandler::snapMode
 
void setSnapMode (QQuickDragHandler::SnapMode mode)
 
- Public Member Functions inherited from QQuickMultiPointHandler
 QQuickMultiPointHandler (QQuickItem *parent=nullptr, int minimumPointCount=2, int maximumPointCount=-1)
 \qmltype MultiPointHandler
 
int minimumPointCount () const
 \qmlproperty int MultiPointHandler::minimumPointCount
 
void setMinimumPointCount (int c)
 
int maximumPointCount () const
 \qmlproperty int MultiPointHandler::maximumPointCount
 
void setMaximumPointCount (int maximumPointCount)
 
const QQuickHandlerPointcentroid () const
 \readonly \qmlproperty QtQuick::handlerPoint QtQuick::MultiPointHandler::centroid
 
- Public Member Functions inherited from QQuickPointerDeviceHandler
 QQuickPointerDeviceHandler (QQuickItem *parent=nullptr)
 \qmltype PointerDeviceHandler \qmlabstract
 
QInputDevice::DeviceTypes acceptedDevices () const
 
QPointingDevice::PointerTypes acceptedPointerTypes () const
 
Qt::MouseButtons acceptedButtons () const
 \qmlproperty flags QtQuick::PointerDeviceHandler::acceptedButtons
 
Qt::KeyboardModifiers acceptedModifiers () const
 
- Public Member Functions inherited from QQuickPointerHandler
 QQuickPointerHandler (QQuickItem *parent=nullptr)
 \qmltype PointerHandler \qmlabstract
 
 ~QQuickPointerHandler ()
 
bool enabled () const
 \qmlproperty bool QtQuick::PointerHandler::enabled
 
void setEnabled (bool enabled)
 
bool active () const
 \readonly \qmlproperty bool QtQuick::PointerHandler::active
 
QQuickItemtarget () const
 \qmlproperty Item QtQuick::PointerHandler::target
 
void setTarget (QQuickItem *target)
 
QQuickItemparentItem () const
 \qmlproperty Item QtQuick::PointerHandler::parent
 
void setParentItem (QQuickItem *p)
 
void handlePointerEvent (QPointerEvent *event)
 
GrabPermissions grabPermissions () const
 \qmlproperty flags QtQuick::PointerHandler::grabPermissions
 
void setGrabPermissions (GrabPermissions grabPermissions)
 
qreal margin () const
 \qmlproperty real PointerHandler::margin
 
void setMargin (qreal pointDistanceThreshold)
 
int dragThreshold () const
 \qmlproperty int PointerHandler::dragThreshold
 
void setDragThreshold (int t)
 
void resetDragThreshold ()
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 
- Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
 
virtual ~QQmlParserStatus ()
 

Protected Member Functions

bool wantsPointerEvent (QPointerEvent *event) override
 It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check.
 
void onActiveChanged () override
 
void onGrabChanged (QQuickPointerHandler *grabber, QPointingDevice::GrabTransition transition, QPointerEvent *event, QEventPoint &point) override
 Notification that the grab has changed in some way which is relevant to this handler.
 
- Protected Member Functions inherited from QQuickMultiPointHandler
bool wantsPointerEvent (QPointerEvent *event) override
 It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check.
 
void handlePointerEventImpl (QPointerEvent *event) override
 This function can be overridden to implement whatever behavior a specific subclass is intended to have: \list.
 
void onActiveChanged () override
 
void onGrabChanged (QQuickPointerHandler *grabber, QPointingDevice::GrabTransition transition, QPointerEvent *event, QEventPoint &point) override
 Notification that the grab has changed in some way which is relevant to this handler.
 
QList< QQuickHandlerPoint > & currentPoints ()
 
QQuickHandlerPointmutableCentroid ()
 Returns a modifiable reference to the point that will be returned by the \l centroid property.
 
bool hasCurrentPoints (QPointerEvent *event)
 
QVector< QEventPointeligiblePoints (QPointerEvent *event)
 
qreal averageTouchPointDistance (const QPointF &ref)
 
qreal averageStartingDistance (const QPointF &ref)
 
qreal averageTouchPointAngle (const QPointF &ref)
 
qreal averageStartingAngle (const QPointF &ref)
 
QVector< PointDataangles (const QPointF &ref) const
 
void acceptPoints (const QVector< QEventPoint > &points)
 
bool grabPoints (QPointerEvent *event, const QVector< QEventPoint > &points)
 
void moveTarget (QPointF pos)
 
- Protected Member Functions inherited from QQuickPointerDeviceHandler
 QQuickPointerDeviceHandler (QQuickPointerDeviceHandlerPrivate &dd, QQuickItem *parent=nullptr)
 
bool wantsPointerEvent (QPointerEvent *event) override
 It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check.
 
- Protected Member Functions inherited from QQuickPointerHandler
 QQuickPointerHandler (QQuickPointerHandlerPrivate &dd, QQuickItem *parent)
 
void classBegin () override
 Overridden only because QQmlParserStatus requires it.
 
void componentComplete () override
 Overridden from QQmlParserStatus to ensure that parentItem() sets its cursor if this handler's \l cursorShape property has been set.
 
bool event (QEvent *) override
 
QPointerEventcurrentEvent ()
 
virtual bool wantsEventPoint (const QPointerEvent *event, const QEventPoint &point)
 Returns true if the given point (as part of event) could be relevant at all to this handler, as a preliminary check.
 
void setActive (bool active)
 
virtual void onTargetChanged (QQuickItem *oldTarget)
 
virtual bool canGrab (QPointerEvent *event, const QEventPoint &point)
 Check whether it's OK to take an exclusive grab of the point.
 
virtual bool approveGrabTransition (QPointerEvent *event, const QEventPoint &point, QObject *proposedGrabber)
 Check this handler's rules to see if \l proposedGrabber will be allowed to take the exclusive grab.
 
void setPassiveGrab (QPointerEvent *event, const QEventPoint &point, bool grab=true)
 Acquire or give up a passive grab of the given point, according to the grab state.
 
bool setExclusiveGrab (QPointerEvent *ev, const QEventPoint &point, bool grab=true)
 Acquire or give up the exclusive grab of the given point, according to the grab state, and subject to the rules: canGrab(), and the rule not to relinquish another handler's grab.
 
void cancelAllGrabs (QPointerEvent *event, QEventPoint &point)
 Cancel any existing grab of the given point.
 
QPointF eventPos (const QEventPoint &point) const
 
bool parentContains (const QEventPoint &point) const
 Returns true if margin() > 0 and point is within the margin beyond QQuickItem::boundingRect(), or else returns QQuickItem::contains() QEventPoint::position() effectively (because parentContains(scenePosition) calls QQuickItem::mapFromScene()).
 
bool parentContains (const QPointF &scenePosition) const
 Returns true if scenePosition is within the margin() beyond QQuickItem::boundingRect() (if margin > 0), or parentItem() contains scenePosition according to QQuickItem::contains().
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Properties

QQuickDragAxisxAxis
 
QQuickDragAxisyAxis
 
QVector2D activeTranslation
 
QVector2D persistentTranslation
 
SnapMode snapMode
 
- Properties inherited from QQuickMultiPointHandler
int minimumPointCount
 
int maximumPointCount
 
QQuickHandlerPoint centroid
 
- Properties inherited from QQuickPointerDeviceHandler
QInputDevice::DeviceTypes acceptedDevices
 
QPointingDevice::PointerTypes acceptedPointerTypes
 
Qt::MouseButtons acceptedButtons
 
Qt::KeyboardModifiers acceptedModifiers
 
- Properties inherited from QQuickPointerHandler
bool enabled
 
bool active
 
QQuickItemtarget
 
QQuickItemparent
 
GrabPermissions grabPermissions
 
qreal margin
 
int dragThreshold
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Friends

class QQuickDragAxis
 

Additional Inherited Members

- Public Slots inherited from QQuickPointerDeviceHandler
void setAcceptedDevices (QInputDevice::DeviceTypes acceptedDevices)
 \qmlproperty flags PointerDeviceHandler::acceptedDevices
 
void setAcceptedPointerTypes (QPointingDevice::PointerTypes acceptedPointerTypes)
 \qmlproperty flags PointerDeviceHandler::acceptedPointerTypes
 
void setAcceptedButtons (Qt::MouseButtons buttons)
 
void setAcceptedModifiers (Qt::KeyboardModifiers acceptedModifiers)
 \qmlproperty flags PointerDeviceHandler::acceptedModifiers
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Static Protected Member Functions inherited from QQuickMultiPointHandler
static qreal averageAngleDelta (const QVector< PointData > &old, const QVector< PointData > &newAngles)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Definition at line 25 of file qquickdraghandler_p.h.

Member Enumeration Documentation

◆ SnapMode

Enumerator
NoSnap 
SnapAuto 
SnapIfPressedOutsideTarget 
SnapAlways 

Definition at line 40 of file qquickdraghandler_p.h.

Constructor & Destructor Documentation

◆ QQuickDragHandler()

QQuickDragHandler::QQuickDragHandler ( QQuickItem * parent = nullptr)
explicit

\qmltype DragHandler \instantiates QQuickDragHandler \inherits MultiPointHandler \inqmlmodule QtQuick

Handler for dragging.

DragHandler is a handler that is used to interactively move an Item. Like other Input Handlers, by default it is fully functional, and manipulates its \l {PointerHandler::target} {target}.

import QtQuick
Rectangle {
width: 100
height: 100
color: "lightsteelblue"
DragHandler { }
}

It has properties to restrict the range of dragging.

If it is declared within one Item but is assigned a different \l {PointerHandler::target} {target}, then it handles events within the bounds of the \l {PointerHandler::parent} {parent} Item but manipulates the target Item instead:

import QtQuick
Item {
width: 640
height: 480
Rectangle {
id: feedback
border.color: "red"
width: Math.max(10, handler.centroid.ellipseDiameters.width)
height: Math.max(10, handler.centroid.ellipseDiameters.height)
radius: Math.max(width, height) / 2
visible: handler.active
}
DragHandler {
id: handler
target: feedback
}
}

A third way to use it is to set \l {PointerHandler::target} {target} to null and react to property changes in some other way:

import QtQuick
Item {
width: 640
height: 480
DragHandler {
id: handler
target: null
}
Text {
color: handler.active ? "darkgreen" : "black"
text: handler.centroid.position.x.toFixed(1) + "," + handler.centroid.position.y.toFixed(1)
x: handler.centroid.position.x - width / 2
y: handler.centroid.position.y - height
}
}

If minimumPointCount and maximumPointCount are set to values larger than 1, the user will need to drag that many fingers in the same direction to start dragging. A multi-finger drag gesture can be detected independently of both a (default) single-finger DragHandler and a PinchHandler on the same Item, and thus can be used to adjust some other feature independently of the usual pinch behavior: for example adjust a tilt transformation, or adjust some other numeric value, if the target is set to null. But if the target is an Item, centroid is the point at which the drag begins and to which the target will be moved (subject to constraints).

At this time, drag-and-drop is not yet supported.

See also
Drag, MouseArea, {Qt Quick Examples - Pointer Handlers}

Definition at line 58 of file qquickdraghandler.cpp.

Member Function Documentation

◆ activeTranslation()

QVector2D QQuickDragHandler::activeTranslation ( ) const
inline

Definition at line 58 of file qquickdraghandler_p.h.

◆ handlePointerEventImpl()

void QQuickDragHandler::handlePointerEventImpl ( QPointerEvent * event)
overridevirtual

This function can be overridden to implement whatever behavior a specific subclass is intended to have: \list.

Reimplemented from QQuickPointerHandler.

Definition at line 164 of file qquickdraghandler.cpp.

References QQuickPointerHandler::active, QQuickMultiPointHandler::centroid, QQuickItem::contains(), QQuickMultiPointHandler::currentPoints(), DragAngleToleranceDegrees, QQuickDragAxis::enabled, QQuickMultiPointHandler::grabPoints(), QQuickMultiPointHandler::handlePointerEventImpl(), QTouchEvent::isEndEvent(), QQuickDeliveryAgentPrivate::isMouseEvent(), QQuickDeliveryAgentPrivate::isTouchEvent(), M_PI, QQuickItem::mapFromItem(), QQuickItem::mapFromScene(), QQuickMultiPointHandler::moveTarget(), QQuickPointerHandler::parentItem(), QQuickItem::parentItem(), pos, QQuickItem::position(), Q_ASSERT, qAbs(), qCDebug, qMax(), qMin(), QEventPoint::Released, QQuickPointerHandler::setActive(), setActiveTranslation(), QQuickPointerHandler::setPassiveGrab(), QPointF::setX(), QList< T >::size(), QQuickPointerHandler::target, QQuickItem::transformOriginPoint, and QQuickMultiPointHandler::wantsPointerEvent().

+ Here is the call graph for this function:

◆ onActiveChanged()

void QQuickDragHandler::onActiveChanged ( )
overrideprotectedvirtual

◆ onGrabChanged()

void QQuickDragHandler::onGrabChanged ( QQuickPointerHandler * grabber,
QPointingDevice::GrabTransition transition,
QPointerEvent * event,
QEventPoint & point )
overrideprotectedvirtual

Notification that the grab has changed in some way which is relevant to this handler.

Since
5.15 \qmlproperty Qt::CursorShape PointerHandler::cursorShape This property holds the cursor shape that will appear whenever the mouse is hovering over the \l parent item while \l active is true.

The available cursor shapes are: \list

The default value is not set, which allows the \l {QQuickItem::cursor()}{cursor} of \l parent item to appear. This property can be reset to the same initial condition by setting it to undefined.

Note
When this property has not been set, or has been set to undefined, if you read the value it will return Qt.ArrowCursor.
See also
Qt::CursorShape, QQuickItem::cursor(), HoverHandler::cursorShape

The grabber (subject) will be the Input Handler whose state is changing, or null if the state change regards an Item. The transition (verb) tells what happened. The point (object) is the \l eventPoint that was grabbed or ungrabbed. QQuickDeliveryAgent calls this function. The Input Handler must react in whatever way is appropriate, and must emit the relevant signals (for the benefit of QML code). A subclass is allowed to override this virtual function, but must always call its parent class's implementation in addition to (usually after) whatever custom behavior it implements.

Reimplemented from QQuickPointerHandler.

Definition at line 73 of file qquickdraghandler.cpp.

References QPointingDevice::GrabExclusive, QQuickItem::isAncestorOf(), QPointF::isNull(), QQuickMultiPointHandler::onGrabChanged(), QQuickPointerHandler::parent, QQuickPointerHandler::parentItem(), SnapAlways, SnapAuto, SnapIfPressedOutsideTarget, and QQuickPointerHandler::target.

+ Here is the call graph for this function:

◆ persistentTranslation()

QVector2D QQuickDragHandler::persistentTranslation ( ) const
inline

Definition at line 60 of file qquickdraghandler_p.h.

◆ Q_REVISION

QQuickDragHandler::Q_REVISION ( 2 ,
14  )
signal

◆ setActiveTranslation()

void QQuickDragHandler::setActiveTranslation ( const QVector2D & trans)

Definition at line 287 of file qquickdraghandler.cpp.

References activeTranslation, emit, persistentTranslation, QQuickDragAxis::persistentValue(), qCDebug, translationChanged(), QQuickDragAxis::updateValue(), QVector2D::x(), and QVector2D::y().

Referenced by handlePointerEventImpl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPersistentTranslation()

void QQuickDragHandler::setPersistentTranslation ( const QVector2D & trans)

Definition at line 277 of file qquickdraghandler.cpp.

References QQuickDragAxis::activeValue, emit, persistentTranslation, translationChanged(), QQuickDragAxis::updateValue(), QVector2D::x(), and QVector2D::y().

+ Here is the call graph for this function:

◆ setSnapMode()

void QQuickDragHandler::setSnapMode ( QQuickDragHandler::SnapMode mode)

Definition at line 112 of file qquickdraghandler.cpp.

References emit.

◆ snapMode()

QQuickDragHandler::SnapMode QQuickDragHandler::snapMode ( ) const

\qmlproperty enumeration QtQuick::DragHandler::snapMode

This property holds the snap mode.

The snap mode configures snapping of the \l target item's center to the \l eventPoint.

Possible values: \value DragHandler.SnapNever Never snap \value DragHandler.SnapAuto The \l target snaps if the \l eventPoint was pressed outside of the \l target item and the \l target is a descendant of \l {PointerHandler::}{parent} item (default) \value DragHandler.SnapWhenPressedOutsideTarget The \l target snaps if the \l eventPoint was pressed outside of the \l target \value DragHandler.SnapAlways Always snap

Definition at line 107 of file qquickdraghandler.cpp.

◆ translationChanged

void QQuickDragHandler::translationChanged ( QVector2D delta)
signal

Referenced by setActiveTranslation(), and setPersistentTranslation().

+ Here is the caller graph for this function:

◆ wantsPointerEvent()

bool QQuickDragHandler::wantsPointerEvent ( QPointerEvent * event)
overrideprotectedvirtual

It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check.

Returns true if this handler would like handlePointerEventImpl() to be called. If it returns false, the handler will be deactivated: setActive(false) will be called, and any remaining exclusive grab will be relinquished, as a fail-safe.

If you override this function, you should call the immediate parent class implementation (and return false if it returns false); that in turn calls its parent class implementation, and so on. QQuickSinglePointHandler::wantsPointerEvent() and QQuickMultiPointHandler::wantsPointerEvent() call wantsEventPoint(), which is also virtual. You usually can get the behavior you want by subclassing the appropriate handler type, overriding QQuickSinglePointHandler::handleEventPoint() or handlePointerEventImpl(), and perhaps overriding wantsEventPoint() if needed.

See also
wantsEventPoint(), QQuickPointerDeviceHandler::wantsPointerEvent(), QQuickMultiPointHandler::wantsPointerEvent(), QQuickSinglePointHandler::wantsPointerEvent()

Reimplemented from QQuickPointerHandler.

Definition at line 145 of file qquickdraghandler.cpp.

References QQuickPointerHandler::active, QEvent::NativeGesture, and QQuickMultiPointHandler::wantsPointerEvent().

+ Here is the call graph for this function:

◆ xAxis()

QQuickDragAxis * QQuickDragHandler::xAxis ( )
inline

Definition at line 52 of file qquickdraghandler_p.h.

◆ yAxis()

QQuickDragAxis * QQuickDragHandler::yAxis ( )
inline

Definition at line 53 of file qquickdraghandler_p.h.

Friends And Related Symbol Documentation

◆ QQuickDragAxis

friend class QQuickDragAxis
friend

Definition at line 89 of file qquickdraghandler_p.h.

Property Documentation

◆ activeTranslation

QVector2D QQuickDragHandler::activeTranslation
read

Definition at line 33 of file qquickdraghandler_p.h.

Referenced by setActiveTranslation().

◆ persistentTranslation

QVector2D QQuickDragHandler::persistentTranslation
readwrite

Definition at line 34 of file qquickdraghandler_p.h.

Referenced by setActiveTranslation(), and setPersistentTranslation().

◆ snapMode

SnapMode QQuickDragHandler::snapMode
readwrite

Definition at line 35 of file qquickdraghandler_p.h.

◆ xAxis

QQuickDragAxis * QQuickDragHandler::xAxis
read

Definition at line 28 of file qquickdraghandler_p.h.

◆ yAxis

QQuickDragAxis * QQuickDragHandler::yAxis
read

Definition at line 29 of file qquickdraghandler_p.h.


The documentation for this class was generated from the following files: