5#ifndef QQUICKPATHVIEW_P_P_H
6#define QQUICKPATHVIEW_P_P_H
19#include <private/qtquickglobal_p.h>
26#include <QtQml/qqml.h>
27#include <QtCore/qdatetime.h>
28#include <QtCore/qcoreapplication.h>
30#include <private/qquickanimation_p_p.h>
31#include <private/qqmldelegatemodel_p.h>
32#include <private/qquicktimeline_p_p.h>
33#include <private/qpodvector_p.h>
35#include <QtCore/qpointer.h>
39class QQmlOpenMetaObjectType;
44 Q_DECLARE_PUBLIC(QQuickPathView)
61 if (!items.removeOne(item))
62 itemCache.removeOne(item);
73 QQuickItem *
getItem(
int modelIndex, qreal z = 0,
bool async=
false);
76 auto oldCurrentItem = std::exchange(currentItem,
nullptr);
85 bool isInBound(qreal position, qreal lower, qreal upper,
bool emptyRangeCheck =
true)
const;
90 return model && model->count() > 0 && model->isValid() && path;
void setIsCurrentItem(bool c)
bool isCurrentItem() const
void setValue(const QByteArray &name, const QVariant &val)
QQuickPathView * view() const
QVariant value(const QByteArray &name) const
~QQuickPathViewAttached()
QPointer< QQmlInstanceModel > model
void releaseItem(QQuickItem *item)
qint64 computeCurrentTime(QInputEvent *event) const
void updateItem(QQuickItem *, qreal)
void snapToIndex(int index, MovementReason reason)
QPODVector< qreal, 10 > velocityBuffer
void handleMousePressEvent(QMouseEvent *event)
QQmlOpenMetaObjectType * attType
QQuickItem * highlightItem
void handleMouseReleaseEvent(QMouseEvent *)
QPointer< QQuickItem > currentItem
void releaseCurrentItem()
QQmlComponent * highlightComponent
void setAdjustedOffset(qreal offset)
qreal highlightRangeStart
int highlightMoveDuration
QQuickTimeLineValueProxy< QQuickPathViewPrivate > moveHighlight
void setHighlightPosition(qreal pos)
QQuickTimeLineValueProxy< QQuickPathViewPrivate > moveOffset
void handleMouseMoveEvent(QMouseEvent *event)
qreal maximumFlickVelocity
QPointF pointNear(const QPointF &point, qreal *nearPercent=0) const
void setOffset(qreal offset)
QQmlOpenMetaObjectType * attachedType()
void itemDestroyed(QQuickItem *item) override
qreal positionOfIndex(qreal index) const
QQuickItem * getItem(int modelIndex, qreal z=0, bool async=false)
QList< QQuickItem * > itemCache
void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &) override
void addVelocitySample(qreal v)
qreal calcVelocity() const
QQuickPathViewAttached * attached(QQuickItem *item)
QList< QQuickItem * > items
bool isInBound(qreal position, qreal lower, qreal upper, bool emptyRangeCheck=true) const
static void fixOffsetCallback(void *)
MovementReason moveReason
Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core")
QT_REQUIRE_CONFIG(animation)
#define QML_FLICK_SAMPLEBUFFER
#define QML_FLICK_DISCARDSAMPLES
#define QML_FLICK_VELOCITY_DECAY_TIME
static QT_BEGIN_NAMESPACE QQmlOpenMetaObjectType * qPathViewAttachedType
static int currentIndexRemainder(int currentIndex, int modelCount) noexcept
QT_REQUIRE_CONFIG(quick_pathview)