return it;
}
-QQuickListCompositor::iterator QQuickListCompositor::begin(Group group)
-{
- QT_QML_TRACE_LISTCOMPOSITOR(<< group)
- m_cacheIt = iterator(m_ranges.next, 0, group, m_groupCount);
- m_cacheIt += 0;
- return m_cacheIt;
-}
-
void QQuickListCompositor::append(
void *list, int index, int count, uint flags, QVector<Insert> *inserts)
{
QT_QML_VERIFY_LISTCOMPOSITOR
}
-void QQuickListCompositor::removeList(void *list, QVector<Remove> *removes, bool destroyed)
-{
- QT_QML_TRACE_LISTCOMPOSITOR(<< list << destroyed)
- for (iterator it(m_ranges.next, 0, Default, m_groupCount); *it != &m_ranges; *it = it->next) {
- if (it->list == list) {
- const int flags = it->flags & (GroupMask | CacheFlag);
- if (flags) {
- removes->append(Remove(it, it->count, flags));
- m_end.decrementIndexes(it->count, flags);
- }
- if (destroyed)
- it->list = 0;
- if (it->inCache()) {
- it->flags = CacheFlag;
- it.cacheIndex += it->count;
- } else {
- *it = erase(*it)->previous;
- }
- } else {
- it.incrementIndexes(it->count);
- }
- }
- m_cacheIt = m_end;
- QT_QML_VERIFY_LISTCOMPOSITOR
-}
-
bool QQuickListCompositor::verifyMoveTo(
Group fromGroup, int from, Group toGroup, int to, int count, Group group) const
{
listItemsChanged(translatedChanges, list, changes);
}
-void QQuickListCompositor::listChanged(
- void *list,
- const QQuickChangeSet &changeSet,
- QVector<Remove> *translatedRemovals,
- QVector<Insert> *translatedInsertions,
- QVector<Change> *translatedChanges)
-{
- QVector<QQuickChangeSet::Remove> removals = changeSet.removes();
- QVector<QQuickChangeSet::Insert> insertions = changeSet.inserts();
- QVector<MovedFlags> movedFlags;
- listItemsRemoved(translatedRemovals, list, &removals, &insertions, &movedFlags, changeSet.moveCounter());
- listItemsInserted(translatedInsertions, list, insertions, &movedFlags);
- listItemsChanged(translatedChanges, list, changeSet.changes());
-}
-
void QQuickListCompositor::transition(
Group from,
Group to,
iterator find(Group group, int index) const;
insert_iterator findInsertPosition(Group group, int index);
- iterator begin(Group group);
const iterator &end() { return m_end; }
void append(void *list, int index, int count, uint flags, QVector<Insert> *inserts = 0);
void clearFlags(iterator from, int count, uint flags, QVector<Remove> *removals = 0) {
clearFlags(from, count, from.group, flags, removals); }
- void removeList(void *list, QVector<Remove> *removals, bool destroyed);
-
bool verifyMoveTo(Group fromGroup, int from, Group toGroup, int to, int count, Group group) const;
void move(
void listItemsRemoved(void *list, int index, int count, QVector<Remove> *removals);
void listItemsMoved(void *list, int from, int to, int count, QVector<Remove> *removals, QVector<Insert> *inserts);
void listItemsChanged(void *list, int index, int count, QVector<Change> *changes);
- void listChanged(
- void *list,
- const QQuickChangeSet &changeSet,
- QVector<Remove> *removals,
- QVector<Insert> *inserts,
- QVector<Change> *changes);
void transition(
Group from,