Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QQuickSinglePointHandler Class Reference

#include <qquicksinglepointhandler_p.h>

Inheritance diagram for QQuickSinglePointHandler:
Collaboration diagram for QQuickSinglePointHandler:

Signals

void pointChanged ()
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

 QQuickSinglePointHandler (QQuickItem *parent=nullptr)
 \qmltype SinglePointHandler \qmlabstract \preliminary \nativetype QQuickSinglePointHandler \inherits PointerDeviceHandler \inqmlmodule QtQuick
QQuickHandlerPoint point () const
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 isQmlObjectType () const
 Returns whether the object has been created by the QML engine or ownership has been explicitly set via QJSEngine::setObjectOwnership().
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

 QQuickSinglePointHandler (QQuickSinglePointHandlerPrivate &dd, QQuickItem *parent)
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.
virtual void handleEventPoint (QPointerEvent *event, QEventPoint &point)
QEventPointcurrentPoint (QPointerEvent *ev)
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.
void setIgnoreAdditionalPoints (bool v=true)
void moveTarget (QPointF pos, QEventPoint &point)
void setPointId (int id)
Protected Member Functions inherited from QQuickPointerDeviceHandler
 QQuickPointerDeviceHandler (QQuickPointerDeviceHandlerPrivate &dd, QQuickItem *parent=nullptr)
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, and that this handler is added to the parent item.
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 void onActiveChanged ()
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

QQuickHandlerPoint point
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

Additional Inherited Members

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
}
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)
Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr

Detailed Description

Definition at line 26 of file qquicksinglepointhandler_p.h.

Constructor & Destructor Documentation

◆ QQuickSinglePointHandler() [1/2]

QT_BEGIN_NAMESPACE QQuickSinglePointHandler::QQuickSinglePointHandler ( QQuickItem * parent = nullptr)
explicit

\qmltype SinglePointHandler \qmlabstract \preliminary \nativetype QQuickSinglePointHandler \inherits PointerDeviceHandler \inqmlmodule QtQuick

Abstract handler for single-point Pointer Events.

An intermediate class (not registered as a QML type) for the most common handlers: those which expect only a single point. wantsPointerEvent() will choose the first point which is inside the \l target item, and return true as long as the event contains that point. Override handleEventPoint() to implement a single-point handler.

Definition at line 29 of file qquicksinglepointhandler.cpp.

◆ QQuickSinglePointHandler() [2/2]

QQuickSinglePointHandler::QQuickSinglePointHandler ( QQuickSinglePointHandlerPrivate & dd,
QQuickItem * parent )
protected

Definition at line 34 of file qquicksinglepointhandler.cpp.

Member Function Documentation

◆ currentPoint()

QEventPoint & QQuickSinglePointHandler::currentPoint ( QPointerEvent * ev)
protected

◆ handleEventPoint()

void QQuickSinglePointHandler::handleEventPoint ( QPointerEvent * event,
QEventPoint & point )
protectedvirtual

◆ handlePointerEventImpl()

void QQuickSinglePointHandler::handlePointerEventImpl ( QPointerEvent * event)
overrideprotectedvirtual

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

Reimplemented from QQuickPointerHandler.

Definition at line 110 of file qquicksinglepointhandler.cpp.

◆ moveTarget()

void QQuickSinglePointHandler::moveTarget ( QPointF pos,
QEventPoint & point )
protected

Definition at line 173 of file qquicksinglepointhandler.cpp.

◆ onGrabChanged()

void QQuickSinglePointHandler::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.

Reimplemented in QQuickTableViewResizeHandler, and QQuickTapHandler.

Definition at line 139 of file qquicksinglepointhandler.cpp.

◆ point()

QQuickHandlerPoint QQuickSinglePointHandler::point ( ) const

Definition at line 187 of file qquicksinglepointhandler.cpp.

◆ pointChanged

void QQuickSinglePointHandler::pointChanged ( )
signal

◆ setIgnoreAdditionalPoints()

void QQuickSinglePointHandler::setIgnoreAdditionalPoints ( bool v = true)
protected

Definition at line 167 of file qquicksinglepointhandler.cpp.

◆ setPointId()

void QQuickSinglePointHandler::setPointId ( int id)
protected

Definition at line 181 of file qquicksinglepointhandler.cpp.

◆ wantsPointerEvent()

bool QQuickSinglePointHandler::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 QQuickPointerDeviceHandler.

Reimplemented in QQuickWheelHandler.

Definition at line 39 of file qquicksinglepointhandler.cpp.

Property Documentation

◆ point

QQuickHandlerPoint QQuickSinglePointHandler::point
read

Definition at line 29 of file qquicksinglepointhandler_p.h.


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