void QtField::setValueToInstance(ExecState* exec, const Instance* inst, JSValue aValue) const { if (m_type == ChildObject) // QtScript doesn't allow setting to a named child return; const QtInstance* instance = static_cast<const QtInstance*>(inst); QObject* obj = instance->getObject(); if (obj) { QMetaType::Type argtype = QMetaType::Void; if (m_type == MetaProperty) #if HAVE(QT5) argtype = (QMetaType::Type) m_property.userType(); #else argtype = (QMetaType::Type) QMetaType::type(m_property.typeName()); #endif // dynamic properties just get any QVariant QVariant val = convertValueToQVariant(exec, aValue, argtype, 0); if (m_type == MetaProperty) { if (m_property.isWritable()) m_property.write(obj, val); } #ifndef QT_NO_PROPERTIES else if (m_type == DynamicProperty) obj->setProperty(m_dynamicProperty.constData(), val); #endif } else { QString msg = QString(QLatin1String("cannot access member `%1' of deleted QObject")).arg(QLatin1String(name())); throwError(exec, createError(exec, msg.toLatin1().constData())); } }
void QtField::setValueToInstance(ExecState* exec, const Instance* inst, JSValue* aValue) const { qDebug() << "setValueToInstance"; const QtInstance* instance = static_cast<const QtInstance*>(inst); QObject* obj = instance->getObject(); QVariant val = convertValueToQVariant(exec, aValue); property.write(obj, val); }