28void QQmlAdaptorModel::setModel(
const QVariant &variant)
30 accessors->cleanup(*
this);
33 list.setList(variant);
35 modelStrongReference.clear();
37 if (QObject *object = qvariant_cast<QObject *>(list.list())) {
38 if (QQmlData *ddata = QQmlData::get(object))
39 modelStrongReference = ddata->jsWrapper;
41 if (qobject_cast<QAbstractItemModel *>(object))
42 accessors =
new VDMAbstractItemModelDataType(
this);
44 accessors =
new VDMObjectDelegateDataType(
this);
48 switch (list.type()) {
49 case QQmlListAccessor::ListProperty:
50 setObject(
static_cast<
const QQmlListReference *>(list.list().constData())->object());
51 if (QQmlData *ddata = QQmlData::get(object()))
52 modelStrongReference = ddata->jsWrapper;
53 accessors =
new VDMObjectDelegateDataType(
this);
55 case QQmlListAccessor::ObjectList:
56 case QQmlListAccessor::ObjectSequence:
58 accessors =
new VDMObjectDelegateDataType(
this);
60 case QQmlListAccessor::StringList:
61 case QQmlListAccessor::UrlList:
62 case QQmlListAccessor::VariantList:
63 case QQmlListAccessor::Integer:
64 case QQmlListAccessor::ValueSequence:
66 accessors =
new VDMListDelegateDataType(
this);
68 case QQmlListAccessor::Instance:
69 case QQmlListAccessor::Invalid:
71 accessors = &m_nullAccessors;