6#include <QtQml/QQmlContext>
7#include <QtQml/QQmlComponent>
8#include <QtQml/QQmlInfo>
9#include <QtQml/QQmlError>
10#include <QtQmlModels/private/qqmlobjectmodel_p.h>
11#if QT_CONFIG(qml_delegate_model)
12#include <QtQmlModels/private/qqmldelegatemodel_p.h>
18 : componentComplete(true)
19 , effectiveReset(
false)
43 emit q->objectRemoved(
i,
object);
45 if (
object &&
object->parent() ==
q)
46 object->setParent(
nullptr);
50 emit q->objectChanged();
68 int prevCount =
q->count();
84 if (
q->count() != prevCount)
99 if (
objects.capacity() < modelCount)
108 q->objectAdded(idx,
item);
136 }
else while (
count--) {
144 difference -=
remove.count;
157 int modelIndex =
index +
i;
163 difference +=
insert.count;
170#if QT_CONFIG(qml_delegate_model)
171void QQmlInstantiatorPrivate::makeModel()
250 if (newVal ==
d->active)
277 if (newVal ==
d->async)
293 return d->objects.size();
318 if (
c ==
d->delegate)
324#if QT_CONFIG(qml_delegate_model)
329 dModel->setDelegate(
c);
330 if (
d->componentComplete)
368 if (!
d->componentComplete)
372 QObject *
object = qvariant_cast<QObject*>(
v);
374 if (
object && (vim = qobject_cast<QQmlInstanceModel *>(
object))) {
375#if QT_CONFIG(qml_delegate_model)
377 delete d->instanceModel;
382 d->instanceModel = vim;
383#if QT_CONFIG(qml_delegate_model)
388 if (
QQmlDelegateModel *dataModel = qobject_cast<QQmlDelegateModel *>(
d->instanceModel)) {
389 d->effectiveReset =
true;
390 dataModel->setModel(
v);
391 d->effectiveReset =
false;
396 if (
d->instanceModel != prevModel) {
404 if (
d->instanceModel) {
425 if (
d->objects.size())
426 return d->objects[0];
438 if (
index >= 0 && index < d->objects.size())
449 d->componentComplete =
false;
458 d->componentComplete =
true;
459#if QT_CONFIG(qml_delegate_model)
475#include "moc_qqmlinstantiator_p.cpp"
T value(const Key &key) const noexcept
iterator insert(const Key &key, const T &value)
Inserts a new item with the key and a value of value.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
The QQmlChangeSet class stores an ordered list of notifications about changes to a linear data set.
const QVector< Change > & removes() const
const QVector< Change > & inserts() const
The QQmlComponent class encapsulates a QML component definition.
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
void setDelegate(QQmlComponent *)
void classBegin() override
Invoked after class creation, but before any properties have been set.
virtual bool isValid() const =0
virtual ReleaseFlags release(QObject *object, ReusableFlag reusableFlag=NotReusable)=0
QQmlInstanceModel * instanceModel
void _q_createdItem(int, QObject *)
QObject * modelObject(int index, bool async)
void _q_modelUpdated(const QQmlChangeSet &, bool)
QQmlInstantiatorPrivate()
QVector< QPointer< QObject > > objects
QQmlComponent * delegate
\qmlproperty QtQml::Component QtQml.Models::Instantiator::delegate \qmldefault
void classBegin() override
void setDelegate(QQmlComponent *c)
bool isActive() const
\qmlsignal QtQml.Models::Instantiator::objectAdded(int index, QtObject object)
void setAsync(bool newVal)
QQmlInstantiator(QObject *parent=nullptr)
\qmltype Instantiator \instantiates QQmlInstantiator \inqmlmodule QtQml.Models
void setModel(const QVariant &v)
bool isAsync() const
\qmlproperty bool QtQml.Models::Instantiator::asynchronous
void asynchronousChanged()
void setActive(bool newVal)
Q_INVOKABLE QObject * objectAt(int index) const
\qmlmethod QtObject QtQml.Models::Instantiator::objectAt(int index)
void componentComplete() override
cache insert(employee->id(), employee)
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
constexpr const T & qMin(const T &a, const T &b)
GLsizei const GLfloat * v
[13]
GLenum GLenum GLsizei count
GLdouble GLdouble GLdouble GLdouble q
QQmlContext * qmlContext(const QObject *obj)
#define QT_CONFIG(feature)
QSqlQueryModel * model
[16]
if(qFloatDistance(a, b)<(1<< 7))
[0]
settings remove("monkey")
myObject disconnect()
[26]
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent