Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqmlproperty.cpp File Reference

(7fa397156c831b410b551c2ad84d17f2eaf9e5c6)

#include "qqmlproperty.h"
#include <private/qjsvalue_p.h>
#include <private/qmetaobject_p.h>
#include <private/qproperty_p.h>
#include <private/qqmlboundsignal_p.h>
#include <private/qqmlbuiltinfunctions_p.h>
#include <private/qqmldata_p.h>
#include <private/qqmlengine_p.h>
#include <private/qqmlirbuilder_p.h>
#include <private/qqmllist_p.h>
#include <private/qqmllistwrapper_p.h>
#include <private/qqmlproperty_p.h>
#include <private/qqmlsignalnames_p.h>
#include <private/qqmlstringconverters_p.h>
#include <private/qqmlvaluetypeproxybinding_p.h>
#include <private/qqmlvaluetypewrapper_p.h>
#include <private/qqmlvmemetaobject_p.h>
#include <private/qv4functionobject_p.h>
#include <private/qv4qobjectwrapper_p.h>
#include <private/qv4sequenceobject_p.h>
#include <QtQml/qqmlcontext.h>
#include <QtQml/qqmlengine.h>
#include <QtQml/qqmlpropertymap.h>
#include <QtCore/qdebug.h>
#include <QtCore/qsequentialiterable.h>
#include <QtCore/qstringlist.h>
#include <QtCore/qvector.h>
#include <cmath>
#include "moc_qqmlproperty.cpp"
Include dependency graph for qqmlproperty.cpp:

Go to the source code of this file.

Classes

struct  BindingFixer
struct  ConvertAndAssignResult

Typedefs

using AssignResult = QV4::SequencePrototype::RawCopyResult

Functions

QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION (compatResolveUrlsOnAssigment, QML_COMPAT_RESOLVE_URLS_ON_ASSIGNMENT)
static bool removeOldBinding (QObject *object, QQmlPropertyIndex index, QQmlPropertyPrivate::BindingFlags flags=QQmlPropertyPrivate::None)
static void removeValuePropertyBinding (QObject *object, const QQmlPropertyData &core, const QQmlPropertyData &valueTypeData, QQmlPropertyData::WriteFlags flags)
template<typename Op>
bool changePropertyAndWriteBack (QObject *object, int coreIndex, QQmlGadgetPtrWrapper *wrapper, QQmlPropertyData::WriteFlags flags, int internalIndex, Op op)
template<typename Op>
bool changeThroughGadgetPtrWrapper (QObject *object, const QQmlPropertyData &core, const QQmlRefPointer< QQmlContextData > &context, QQmlPropertyData::WriteFlags flags, int internalIndex, Op op)
static ConvertAndAssignResult tryConvertAndAssign (QObject *object, const QQmlPropertyData &property, const QVariant &value, QQmlPropertyData::WriteFlags flags, QMetaType propertyMetaType, QMetaType variantMetaType, bool isUrl, QQmlEnginePrivate *enginePriv)
template<typename Op>
bool iterateQObjectContainer (QMetaType metaType, const void *data, Op op)
static bool tryAssignBinding (QObject *object, const QQmlPropertyData &property, const QVariant &value, QMetaType variantMetaType)
template<typename L>
qsizetype listCount (const L *list)
template<typename L, typename F>
bool iterateList (const L *list, qsizetype size, F &&callback)
static QObjectextractObject (const QVariant &variant)
static QObjectextractObject (QObject *object)
template<typename L, typename DoAppend>
AssignResult assignListToListProperty (QQmlListProperty< QObject > *prop, const L *list, DoAppend &&doAppend)
template<typename DoAppend>
AssignResult assignMetaContainerToListProperty (QQmlListProperty< QObject > *prop, QMetaType metaType, const void *data, DoAppend &&doAppend)
static bool assignToListProperty (const QQmlPropertyData &property, QQmlPropertyData::WriteFlags flags, const QMetaType propertyMetaType, const QMetaType variantMetaType, const QVariant &value, QObject *object)
static void flush_vme_signal (const QObject *object, int index, bool indexInSignalRange)

Typedef Documentation

◆ AssignResult

Function Documentation

◆ assignListToListProperty()

template<typename L, typename DoAppend>
AssignResult assignListToListProperty ( QQmlListProperty< QObject > * prop,
const L * list,
DoAppend && doAppend )

Definition at line 1557 of file qqmlproperty.cpp.

◆ assignMetaContainerToListProperty()

template<typename DoAppend>
AssignResult assignMetaContainerToListProperty ( QQmlListProperty< QObject > * prop,
QMetaType metaType,
const void * data,
DoAppend && doAppend )

Definition at line 1579 of file qqmlproperty.cpp.

◆ assignToListProperty()

bool assignToListProperty ( const QQmlPropertyData & property,
QQmlPropertyData::WriteFlags flags,
const QMetaType propertyMetaType,
const QMetaType variantMetaType,
const QVariant & value,
QObject * object )
static

Definition at line 1629 of file qqmlproperty.cpp.

◆ changePropertyAndWriteBack()

template<typename Op>
bool changePropertyAndWriteBack ( QObject * object,
int coreIndex,
QQmlGadgetPtrWrapper * wrapper,
QQmlPropertyData::WriteFlags flags,
int internalIndex,
Op op )

Definition at line 1299 of file qqmlproperty.cpp.

◆ changeThroughGadgetPtrWrapper()

template<typename Op>
bool changeThroughGadgetPtrWrapper ( QObject * object,
const QQmlPropertyData & core,
const QQmlRefPointer< QQmlContextData > & context,
QQmlPropertyData::WriteFlags flags,
int internalIndex,
Op op )

Definition at line 1310 of file qqmlproperty.cpp.

◆ DEFINE_BOOL_CONFIG_OPTION()

QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION ( compatResolveUrlsOnAssigment ,
QML_COMPAT_RESOLVE_URLS_ON_ASSIGNMENT  )

◆ extractObject() [1/2]

QObject * extractObject ( const QVariant & variant)
static

Definition at line 1544 of file qqmlproperty.cpp.

◆ extractObject() [2/2]

QObject * extractObject ( QObject * object)
static

Definition at line 1549 of file qqmlproperty.cpp.

◆ flush_vme_signal()

void flush_vme_signal ( const QObject * object,
int index,
bool indexInSignalRange )
inlinestatic

If indexInSignalRange is true, index is treated as a signal index (see QObjectPrivate::signalIndex()), otherwise it is treated as a method index (QMetaMethod::methodIndex()).

Definition at line 2223 of file qqmlproperty.cpp.

◆ iterateList()

template<typename L, typename F>
bool iterateList ( const L * list,
qsizetype size,
F && callback )

Definition at line 1534 of file qqmlproperty.cpp.

◆ iterateQObjectContainer()

template<typename Op>
bool iterateQObjectContainer ( QMetaType metaType,
const void * data,
Op op )

Definition at line 1477 of file qqmlproperty.cpp.

◆ listCount()

template<typename L>
qsizetype listCount ( const L * list)

Definition at line 1522 of file qqmlproperty.cpp.

◆ removeOldBinding()

bool removeOldBinding ( QObject * object,
QQmlPropertyIndex index,
QQmlPropertyPrivate::BindingFlags flags = QQmlPropertyPrivate::None )
static

Definition at line 845 of file qqmlproperty.cpp.

◆ removeValuePropertyBinding()

void removeValuePropertyBinding ( QObject * object,
const QQmlPropertyData & core,
const QQmlPropertyData & valueTypeData,
QQmlPropertyData::WriteFlags flags )
static

Definition at line 1286 of file qqmlproperty.cpp.

◆ tryAssignBinding()

bool tryAssignBinding ( QObject * object,
const QQmlPropertyData & property,
const QVariant & value,
QMetaType variantMetaType )
static

Definition at line 1505 of file qqmlproperty.cpp.

◆ tryConvertAndAssign()

ConvertAndAssignResult tryConvertAndAssign ( QObject * object,
const QQmlPropertyData & property,
const QVariant & value,
QQmlPropertyData::WriteFlags flags,
QMetaType propertyMetaType,
QMetaType variantMetaType,
bool isUrl,
QQmlEnginePrivate * enginePriv )
static

Definition at line 1407 of file qqmlproperty.cpp.