Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQmlDelegateModelGroup Class Reference

#include <qqmldelegatemodel_p.h>

+ Inheritance diagram for QQmlDelegateModelGroup:
+ Collaboration diagram for QQmlDelegateModelGroup:

Public Slots

void insert (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::insert(int index, jsdict data, array groups = undefined) \qmlmethod QtQml.Models::DelegateModelGroup::insert(jsdict data, var groups = undefined)
 
void create (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::create(int index) \qmlmethod QtQml.Models::DelegateModelGroup::create(int index, jsdict data, array groups = undefined) \qmlmethod QtQml.Models::DelegateModelGroup::create(jsdict data, array groups = undefined)
 
void resolve (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::resolve(int from, int to)
 
void remove (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::remove(int index, int count)
 
void addGroups (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::addGroups(int index, int count, stringlist groups)
 
void removeGroups (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::removeGroups(int index, int count, stringlist groups)
 
void setGroups (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::setGroups(int index, int count, stringlist groups)
 
void move (QQmlV4FunctionPtr)
 \qmlmethod QtQml.Models::DelegateModelGroup::move(var from, var to, int count)
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Signals

void countChanged ()
 
void nameChanged ()
 
void defaultIncludeChanged ()
 
void changed (const QJSValue &removed, const QJSValue &inserted)
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQmlDelegateModelGroup (QObject *parent=nullptr)
 \qmltype DelegateModelGroup \instantiates QQmlDelegateModelGroup \inqmlmodule QtQml.Models
 
 QQmlDelegateModelGroup (const QString &name, QQmlDelegateModel *model, int compositorType, QObject *parent=nullptr)
 
 ~QQmlDelegateModelGroup ()
 
QString name () const
 \qmlproperty string QtQml.Models::DelegateModelGroup::name
 
void setName (const QString &name)
 
int count () const
 \qmlproperty int QtQml.Models::DelegateModelGroup::count
 
bool defaultInclude () const
 \qmlproperty bool QtQml.Models::DelegateModelGroup::includeByDefault
 
void setDefaultInclude (bool include)
 
Q_INVOKABLE QJSValue get (int index)
 \qmlmethod object QtQml.Models::DelegateModelGroup::get(int index)
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Properties

int count
 
QString name
 
bool includeByDefault
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Definition at line 135 of file qqmldelegatemodel_p.h.

Constructor & Destructor Documentation

◆ QQmlDelegateModelGroup() [1/2]

QQmlDelegateModelGroup::QQmlDelegateModelGroup ( QObject * parent = nullptr)

\qmltype DelegateModelGroup \instantiates QQmlDelegateModelGroup \inqmlmodule QtQml.Models

Encapsulates a filtered set of visual data items.

The DelegateModelGroup type provides a means to address the model data of a DelegateModel's delegate items, as well as sort and filter these delegate items.

The initial set of instantiable delegate items in a DelegateModel is represented by its \l {QtQml.Models::DelegateModel::items}{items} group, which normally directly reflects the contents of the model assigned to DelegateModel::model. This set can be changed to the contents of any other member of DelegateModel::groups by assigning the \l name of that DelegateModelGroup to the DelegateModel::filterOnGroup property.

The data of an item in a DelegateModelGroup can be accessed using the get() function, which returns information about group membership and indexes as well as model data. In combination with the move() function this can be used to implement view sorting, with remove() to filter items out of a view, or with setGroups() and \l Package delegates to categorize items into different views. Different groups can only be sorted independently if they are disjunct. Moving an item in one group will also move it in all other groups it is a part of.

Data from models can be supplemented by inserting data directly into a DelegateModelGroup with the insert() function. This can be used to introduce mock items into a view, or placeholder items that are later \l {resolve()}{resolved} to real model data when it becomes available.

Delegate items can also be instantiated directly from a DelegateModelGroup using the create() function, making it possible to use DelegateModel without an accompanying view type or to cherry-pick specific items that should be instantiated irregardless of whether they're currently within a view's visible area.

See also
{QML Dynamic View Ordering Tutorial}

Definition at line 2912 of file qqmldelegatemodel.cpp.

◆ QQmlDelegateModelGroup() [2/2]

QQmlDelegateModelGroup::QQmlDelegateModelGroup ( const QString & name,
QQmlDelegateModel * model,
int compositorType,
QObject * parent = nullptr )

Definition at line 2917 of file qqmldelegatemodel.cpp.

References d, model, and name.

◆ ~QQmlDelegateModelGroup()

QQmlDelegateModelGroup::~QQmlDelegateModelGroup ( )

Definition at line 2926 of file qqmldelegatemodel.cpp.

Member Function Documentation

◆ addGroups

void QQmlDelegateModelGroup::addGroups ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::addGroups(int index, int count, stringlist groups)

Adds count items starting at index to groups.

Definition at line 3426 of file qqmldelegatemodel.cpp.

References args, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::get(), it, model, qmlWarning(), and tr.

+ Here is the call graph for this function:

◆ changed

void QQmlDelegateModelGroup::changed ( const QJSValue & removed,
const QJSValue & inserted )
signal

◆ count()

int QQmlDelegateModelGroup::count ( ) const

\qmlproperty int QtQml.Models::DelegateModelGroup::count

This property holds the number of items in the group.

Definition at line 2961 of file qqmldelegatemodel.cpp.

References d, and QQmlDelegateModelPrivate::get().

+ Here is the call graph for this function:

◆ countChanged

void QQmlDelegateModelGroup::countChanged ( )
signal

◆ create

void QQmlDelegateModelGroup::create ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::create(int index) \qmlmethod QtQml.Models::DelegateModelGroup::create(int index, jsdict data, array groups = undefined) \qmlmethod QtQml.Models::DelegateModelGroup::create(jsdict data, array groups = undefined)

Returns a reference to the instantiated item at index in the group.

If a data object is provided it will be \l {insert}{inserted} at index and an item referencing this new entry will be returned. The optional groups parameter identifies the groups the new entry should belong to, if unspecified this is equal to the group create() was called on.

All items returned by create are added to the \l {QtQml.Models::DelegateModel::persistedItems}{persistedItems} group. Items in this group remain instantiated when not referenced by any view.

Definition at line 3170 of file qqmldelegatemodel.cpp.

References args, QQmlIncubator::AsynchronousIfNested, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::Error, QQmlDelegateModelPrivate::get(), i, QAbstractTableModel::index(), it, QList< T >::length(), model, qmlWarning(), QQmlDelegateModelPrivate::Retry, tr, and QV4::QObjectWrapper::wrap().

+ Here is the call graph for this function:

◆ defaultInclude()

bool QQmlDelegateModelGroup::defaultInclude ( ) const

\qmlproperty bool QtQml.Models::DelegateModelGroup::includeByDefault

This property holds whether new items are assigned to this group by default.

Definition at line 2975 of file qqmldelegatemodel.cpp.

References d.

◆ defaultIncludeChanged

void QQmlDelegateModelGroup::defaultIncludeChanged ( )
signal

Referenced by setDefaultInclude().

+ Here is the caller graph for this function:

◆ get()

QJSValue QQmlDelegateModelGroup::get ( int index)

\qmlmethod object QtQml.Models::DelegateModelGroup::get(int index)

Returns a javascript object describing the item at index in the group.

The returned object contains the same information that is available to a delegate from the DelegateModel attached as well as the model for that item. It has the properties:

\list

  • model The model data of the item. This is the same as the model context property in a delegate
  • groups A list the of names of groups the item is a member of. This property can be written to change the item's membership.
  • inItems Whether the item belongs to the \l {QtQml.Models::DelegateModel::items}{items} group. Writing to this property will add or remove the item from the group.
  • itemsIndex The index of the item within the \l {QtQml.Models::DelegateModel::items}{items} group.
  • {in<GroupName>} Whether the item belongs to the dynamic group groupName. Writing to this property will add or remove the item from the group.
  • { <groupName>Index} The index of the item within the dynamic group groupName.
  • isUnresolved Whether the item is bound to an index in the model assigned to DelegateModel::model. Returns true if the item is not bound to the model, and false if it is. \endlist

Definition at line 3021 of file qqmldelegatemodel.cpp.

References QV4::MemoryManager::allocate(), QAbstractItemModel::count, d, QJSValuePrivate::fromReturnedValue(), QQmlDelegateModelPrivate::get(), it, QV4::EngineBase::memoryManager, model, o, qmlWarning(), and tr.

+ Here is the call graph for this function:

◆ insert

void QQmlDelegateModelGroup::insert ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::insert(int index, jsdict data, array groups = undefined) \qmlmethod QtQml.Models::DelegateModelGroup::insert(jsdict data, var groups = undefined)

Creates a new entry at index in a DelegateModel with the values from data that correspond to roles in the model assigned to DelegateModel::model.

If no index is supplied the data is appended to the model.

The optional groups parameter identifies the groups the new entry should belong to, if unspecified this is equal to the group insert was called on.

Data inserted into a DelegateModel can later be merged with an existing entry in DelegateModel::model using the \l resolve() function. This can be used to create placeholder items that are later replaced by actual data.

Definition at line 3107 of file qqmldelegatemodel.cpp.

References args, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::get(), i, QList< T >::length(), model, qmlWarning(), QQmlDelegateModelPrivate::Retry, QQmlDelegateModelPrivate::Success, and tr.

+ Here is the call graph for this function:

◆ move

void QQmlDelegateModelGroup::move ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::move(var from, var to, int count)

Moves count at from in a group to a new position.

Note
The DelegateModel acts as a proxy model: it holds the delegates in a different order than the \l{dm-model-property}{underlying model} has them. Any subsequent changes to the underlying model will not undo whatever reordering you have done via this function.

Definition at line 3522 of file qqmldelegatemodel.cpp.

References args, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::get(), QList< T >::length(), model, qmlWarning(), and tr.

+ Here is the call graph for this function:

◆ name()

QString QQmlDelegateModelGroup::name ( ) const

\qmlproperty string QtQml.Models::DelegateModelGroup::name

This property holds the name of the group.

Each group in a model must have a unique name starting with a lower case letter.

Definition at line 2938 of file qqmldelegatemodel.cpp.

References d.

◆ nameChanged

void QQmlDelegateModelGroup::nameChanged ( )
signal

Referenced by setName().

+ Here is the caller graph for this function:

◆ remove

void QQmlDelegateModelGroup::remove ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::remove(int index, int count)

Removes count items starting at index from the group.

Definition at line 3352 of file qqmldelegatemodel.cpp.

References args, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::get(), i, it, QList< T >::length(), model, qmlWarning(), and tr.

+ Here is the call graph for this function:

◆ removeGroups

void QQmlDelegateModelGroup::removeGroups ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::removeGroups(int index, int count, stringlist groups)

Removes count items starting at index from groups.

Definition at line 3456 of file qqmldelegatemodel.cpp.

References args, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::get(), it, model, qmlWarning(), and tr.

+ Here is the call graph for this function:

◆ resolve

void QQmlDelegateModelGroup::resolve ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::resolve(int from, int to)

Binds an unresolved item at from to an item in DelegateModel::model at index to.

Unresolved items are entries whose data has been \l {insert()}{inserted} into a DelegateModelGroup instead of being derived from a DelegateModel::model index. Resolving an item will replace the item at the target index with the unresolved item. A resolved an item will reflect the data of the source model at its bound index and will move when that index moves like any other item.

If a new item is replaced in the DelegateModelGroup onChanged() handler its insertion and replacement will be communicated to views as an atomic operation, creating the appearance that the model contents have not changed, or if the unresolved and model item are not adjacent that the previously unresolved item has simply moved.

Definition at line 3248 of file qqmldelegatemodel.cpp.

References args, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::get(), QList< T >::length(), model, Q_ASSERT, qmlWarning(), and tr.

+ Here is the call graph for this function:

◆ setDefaultInclude()

void QQmlDelegateModelGroup::setDefaultInclude ( bool include)

Definition at line 2981 of file qqmldelegatemodel.cpp.

References d, defaultIncludeChanged(), emit, and QQmlDelegateModelPrivate::get().

Referenced by QQmlDelegateModelPrivate::init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setGroups

void QQmlDelegateModelGroup::setGroups ( QQmlV4FunctionPtr args)
slot

\qmlmethod QtQml.Models::DelegateModelGroup::setGroups(int index, int count, stringlist groups)

Changes the group membership of count items starting at index. The items are removed from their existing groups and added to groups.

Definition at line 3487 of file qqmldelegatemodel.cpp.

References args, QAbstractItemModel::count, d, QQmlDelegateModelPrivate::get(), it, model, qmlWarning(), and tr.

+ Here is the call graph for this function:

◆ setName()

void QQmlDelegateModelGroup::setName ( const QString & name)

Definition at line 2944 of file qqmldelegatemodel.cpp.

References d, emit, name, and nameChanged().

+ Here is the call graph for this function:

Property Documentation

◆ count

int QQmlDelegateModelGroup::count
read

Definition at line 138 of file qqmldelegatemodel_p.h.

◆ includeByDefault

bool QQmlDelegateModelGroup::includeByDefault
readwrite

Definition at line 140 of file qqmldelegatemodel_p.h.

◆ name

QString QQmlDelegateModelGroup::name
readwrite

Definition at line 139 of file qqmldelegatemodel_p.h.

Referenced by QQmlDelegateModelGroup(), and setName().


The documentation for this class was generated from the following files: