![]() |
Qt 6.x
The Qt SDK
|
#include <qquicktableview_p_p.h>
Public Types | |
enum | State { Listening , Tracking , DraggingStarted , Dragging , DraggingFinished } |
![]() | |
enum | GrabPermission { TakeOverForbidden = 0x0 , CanTakeOverFromHandlersOfSameType = 0x01 , CanTakeOverFromHandlersOfDifferentType = 0x02 , CanTakeOverFromItems = 0x04 , CanTakeOverFromAnything = 0x0F , ApprovesTakeOverByHandlersOfSameType = 0x10 , ApprovesTakeOverByHandlersOfDifferentType = 0x20 , ApprovesTakeOverByItems = 0x40 , ApprovesCancellation = 0x80 , ApprovesTakeOverByAnything = 0xF0 } |
Public Member Functions | |
QQuickTableViewResizeHandler (QQuickTableView *view) | |
State | state () |
void | updateState (QEventPoint &point) |
void | updateDrag (QPointerEvent *event, QEventPoint &point) |
![]() | |
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. | |
Public Attributes | |
State | m_state = Listening |
int | m_row = -1 |
qreal | m_rowStartY = -1 |
qreal | m_rowStartHeight = -1 |
int | m_column = -1 |
qreal | m_columnStartX = -1 |
qreal | m_columnStartWidth = -1 |
Protected Member Functions | |
bool | wantsEventPoint (const QPointerEvent *event, const QEventPoint &point) override |
Returns true if the given point (as part of event) could be relevant at all to this handler, as a preliminary check. | |
void | handleEventPoint (QPointerEvent *event, QEventPoint &point) override |
void | onGrabChanged (QQuickPointerHandler *grabber, QPointingDevice::GrabTransition transition, QPointerEvent *ev, QEventPoint &point) override |
Notification that the grab has changed in some way which is relevant to this handler. | |
![]() | |
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) | |
Friends | |
class | QQuickTableViewPrivate |
Additional Inherited Members | |
![]() | |
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 | |
![]() | |
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. | |
![]() | |
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 |
![]() | |
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 | |
![]() | |
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) | |
TableView uses QQuickTableViewResizeHandler to enable the user to resize rows and columns. By using a custom pointer handler, we can get away with using a single pointer handler for the whole content item, rather than e.g having to split it up into multiple items with drag handlers placed between the cells.
Definition at line 77 of file qquicktableview_p_p.h.
Enumerator | |
---|---|
Listening | |
Tracking | |
DraggingStarted | |
Dragging | |
DraggingFinished |
Definition at line 80 of file qquicktableview_p_p.h.
QQuickTableViewResizeHandler::QQuickTableViewResizeHandler | ( | QQuickTableView * | view | ) |
Definition at line 6580 of file qquicktableview.cpp.
References QQuickPointerHandler::CanTakeOverFromAnything, QQuickPointerHandler::setGrabPermissions(), QQuickPointerHandler::setMargin(), and QObject::setObjectName().
|
overrideprotectedvirtual |
Reimplemented from QQuickSinglePointHandler.
Definition at line 6625 of file qquicktableview.cpp.
References QQuickSinglePointHandler::point, updateDrag(), and updateState().
|
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 QQuickSinglePointHandler.
Definition at line 6590 of file qquicktableview.cpp.
References QPointingDevice::CancelGrabExclusive, QPointingDevice::CancelGrabPassive, Dragging, DraggingFinished, DraggingStarted, QPointingDevice::GrabExclusive, QPointingDevice::GrabPassive, m_state, QQuickSinglePointHandler::onGrabChanged(), QPointingDevice::OverrideGrabPassive, QQuickSinglePointHandler::point, QPointingDevice::UngrabExclusive, QPointingDevice::UngrabPassive, and updateDrag().
|
inline |
Definition at line 89 of file qquicktableview_p_p.h.
References m_state.
Referenced by QQuickTableViewPrivate::handleTap(), and QQuickTableViewPrivate::startSelection().
void QQuickTableViewResizeHandler::updateDrag | ( | QPointerEvent * | event, |
QEventPoint & | point | ||
) |
Definition at line 6675 of file qquicktableview.cpp.
References Dragging, DraggingFinished, DraggingStarted, QQuickTableViewPrivate::get(), Listening, m_column, m_columnStartWidth, m_columnStartX, m_row, m_rowStartHeight, m_rowStartY, m_state, QQuickItem::parent, QQuickPointerHandler::parentItem(), QQuickSinglePointHandler::point, QQuickHandlerPoint::position, qMax(), QQuickPointerHandler::setExclusiveGrab(), QQuickPointerHandler::setPassiveGrab(), Tracking, QPointF::x(), and QPointF::y().
Referenced by handleEventPoint(), and onGrabChanged().
void QQuickTableViewResizeHandler::updateState | ( | QEventPoint & | point | ) |
Definition at line 6633 of file qquicktableview.cpp.
References Dragging, DraggingFinished, DraggingStarted, QQuickTableViewPrivate::get(), Listening, m_column, m_row, m_state, QQuickItem::parent, QQuickPointerHandler::parentItem(), QQuickSinglePointHandler::point, QQuickHandlerPoint::position, QEventPoint::Pressed, QQuickHandlerPoint::pressPosition, qApp, qSqrt(), QEventPoint::Released, Tracking, QEventPoint::Updated, QPointF::x(), and QPointF::y().
Referenced by handleEventPoint().
|
overrideprotectedvirtual |
Returns true
if the given point (as part of event) could be relevant at all to this handler, as a preliminary check.
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.
In particular, the bounds checking is done here: the base class QQuickPointerHandler::wantsEventPoint() calls parentContains(point) (which allows the flexibility promised by margin(), QQuickItem::contains() and QQuickItem::containmentMask()). Pointer Handlers can receive QEventPoints that are outside the parent item's bounds: this allows some flexibility for dealing with multi-point gestures in which one or more fingers have strayed outside the bounds, and yet the gesture is still unambiguously intended for the target() item.
You should not generally react to the event or point here, but it's ok to set state to remember what needs to be done in your overridden handlePointerEventImpl() or QQuickSinglePointHandler::handleEventPoint().
Reimplemented from QQuickPointerHandler.
Definition at line 6614 of file qquicktableview.cpp.
References QQuickFlickable::isMoving(), QQuickItem::parent, QQuickPointerHandler::parentItem(), QQuickSinglePointHandler::point, and QQuickPointerHandler::wantsEventPoint().
|
friend |
Definition at line 103 of file qquicktableview_p_p.h.
int QQuickTableViewResizeHandler::m_column = -1 |
Definition at line 99 of file qquicktableview_p_p.h.
Referenced by updateDrag(), and updateState().
qreal QQuickTableViewResizeHandler::m_columnStartWidth = -1 |
Definition at line 101 of file qquicktableview_p_p.h.
Referenced by updateDrag().
qreal QQuickTableViewResizeHandler::m_columnStartX = -1 |
Definition at line 100 of file qquicktableview_p_p.h.
Referenced by updateDrag().
int QQuickTableViewResizeHandler::m_row = -1 |
Definition at line 95 of file qquicktableview_p_p.h.
Referenced by updateDrag(), and updateState().
qreal QQuickTableViewResizeHandler::m_rowStartHeight = -1 |
Definition at line 97 of file qquicktableview_p_p.h.
Referenced by updateDrag().
qreal QQuickTableViewResizeHandler::m_rowStartY = -1 |
Definition at line 96 of file qquicktableview_p_p.h.
Referenced by updateDrag().
Definition at line 93 of file qquicktableview_p_p.h.
Referenced by onGrabChanged(), state(), updateDrag(), and updateState().