| CMakeLists.txt |
|
4213 |
- |
| configure.cmake |
|
1532 |
- |
| doc |
|
|
- |
| qqmlabstractdelegatecomponent.cpp |
|
820 |
- |
| qqmlabstractdelegatecomponent_p.h |
|
1515 |
- |
| qqmladaptormodel.cpp |
|
3472 |
- |
| qqmladaptormodel_p.h |
|
5461 |
- |
| qqmladaptormodelenginedata.cpp |
|
936 |
- |
| qqmladaptormodelenginedata_p.h |
|
2421 |
- |
| qqmlchangeset.cpp |
!
\class QQmlChangeSet
\brief The QQmlChangeSet class stores an ordered list of notifications about
changes to a linear data set.
\internal
QQmlChangeSet can be used to record a series of notifications about items in an indexed list
being inserted, removed, moved, and changed. Notifications in the set are re-ordered so that
all notifications of a single type are grouped together and sorted in order of ascending index,
with remove notifications preceding all others, followed by insert notification, and then
change notifications.
Moves in a change set are represented by a remove notification paired with an insert
notification by way of a shared unique moveId. Re-ordering may result in one or both of the
paired notifications being divided, when this happens the offset member of the notification
will indicate the relative offset of the divided notification from the beginning of the
original.
|
20820 |
- |
| qqmlchangeset_p.h |
|
3912 |
- |
| qqmldelegatecomponent.cpp |
!
\qmltype DelegateChoice
//! \nativetype QQmlDelegateChoice
\inqmlmodule QtQml.Models
\since 6.9
\brief Encapsulates a delegate and when to use it.
The DelegateChoice type wraps a delegate and defines the circumstances
in which it should be chosen.
DelegateChoices can be nested inside a DelegateChooser.
\sa DelegateChooser
|
10953 |
- |
| qqmldelegatecomponent_p.h |
|
3357 |
- |
| qqmldelegatemodel.cpp |
|
158087 |
- |
| qqmldelegatemodel_p.h |
|
11655 |
- |
| qqmldelegatemodel_p_p.h |
|
24972 |
- |
| qqmldmabstractitemmodeldata.cpp |
|
9605 |
- |
| qqmldmabstractitemmodeldata_p.h |
|
13526 |
- |
| qqmldmlistaccessordata.cpp |
|
5707 |
- |
| qqmldmlistaccessordata_p.h |
|
11242 |
- |
| qqmldmobjectdata.cpp |
|
1147 |
- |
| qqmldmobjectdata_p.h |
|
9175 |
- |
| qqmlinstantiator.cpp |
|
13487 |
- |
| qqmlinstantiator_p.h |
|
2938 |
- |
| qqmlinstantiator_p_p.h |
|
3200 |
- |
| qqmlitemmodels.qdoc |
|
3469 |
- |
| qqmlitemselectionmodel.qdoc |
|
6739 |
- |
| qqmllistaccessor.cpp |
|
9417 |
- |
| qqmllistaccessor_p.h |
|
1274 |
- |
| qqmllistcompositor.cpp |
!
\class QQmlListCompositor
\brief The QQmlListCompositor class provides a lookup table for filtered, or re-ordered list
indexes.
\internal
QQmlListCompositor is intended as an aid for developing proxy models. It doesn't however
directly proxy a list or model, instead a range of indexes from one or many lists can be
inserted into the compositor and then categorized and shuffled around and it will manage the
task of translating from an index in the combined space into an index in a particular list.
Within a compositor indexes are categorized into groups where a group is a sub-set of the
total indexes referenced by the compositor, each with an address space ranging from 0 to
the number of indexes in the group - 1. Group memberships are independent of each other with
the one exception that items always retain the same order so if an index is moved within a
group, its position in other groups will change as well.
The iterator classes encapsulate information about a specific position in a compositor group.
This includes a source list, the index of an item within that list and the groups that item
is a member of. The iterator for a specific position in a group can be retrieved with the
find() function and the addition and subtraction operators of the iterators can be used to
navigate to adjacent items in the same group.
Items can be added to the compositor with the append() and insert() functions, group
membership can be changed with the setFlags() and clearFlags() functions, and the position
of items in the compositor can be changed with the move() function. Each of these functions
optionally returns a list of the changes made to indexes within each group which can then
be propagated to view so that it can correctly refresh its contents; e.g. 3 items
removed at index 6, and 5 items inserted at index 1. The notification changes are always
ordered from the start of the list to the end and accumulate, so if 5 items are removed at
index 4, one is skipped and then 3 move are removed, the changes returned are 5 items removed
at index 4, followed by 3 items removed at index 4.
When the contents of a source list change, the mappings within the compositor can be updated
with the listItemsInserted(), listItemsRemoved(), listItemsMoved(), and listItemsChanged()
functions. Like the direct manipulation functions these too return a list of group indexes
affected by the change. If items are removed from a source list they are also removed from
any groups they belong to with the one exception being items belonging to the \l Cache group.
When items belonging to this group are removed the list, index, and other group membership
information are discarded but Cache membership is retained until explicitly removed. This
allows the cache index to be retained until cached resources for that item are actually
released.
Internally the index mapping is stored as a list of Range objects, each has a list identifier,
a start index, a count, and a set of flags which represent group membership and some other
properties. The group index of a range is the sum of all preceding ranges that are members of
that group. To avoid the inefficiency of iterating over potentially all ranges when looking
for a specific index, each time a lookup is done the range and its indexes are cached and the
next lookup is done relative to this. This works out to near constant time in most relevant
use cases because successive index lookups are most frequently adjacent. The total number of
ranges is often quite small, which helps as well. If there is a need for faster random access
then a skip list like index may be an appropriate addition.
\sa DelegateModel
|
57922 |
- |
| qqmllistcompositor_p.h |
|
12059 |
- |
| qqmllistmodel.cpp |
|
104209 |
- |
| qqmllistmodel_p.h |
|
5807 |
- |
| qqmllistmodel_p_p.h |
|
12966 |
- |
| qqmllistmodelworkeragent.cpp |
|
3136 |
- |
| qqmllistmodelworkeragent_p.h |
|
2348 |
- |
| qqmlmodelindexvaluetype.cpp |
!
\internal
|
1063 |
- |
| qqmlmodelindexvaluetype_p.h |
|
6171 |
- |
| qqmlmodelsmodule.cpp |
|
321 |
- |
| qqmlmodelsmodule_p.h |
|
1342 |
- |
| qqmlobjectmodel.cpp |
|
14028 |
- |
| qqmlobjectmodel_p.h |
|
5124 |
- |
| qqmltableinstancemodel.cpp |
|
28040 |
- |
| qqmltableinstancemodel_p.h |
|
5377 |
- |
| qqmltreemodeltotablemodel.cpp |
dumpOnFail |
39563 |
- |
| qqmltreemodeltotablemodel_p_p.h |
|
6808 |
- |
| qquickpackage.cpp |
!
\qmltype Package
\nativetype QQuickPackage
\inqmlmodule QtQml.Models
\ingroup qtquick-models
\brief Specifies a collection of named items.
The Package type is used in conjunction with
DelegateModel to enable delegates with a shared context
to be provided to multiple views.
Any item within a Package may be assigned a name via the
\l{Package::name}{Package.name} attached property.
The example below creates a Package containing two named items;
\e list and \e grid. The third item in the package (the \l Rectangle) is parented to whichever
delegate it should appear in. This allows an item to move
between views.
\snippet package/Delegate.qml 0
These named items are used as the delegates by the two views who
reference the special \l{DelegateModel::parts} property to select
a model which provides the chosen delegate.
\snippet package/view.qml 0
\note Package is part of \l{QtQml.Models} since version 2.14 and
part of \l[QML]{QtQuick} since version 2.0.
Importing Package via \l[QML]{QtQuick} is deprecated since Qt 5.14.
\sa {Qt Quick Examples - Views}, {Qt Qml}
|
5548 |
- |
| qquickpackage_p.h |
|
1626 |
- |
| qt_cmdline.cmake |
|
0 |
- |
| qtqmlmodelsglobal.h |
|
387 |
- |
| qtqmlmodelsglobal_p.h |
|
757 |
- |
| sfpm |
|
|
- |