void QMetaPropertyAdaptor::doSetObject(const ObjectInstance& oi) { auto mo = oi.metaObject(); if (!mo || oi.type() != ObjectInstance::QtObject || !oi.qtObject()) return; connect(oi.qtObject(), SIGNAL(destroyed(QObject*)), this, SIGNAL(objectInvalidated())); for (int i = 0; i < mo->propertyCount(); ++i) { const QMetaProperty prop = mo->property(i); if (prop.hasNotifySignal()) { connect(oi.qtObject(), QByteArray("2") + #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) prop.notifySignal().signature() #else prop.notifySignal().methodSignature() #endif , this, SLOT(propertyUpdated())); m_notifyToPropertyMap.insert(prop.notifySignalIndex(), i); } } }
void AssociativePropertyAdaptor::doSetObject(const ObjectInstance& oi) { if (oi.type() == ObjectInstance::QtVariant) m_value = oi.variant(); }