61 QQuickItemViewTransitioner();
62 virtual ~QQuickItemViewTransitioner();
64 bool canTransition(QQuickItemViewTransitioner::TransitionType type,
bool asTarget)
const;
65 void transitionNextReposition(QQuickItemViewTransitionableItem *item, QQuickItemViewTransitioner::TransitionType type,
bool isTarget);
67 void addToTargetLists(QQuickItemViewTransitioner::TransitionType type, QQuickItemViewTransitionableItem *item,
int index);
68 void resetTargetLists();
70 QQuickTransition *transitionObject(QQuickItemViewTransitioner::TransitionType type,
bool asTarget)
const;
71 const QList<
int> &targetIndexes(QQuickItemViewTransitioner::TransitionType type)
const;
72 const QList<QObject *> &targetItems(QQuickItemViewTransitioner::TransitionType type)
const;
74 inline void setPopulateTransitionEnabled(
bool b) { usePopulateTransition = b; }
75 inline bool populateTransitionEnabled()
const {
return usePopulateTransition; }
77 inline void setChangeListener(QQuickItemViewTransitionChangeListener *obj) { changeListener = obj; }
79 QSet<QQuickItemViewTransitionJob *> runningJobs;
81 QList<
int> addTransitionIndexes;
82 QList<
int> moveTransitionIndexes;
83 QList<
int> removeTransitionIndexes;
84 QList<QObject *> addTransitionTargets;
85 QList<QObject *> moveTransitionTargets;
86 QList<QObject *> removeTransitionTargets;
88 QQmlGuard<QQuickTransition> populateTransition;
89 QQmlGuard<QQuickTransition> addTransition;
90 QQmlGuard<QQuickTransition> addDisplacedTransition;
91 QQmlGuard<QQuickTransition> moveTransition;
92 QQmlGuard<QQuickTransition> moveDisplacedTransition;
93 QQmlGuard<QQuickTransition> removeTransition;
94 QQmlGuard<QQuickTransition> removeDisplacedTransition;
95 QQmlGuard<QQuickTransition> displacedTransition;
98 friend class QQuickItemViewTransitionJob;
100 QQuickItemViewTransitionChangeListener *changeListener;
101 bool usePopulateTransition;
103 void finishedTransition(QQuickItemViewTransitionJob *job, QQuickItemViewTransitionableItem *item);
113 QQuickItemViewTransitionableItem(QQuickItem *i);
114 virtual ~QQuickItemViewTransitionableItem();
119 void moveTo(
const QPointF &pos,
bool immediate =
false);
121 bool transitionScheduledOrRunning()
const;
122 bool transitionRunning()
const;
123 bool isPendingRemoval()
const;
125 bool prepareTransition(QQuickItemViewTransitioner *transitioner,
int index,
const QRectF &viewBounds);
126 void startTransition(QQuickItemViewTransitioner *transitioner,
int index);
127 void completeTransition(QQuickTransition *quickTransition);
129 SelfDeletable m_selfDeletable;
130 QPointF nextTransitionTo;
132 QPointF nextTransitionFrom;
134 QQuickItemViewTransitionJob *transition;
135 QQuickItemViewTransitioner::TransitionType nextTransitionType;
136 bool isTransitionTarget : 1;
137 bool nextTransitionToSet : 1;
138 bool nextTransitionFromSet : 1;
139 bool lastMovedToSet : 1;
143 friend class QQuickItemViewTransitioner;
144 friend class QQuickItemViewTransitionJob;
145 void setNextTransition(QQuickItemViewTransitioner::TransitionType,
bool isTargetItem);
146 bool transitionWillChangePosition()
const;
147 void finishedTransition();
148 void resetNextTransitionPos();
149 void clearCurrentScheduledTransition();
150 void stopTransition();
void startTransition(QQuickItemViewTransitionableItem *item, int index, QQuickItemViewTransitioner *transitioner, QQuickItemViewTransitioner::TransitionType type, const QPointF &to, bool isTargetItem)