35 Q_DECLARE_PUBLIC(QQmlContext)
54 auto size = m_propertyValues.size();
55 Q_ASSERT(size <= std::numeric_limits<
int>::max());
59 void setPropertyValue(
int index,
const QVariant &value) { m_propertyValues[index] = value; }
66 for (
auto it = m_instances.begin(); it != m_instances.end();
67 it->isNull() ? (it = m_instances.erase(it)) : ++it) {}
73 friend class QQmlContextData;
75 QQmlContextPrivate(QQmlContextData *data) : m_data(data) {}
76 QQmlContextPrivate(QQmlContext *publicContext,
const QQmlRefPointer<QQmlContextData> &parent,
77 QQmlEngine *engine =
nullptr);
82 QQmlContextData *m_data;
84 QList<QVariant> m_propertyValues;
85 int m_notifyIndex = -1;
88 QList<QPointer<QObject>> m_instances;
void dropDestroyedQObject(const QString &name, QObject *destroyed)
void setNotifyIndex(int notifyIndex)
void setPropertyValue(int index, const QVariant &value)
void appendInstance(QObject *instance)
void appendPropertyValue(const QVariant &value)
QList< QPointer< QObject > > instances() const
int numPropertyValues() const
QVariant propertyValue(int index) const
static QObject * context_at(QQmlListProperty< QObject > *, qsizetype)
static bool readObjectProperty(const QQmlRefPointer< QQmlContextData > &data, QObject *object, const QString &name, QVariant *target)