29 Q_DECLARE_PUBLIC(QQuickTumbler)
32 enum ContentItemType {
34 UnsupportedContentItemType,
39 QQuickItem *determineViewType(QQuickItem *contentItem);
41 QList<QQuickItem *> viewContentItemChildItems()
const;
43 static QQuickTumblerPrivate *get(QQuickTumbler *tumbler);
45 QPalette defaultPalette()
const override;
48 QQmlComponent *delegate =
nullptr;
49 int visibleItemCount = 5;
51 bool explicitWrap =
false;
52 qreal flickDeceleration = 0.0;
53 bool modelBeingSet =
false;
54 bool currentIndexSetDuringModelChange =
false;
55 QQuickItem *view =
nullptr;
56 QQuickItem *viewContentItem =
nullptr;
57 ContentItemType viewContentItemType = UnsupportedContentItemType;
62 int currentIndex = -1;
63 int pendingCurrentIndex = -1;
64 bool ignoreCurrentIndexChanges =
false;
66 bool ignoreSignals =
false;
68 void _q_updateItemHeights();
69 void _q_updateItemWidths();
70 void _q_onViewCurrentIndexChanged();
71 void _q_onViewCountChanged();
72 void _q_onViewOffsetChanged();
73 void _q_onViewContentYChanged();
75 void calculateDisplacements();
77 void disconnectFromView();
78 void setupViewData(QQuickItem *newControlContentItem);
79 void warnAboutIncorrectContentItem();
80 void syncCurrentIndex();
81 void setPendingCurrentIndex(
int index);
83 enum PropertyChangeReason {
88 static QString propertyChangeReasonToString(PropertyChangeReason changeReason);
90 void setCurrentIndex(
int newCurrentIndex, PropertyChangeReason changeReason = InternalChange);
91 void setCount(
int newCount);
92 void setWrapBasedOnCount();
93 void setWrap(
bool shouldWrap, QQml::PropertyUtils::State propertyState);
94 qreal effectiveFlickDeceleration()
const;
98 void itemChildAdded(QQuickItem *, QQuickItem *) override;
99 void itemChildRemoved(QQuickItem *, QQuickItem *) override;
100 void itemGeometryChanged(QQuickItem *, QQuickGeometryChange ,
const QRectF &) override;