43 Q_PROPERTY(QVariant model READ model WRITE setModel NOTIFY modelChanged)
44 Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged)
45 Q_PROPERTY(
int count READ count NOTIFY countChanged)
47 Q_PROPERTY(
int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
48 Q_PROPERTY(QQuickItem *currentItem READ currentItem NOTIFY currentItemChanged)
50 Q_PROPERTY(
bool keyNavigationWraps READ isWrapEnabled WRITE setWrapEnabled NOTIFY keyNavigationWrapsChanged)
51 Q_PROPERTY(
bool keyNavigationEnabled READ isKeyNavigationEnabled WRITE setKeyNavigationEnabled NOTIFY keyNavigationEnabledChanged REVISION(2, 7))
52 Q_PROPERTY(
int cacheBuffer READ cacheBuffer WRITE setCacheBuffer NOTIFY cacheBufferChanged)
53 Q_PROPERTY(
int displayMarginBeginning READ displayMarginBeginning WRITE setDisplayMarginBeginning NOTIFY displayMarginBeginningChanged REVISION(2, 3))
54 Q_PROPERTY(
int displayMarginEnd READ displayMarginEnd WRITE setDisplayMarginEnd NOTIFY displayMarginEndChanged REVISION(2, 3))
56 Q_PROPERTY(Qt::LayoutDirection layoutDirection READ layoutDirection WRITE setLayoutDirection NOTIFY layoutDirectionChanged)
57 Q_PROPERTY(Qt::LayoutDirection effectiveLayoutDirection READ effectiveLayoutDirection NOTIFY effectiveLayoutDirectionChanged)
58 Q_PROPERTY(VerticalLayoutDirection verticalLayoutDirection READ verticalLayoutDirection WRITE setVerticalLayoutDirection NOTIFY verticalLayoutDirectionChanged)
60 Q_PROPERTY(QQmlComponent *header READ header WRITE setHeader NOTIFY headerChanged)
61 Q_PROPERTY(QQuickItem *headerItem READ headerItem NOTIFY headerItemChanged)
62 Q_PROPERTY(QQmlComponent *footer READ footer WRITE setFooter NOTIFY footerChanged)
63 Q_PROPERTY(QQuickItem *footerItem READ footerItem NOTIFY footerItemChanged)
65#if QT_CONFIG(quick_viewtransitions)
66 Q_PROPERTY(QQuickTransition *populate READ populateTransition WRITE setPopulateTransition NOTIFY populateTransitionChanged)
67 Q_PROPERTY(QQuickTransition *add READ addTransition WRITE setAddTransition NOTIFY addTransitionChanged)
68 Q_PROPERTY(QQuickTransition *addDisplaced READ addDisplacedTransition WRITE setAddDisplacedTransition NOTIFY addDisplacedTransitionChanged)
69 Q_PROPERTY(QQuickTransition *move READ moveTransition WRITE setMoveTransition NOTIFY moveTransitionChanged)
70 Q_PROPERTY(QQuickTransition *moveDisplaced READ moveDisplacedTransition WRITE setMoveDisplacedTransition NOTIFY moveDisplacedTransitionChanged)
71 Q_PROPERTY(QQuickTransition *remove READ removeTransition WRITE setRemoveTransition NOTIFY removeTransitionChanged)
72 Q_PROPERTY(QQuickTransition *removeDisplaced READ removeDisplacedTransition WRITE setRemoveDisplacedTransition NOTIFY removeDisplacedTransitionChanged)
73 Q_PROPERTY(QQuickTransition *displaced READ displacedTransition WRITE setDisplacedTransition NOTIFY displacedTransitionChanged)
76 Q_PROPERTY(QQmlComponent *highlight READ highlight WRITE setHighlight NOTIFY highlightChanged)
77 Q_PROPERTY(QQuickItem *highlightItem READ highlightItem NOTIFY highlightItemChanged)
78 Q_PROPERTY(
bool highlightFollowsCurrentItem READ highlightFollowsCurrentItem WRITE setHighlightFollowsCurrentItem NOTIFY highlightFollowsCurrentItemChanged)
79 Q_PROPERTY(HighlightRangeMode highlightRangeMode READ highlightRangeMode WRITE setHighlightRangeMode NOTIFY highlightRangeModeChanged)
80 Q_PROPERTY(qreal preferredHighlightBegin READ preferredHighlightBegin WRITE setPreferredHighlightBegin NOTIFY preferredHighlightBeginChanged RESET resetPreferredHighlightBegin)
81 Q_PROPERTY(qreal preferredHighlightEnd READ preferredHighlightEnd WRITE setPreferredHighlightEnd NOTIFY preferredHighlightEndChanged RESET resetPreferredHighlightEnd)
82 Q_PROPERTY(
int highlightMoveDuration READ highlightMoveDuration WRITE setHighlightMoveDuration NOTIFY highlightMoveDurationChanged)
84 Q_PROPERTY(
bool reuseItems READ reuseItems WRITE setReuseItems NOTIFY reuseItemsChanged REVISION(2, 15))
85 Q_PROPERTY(QQmlDelegateModel::DelegateModelAccess delegateModelAccess READ delegateModelAccess
86 WRITE setDelegateModelAccess NOTIFY delegateModelAccessChanged REVISION(6, 10) FINAL)
88 QML_NAMED_ELEMENT(ItemView)
89 QML_UNCREATABLE(
"ItemView is an abstract base class.")
90 QML_ADDED_IN_VERSION(2, 1)
96 enum LayoutDirection {
97 LeftToRight = Qt::LeftToRight,
98 RightToLeft = Qt::RightToLeft,
102 Q_ENUM(LayoutDirection)
104 enum VerticalLayoutDirection {
105 TopToBottom = VerticalTopToBottom,
106 BottomToTop = VerticalBottomToTop
108 Q_ENUM(VerticalLayoutDirection)
110 QQuickItemView(QQuickFlickablePrivate &dd, QQuickItem *parent =
nullptr);
113 QVariant model()
const;
114 void setModel(
const QVariant &);
116 QQmlComponent *delegate()
const;
117 void setDelegate(QQmlComponent *);
121 int currentIndex()
const;
122 void setCurrentIndex(
int idx);
124 QQuickItem *currentItem()
const;
126 bool isWrapEnabled()
const;
127 void setWrapEnabled(
bool);
129 bool isKeyNavigationEnabled()
const;
130 void setKeyNavigationEnabled(
bool);
132 int cacheBuffer()
const;
133 void setCacheBuffer(
int);
135 int displayMarginBeginning()
const;
136 void setDisplayMarginBeginning(
int);
138 int displayMarginEnd()
const;
139 void setDisplayMarginEnd(
int);
141 Qt::LayoutDirection layoutDirection()
const;
142 void setLayoutDirection(Qt::LayoutDirection);
143 Qt::LayoutDirection effectiveLayoutDirection()
const;
145 VerticalLayoutDirection verticalLayoutDirection()
const;
146 void setVerticalLayoutDirection(VerticalLayoutDirection layoutDirection);
148 QQmlComponent *footer()
const;
149 void setFooter(QQmlComponent *);
150 QQuickItem *footerItem()
const;
152 QQmlComponent *header()
const;
153 void setHeader(QQmlComponent *);
154 QQuickItem *headerItem()
const;
156#if QT_CONFIG(quick_viewtransitions)
157 QQuickTransition *populateTransition()
const;
158 void setPopulateTransition(QQuickTransition *transition);
160 QQuickTransition *addTransition()
const;
161 void setAddTransition(QQuickTransition *transition);
163 QQuickTransition *addDisplacedTransition()
const;
164 void setAddDisplacedTransition(QQuickTransition *transition);
166 QQuickTransition *moveTransition()
const;
167 void setMoveTransition(QQuickTransition *transition);
169 QQuickTransition *moveDisplacedTransition()
const;
170 void setMoveDisplacedTransition(QQuickTransition *transition);
172 QQuickTransition *removeTransition()
const;
173 void setRemoveTransition(QQuickTransition *transition);
175 QQuickTransition *removeDisplacedTransition()
const;
176 void setRemoveDisplacedTransition(QQuickTransition *transition);
178 QQuickTransition *displacedTransition()
const;
179 void setDisplacedTransition(QQuickTransition *transition);
182 QQmlComponent *highlight()
const;
183 void setHighlight(QQmlComponent *);
185 QQuickItem *highlightItem()
const;
187 bool highlightFollowsCurrentItem()
const;
188 virtual void setHighlightFollowsCurrentItem(
bool);
190 enum HighlightRangeMode { NoHighlightRange, ApplyRange, StrictlyEnforceRange };
191 Q_ENUM(HighlightRangeMode)
192 HighlightRangeMode highlightRangeMode()
const;
193 void setHighlightRangeMode(HighlightRangeMode mode);
195 qreal preferredHighlightBegin()
const;
196 void setPreferredHighlightBegin(qreal);
197 void resetPreferredHighlightBegin();
199 qreal preferredHighlightEnd()
const;
200 void setPreferredHighlightEnd(qreal);
201 void resetPreferredHighlightEnd();
203 int highlightMoveDuration()
const;
204 virtual void setHighlightMoveDuration(
int);
206 bool reuseItems()
const;
207 void setReuseItems(
bool reuse);
209 enum PositionMode { Beginning, Center, End, Visible, Contain, SnapPosition };
212 Q_INVOKABLE
void positionViewAtIndex(
int index,
int mode);
213 Q_INVOKABLE
int indexAt(qreal x, qreal y)
const;
214 Q_INVOKABLE QQuickItem *itemAt(qreal x, qreal y)
const;
215 Q_REVISION(2, 13) Q_INVOKABLE QQuickItem *itemAtIndex(
int index)
const;
216 Q_INVOKABLE
void positionViewAtBeginning();
217 Q_INVOKABLE
void positionViewAtEnd();
218 Q_REVISION(2, 1) Q_INVOKABLE
void forceLayout();
220 void setContentX(qreal pos) override;
221 void setContentY(qreal pos) override;
222 qreal originX()
const override;
223 qreal originY()
const override;
225 QQmlDelegateModel::DelegateModelAccess delegateModelAccess()
const;
226 void setDelegateModelAccess(QQmlDelegateModel::DelegateModelAccess delegateModelAccess);
230 void delegateChanged();
232 void currentIndexChanged();
233 void currentItemChanged();
235 void keyNavigationWrapsChanged();
236 Q_REVISION(2, 7)
void keyNavigationEnabledChanged();
237 void cacheBufferChanged();
238 void displayMarginBeginningChanged();
239 void displayMarginEndChanged();
241 void layoutDirectionChanged();
242 void effectiveLayoutDirectionChanged();
243 void verticalLayoutDirectionChanged();
245 void headerChanged();
246 void footerChanged();
247 void headerItemChanged();
248 void footerItemChanged();
250#if QT_CONFIG(quick_viewtransitions)
251 void populateTransitionChanged();
252 void addTransitionChanged();
253 void addDisplacedTransitionChanged();
254 void moveTransitionChanged();
255 void moveDisplacedTransitionChanged();
256 void removeTransitionChanged();
257 void removeDisplacedTransitionChanged();
258 void displacedTransitionChanged();
261 void highlightChanged();
262 void highlightItemChanged();
263 void highlightFollowsCurrentItemChanged();
264 void highlightRangeModeChanged();
265 void preferredHighlightBeginChanged();
266 void preferredHighlightEndChanged();
267 void highlightMoveDurationChanged();
269 Q_REVISION(2, 15)
void reuseItemsChanged();
270 Q_REVISION(6, 10)
void delegateModelAccessChanged();
273 void updatePolish() override;
274 void componentComplete() override;
275 void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry) override;
276 qreal minYExtent()
const override;
277 qreal maxYExtent()
const override;
278 qreal minXExtent()
const override;
279 qreal maxXExtent()
const override;
282 void destroyRemoved();
283 void createdItem(
int index, QObject *item);
284 virtual void initItem(
int index, QObject *item);
285 void modelUpdated(
const QQmlChangeSet &changeSet,
bool reset);
286 void destroyingItem(QObject *item);
287 Q_REVISION(2, 15)
void onItemPooled(
int modelIndex, QObject *object);
288 Q_REVISION(2, 15)
void onItemReused(
int modelIndex, QObject *object);
290 void trackedPositionChanged();
293 Q_DECLARE_PRIVATE(QQuickItemView)