![]() |
Qt 6.x
The Qt SDK
|
#include <qquicksinglepointhandler_p.h>
Signals | |
void | pointChanged () |
![]() | |
void | acceptedDevicesChanged () |
void | acceptedPointerTypesChanged () |
void | acceptedButtonsChanged () |
void | acceptedModifiersChanged () |
![]() | |
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() | |
![]() | |
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 \instantiates QQuickSinglePointHandler \inherits PointerDeviceHandler \inqmlmodule QtQuick | |
QQuickHandlerPoint | point () const |
![]() | |
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 |
![]() | |
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 | |
QQuickItem * | target () const |
\qmlproperty Item QtQuick::PointerHandler::target | |
void | setTarget (QQuickItem *target) |
QQuickItem * | parentItem () 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 () |
![]() | |
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 | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
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< QString > | bindableObjectName () |
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). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
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::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), 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 (const QString &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 > | |
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 QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () 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 . | |
![]() | |
QQmlParserStatus () | |
virtual | ~QQmlParserStatus () |
virtual void | classBegin ()=0 |
Invoked after class creation, but before any properties have been set. | |
virtual void | componentComplete ()=0 |
Invoked after the root component that caused this instantiation has completed construction. | |
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: | |
virtual void | handleEventPoint (QPointerEvent *event, QEventPoint &point) |
QEventPoint & | currentPoint (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) |
![]() | |
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. | |
![]() | |
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 |
QPointerEvent * | currentEvent () |
virtual bool | wantsPointerEvent (QPointerEvent *event) |
It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check. | |
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. | |
virtual void | handlePointerEventImpl (QPointerEvent *event) |
This function can be overridden to implement whatever behavior a specific subclass is intended to have: | |
void | setActive (bool active) |
virtual void | onTargetChanged (QQuickItem *oldTarget) |
virtual void | onActiveChanged () |
virtual void | onGrabChanged (QQuickPointerHandler *grabber, QPointingDevice::GrabTransition transition, QPointerEvent *event, QEventPoint &point) |
Notification that the grab has changed in some way which is relevant to this handler. | |
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(). | |
![]() | |
QObject * | sender () 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 |
![]() | |
QInputDevice::DeviceTypes | acceptedDevices |
QPointingDevice::PointerTypes | acceptedPointerTypes |
Qt::MouseButtons | acceptedButtons |
Qt::KeyboardModifiers | acceptedModifiers |
![]() | |
bool | enabled |
bool | active |
QQuickItem * | target |
QQuickItem * | parent |
GrabPermissions | grabPermissions |
qreal | margin |
int | dragThreshold |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
enum | GrabPermission { TakeOverForbidden = 0x0 , CanTakeOverFromHandlersOfSameType = 0x01 , CanTakeOverFromHandlersOfDifferentType = 0x02 , CanTakeOverFromItems = 0x04 , CanTakeOverFromAnything = 0x0F , ApprovesTakeOverByHandlersOfSameType = 0x10 , ApprovesTakeOverByHandlersOfDifferentType = 0x20 , ApprovesTakeOverByItems = 0x40 , ApprovesCancellation = 0x80 , ApprovesTakeOverByAnything = 0xF0 } |
![]() | |
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 | |
![]() | |
void | deleteLater () |
\threadsafe | |
![]() | |
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) |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
Definition at line 25 of file qquicksinglepointhandler_p.h.
|
explicit |
\qmltype SinglePointHandler \qmlabstract \preliminary \instantiates 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 26 of file qquicksinglepointhandler.cpp.
|
protected |
Definition at line 31 of file qquicksinglepointhandler.cpp.
|
protected |
|
protectedvirtual |
Reimplemented in QQuickHoverHandler, QQuickPointHandler, QQuickTapHandler, QQuickWheelHandler, QQuickTableViewHoverHandler, and QQuickTableViewResizeHandler.
Definition at line 118 of file qquicksinglepointhandler.cpp.
References QQuickPointerDeviceHandler::acceptedButtons, Qt::NoButton, point, QEventPoint::Released, and QQuickPointerHandler::setExclusiveGrab().
Referenced by QQuickPointHandler::handleEventPoint(), QQuickTapHandler::handleEventPoint(), QQuickWheelHandler::handleEventPoint(), and handlePointerEventImpl().
|
overrideprotectedvirtual |
This function can be overridden to implement whatever behavior a specific subclass is intended to have:
true
Reimplemented from QQuickPointerHandler.
Definition at line 107 of file qquicksinglepointhandler.cpp.
References currentPoint(), d, emit, handleEventPoint(), QQuickPointerHandler::handlePointerEventImpl(), pointChanged(), and Q_ASSERT.
|
protected |
Definition at line 164 of file qquicksinglepointhandler.cpp.
References d, QQuickItem::mapFromScene(), point, pos, QQuickHandlerPoint::scenePosition, QQuickItem::setPosition(), and QQuickPointerHandler::target.
|
overrideprotectedvirtual |
Notification that the grab has changed in some way which is relevant to this handler.
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.
undefined
, if you read the value it will return Qt.ArrowCursor
.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 QQuickTapHandler, and QQuickTableViewResizeHandler.
Definition at line 130 of file qquicksinglepointhandler.cpp.
References QPointingDevice::CancelGrabExclusive, QPointingDevice::CancelGrabPassive, d, QPointingDevice::GrabExclusive, QPointingDevice::GrabPassive, QQuickPointerHandler::onGrabChanged(), QPointingDevice::OverrideGrabPassive, point, QQuickHandlerPoint::sceneGrabPosition, QQuickPointerHandler::setActive(), QPointingDevice::UngrabExclusive, and QPointingDevice::UngrabPassive.
Referenced by QQuickTapHandler::onGrabChanged(), and QQuickTableViewResizeHandler::onGrabChanged().
QQuickHandlerPoint QQuickSinglePointHandler::point | ( | ) | const |
Definition at line 178 of file qquicksinglepointhandler.cpp.
References d.
|
signal |
|
protected |
Definition at line 158 of file qquicksinglepointhandler.cpp.
References d.
Referenced by QQuickPointHandler::QQuickPointHandler().
|
protected |
Definition at line 172 of file qquicksinglepointhandler.cpp.
References d.
Referenced by QQuickHoverHandler::wantsPointerEvent(), wantsPointerEvent(), and QQuickWheelHandler::wantsPointerEvent().
|
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.
Reimplemented from QQuickPointerDeviceHandler.
Reimplemented in QQuickWheelHandler.
Definition at line 36 of file qquicksinglepointhandler.cpp.
References QQuickPointerHandler::cancelAllGrabs(), d, Qt::hex(), i, QEventPoint::id, QQuickHandlerPoint::id, point, qCDebug, qCWarning, QEventPoint::setAccepted(), setPointId(), QEvent::TouchBegin, QQuickPointerHandler::wantsEventPoint(), and QQuickPointerDeviceHandler::wantsPointerEvent().
|
read |
Definition at line 57 of file qquicksinglepointhandler_p.h.
Referenced by QQuickSelectionRectanglePrivate::QQuickSelectionRectanglePrivate(), QQuickHoverHandler::handleEventPoint(), handleEventPoint(), QQuickPointHandler::handleEventPoint(), QQuickTapHandler::handleEventPoint(), QQuickWheelHandler::handleEventPoint(), QQuickTableViewHoverHandler::handleEventPoint(), QQuickTableViewResizeHandler::handleEventPoint(), moveTarget(), QQuickTapHandler::onGrabChanged(), QQuickTableViewResizeHandler::onGrabChanged(), onGrabChanged(), QQuickPointHandler::translation(), QQuickTableViewResizeHandler::updateDrag(), QQuickTableViewResizeHandler::updateState(), QQuickPointHandler::wantsEventPoint(), QQuickTapHandler::wantsEventPoint(), QQuickTableViewResizeHandler::wantsEventPoint(), QQuickTableViewTapHandler::wantsEventPoint(), QQuickHoverHandler::wantsPointerEvent(), wantsPointerEvent(), and QQuickWheelHandler::wantsPointerEvent().