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
qquickitemviewfxitem_p_p.h
Go to the documentation of this file.
1// Copyright (C) 2018 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QQUICKFXVIEWITEM_P_P_H
6#define QQUICKFXVIEWITEM_P_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtQuick/private/qtquickglobal_p.h>
20#include <QtQuick/private/qquickitem_p.h>
21#if QT_CONFIG(quick_viewtransitions)
22#include <QtQuick/private/qquickitemviewtransition_p.h>
23#endif
24#include <private/qanimationjobutil_p.h>
25
26#include <QtCore/qpointer.h>
27
29
31
33{
34public:
35 QQuickItemViewFxItem(QQuickItem *item, bool ownItem, QQuickItemChangeListener *changeListener);
36 virtual ~QQuickItemViewFxItem();
37
38 qreal itemX() const;
39 qreal itemY() const;
40 inline qreal itemWidth() const { return item ? item->width() : 0; }
41 inline qreal itemHeight() const { return item ? item->height() : 0; }
42
43 void moveTo(const QPointF &pos, bool immediate);
44 void setVisible(bool visible);
45 void trackGeometry(bool track);
46
47 QRectF geometry() const;
48 void setGeometry(const QRectF &geometry);
49
50#if QT_CONFIG(quick_viewtransitions)
51 QQuickItemViewTransitioner::TransitionType scheduledTransitionType() const;
52 bool transitionScheduledOrRunning() const;
53 bool transitionRunning() const;
54 bool isPendingRemoval() const;
55
56 void transitionNextReposition(QQuickItemViewTransitioner *transitioner, QQuickItemViewTransitioner::TransitionType type, bool asTarget);
57 bool prepareTransition(QQuickItemViewTransitioner *transitioner, const QRectF &viewBounds);
58 void startTransition(QQuickItemViewTransitioner *transitioner);
59#endif
60
61 // these are positions and sizes along the current direction of scrolling/flicking
62 virtual qreal position() const = 0;
63 virtual qreal endPosition() const = 0;
64 virtual qreal size() const = 0;
65 virtual qreal sectionSize() const = 0;
66
67 virtual bool contains(qreal x, qreal y) const = 0;
68
69 SelfDeletable m_selfDeletable;
70 QPointer<QQuickItem> item;
71 QQuickItemChangeListener *changeListener;
72#if QT_CONFIG(quick_viewtransitions)
73 QQuickItemViewTransitionableItem *transitionableItem;
74#endif
75 int index = -1;
76 bool ownItem : 1;
77 bool releaseAfterTransition : 1;
78 bool trackGeom : 1;
79};
80
81QT_END_NAMESPACE
82
83#endif // QQUICKFXVIEWITEM_P_P_H
qreal footerSize() const override
bool addVisibleItems(qreal fillFrom, qreal fillTo, qreal bufferFrom, qreal bufferTo, bool doBuffer) override
qreal snapPosAt(qreal pos) const
void fixupPosition() override
void updateViewport() override
void updateHighlight() override
bool showFooterForIndex(int index) const override
bool isContentFlowReversed() const override
bool flick(QQuickItemViewPrivate::AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize, QQuickTimeLineCallback::Callback fixupCallback, QEvent::Type eventType, qreal velocity) override
void repositionPackageItemAt(QQuickItem *item, int index) override
bool showHeaderForIndex(int index) const override
bool needsRefillForAddedOrRemovedIndex(int index) const override
void createHighlight(bool onDestruction=false) override
QSmoothedAnimation * highlightYAnimator
void initializeViewItem(FxViewItem *item) override
void removeItem(FxViewItem *item)
qreal positionAt(int index) const override
void updateFooter() override
qreal endPositionAt(int index) const override
void setPosition(qreal pos) override
QQuickItemViewAttached * getAttachedObject(const QObject *object) const override
void resetFirstItemPosition(qreal pos=0.0) override
bool applyInsertionChange(const QQmlChangeSet::Change &insert, ChangeResult *changeResult, QList< FxViewItem * > *addedItems, QList< MovedItem > *movingIntoView) override
void initializeComponentItem(QQuickItem *item) const override
void adjustFirstItem(qreal forwards, qreal backwards, int changeBeforeVisible) override
qreal rowPosAt(int modelIndex) const
void repositionItemAt(FxViewItem *item, int index, qreal sizeBuffer) override
FxViewItem * snapItemAt(qreal pos) const
void fixup(AxisData &data, qreal minExtent, qreal maxExtent) override
void resetHighlightPosition() override
void changedVisibleIndex(int newIndex) override
void layoutVisibleItems(int fromModelIndex=0) override
qreal contentYForPosition(qreal pos) const
qreal lastPosition() const override
FxViewItem * newViewItem(int index, QQuickItem *item) override
qreal contentXForPosition(qreal pos) const
qreal headerSize() const override
qreal originPosition() const override
void updateHeader() override
bool removeNonVisibleItems(qreal bufferFrom, qreal bufferTo) override
qreal colPosAt(int modelIndex) const
void initializeCurrentItem() override
QSmoothedAnimation * highlightXAnimator
QT_REQUIRE_CONFIG(animation)
#define QML_FLICK_SNAPONETHRESHOLD
QT_REQUIRE_CONFIG(quick_gridview)
QT_REQUIRE_CONFIG(quick_itemview)