4#ifndef QQMLANYBINDINGPTR_P_H
5#define QQMLANYBINDINGPTR_P_H
19#include <private/qqmlpropertybinding_p.h>
20#include <private/qqmlbinding_p.h>
77 auto coreIndex =
index.coreIndex();
79 if (!
index.hasValueTypeIndex() &&
data->propertyCache->property(coreIndex)->isBindable()) {
80 auto metaProp =
object->metaObject()->property(coreIndex);
103 binding = qmlBinding;
105 qmlBinding->removeFromObject();
131 qmlBinding->setTarget(prop);
132 binding = qmlBinding;
154 qmlBinding->setTarget(prop);
155 binding = qmlBinding;
191 qmlBinding->setTarget(prop);
192 binding = qmlBinding;
210 binding = qmlBinding;
211 qmlBinding->setTarget(prop);
245 void *argv[] = {&bindable};
282 operator bool()
const{
338 binding->setEnabledFlag(
true);
341 auto bindingPriv = d.
asT2();
343 bindingPriv->evaluateRecursive(bindingObservers);
344 bindingPriv->notifyNonRecursive(bindingObservers);
426 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(
QQmlAnyBinding)
434 if (
auto abstractBinding =
other.asAbstractBinding())
435 *
this = abstractBinding;
436 else if (
auto untypedBinding =
other.asUntypedPropertyBinding(); !untypedBinding.isNull())
437 *
this = untypedBinding;
453 void clear() noexcept {
460 }
else if (d.
isT2()) {
void swap(QBiPointer &other) noexcept
T * data() const noexcept
Returns a pointer to the shared data object.
static void destroyAndFreeMemory(QPropertyBindingPrivate *priv)
static QPropertyBindingPrivate * get(const QUntypedPropertyBinding &binding)
QQmlAnyBinding is an abstraction over the various bindings in QML.
QUntypedPropertyBinding asUntypedPropertyBinding() const
static QQmlAnyBinding createFromCodeString(const QQmlProperty &prop, const QString &code, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, const QString &url, quint16 lineNumber)
static void removeBindingFrom(QQmlProperty &prop)
static QQmlAnyBinding createFromScriptString(const QQmlProperty &prop, const QQmlScriptString &script, QObject *obj, QQmlContext *ctxt)
bool isUntypedPropertyBinding() const
friend bool operator!=(const QQmlAnyBinding &p1, const QQmlAnyBinding &p2)
static QQmlAnyBinding createTranslationBinding(const QQmlProperty &prop, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &compilationUnit, const QV4::CompiledData::Binding *translationBinding, QObject *scopeObject=nullptr, QQmlRefPointer< QQmlContextData > context={})
QQmlAnyBinding & operator=(const QQmlAnyBinding &other) noexcept
friend bool operator==(const QQmlAnyBinding &p1, const QQmlAnyBinding &p2)
QQmlAnyBinding & operator=(QUntypedPropertyBinding &&untypedBinding)
QQmlAnyBinding & operator=(std::nullptr_t)
Stores a null binding.
static QQmlAnyBinding takeFrom(const QQmlProperty &prop)
Removes the binding from the property prop, and returns it as a QQmlAnyBinding if there was any.
QQmlAbstractBinding * asAbstractBinding() const
static QQmlAnyBinding ofProperty(QObject *object, QQmlPropertyIndex index)
This is an overloaded member function, provided for convenience. It differs from the above function o...
void installOn(const QQmlProperty &target, InterceptorMode mode=IgnoreInterceptors)
QQmlAnyBinding & operator=(QQmlAbstractBinding *binding)
QQmlAnyBinding & operator=(const QUntypedPropertyBinding &untypedBinding)
bool isAbstractPropertyBinding() const
~QQmlAnyBinding() noexcept
QQmlAnyBinding(QQmlAnyBinding &&other) noexcept
friend void swap(QQmlAnyBinding &lhs, QQmlAnyBinding &rhs) noexcept
static QQmlAnyBinding ofProperty(const QQmlProperty &prop)
QQmlAnyBinding(const QQmlAnyBinding &other) noexcept
QQmlAnyBinding & operator=(QQmlAbstractBinding::Ptr &&binding)
static QQmlAnyBinding createFromFunction(const QQmlProperty &prop, QV4::Function *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope)
constexpr QQmlAnyBinding() noexcept=default
QQmlAnyBinding & operator=(const QQmlAbstractBinding::Ptr &binding)
static QQmlBinding * createTranslationBinding(const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QV4::CompiledData::Binding *binding, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt)
static QQmlBinding * create(const QQmlPropertyData *, const QQmlScriptString &, QObject *, QQmlContext *)
The QQmlContext class defines a context within a QML engine.
static QQmlData * get(QObjectPrivate *priv, bool create)
static QUntypedPropertyBinding createFromCodeString(const QQmlPropertyData *property, const QString &str, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, const QString &url, quint16 lineNumber, QObject *target, QQmlPropertyIndex targetIndex)
static QUntypedPropertyBinding create(const QQmlPropertyData *pd, QV4::Function *function, QObject *obj, const QQmlRefPointer< QQmlContextData > &ctxt, QV4::ExecutionContext *scope, QObject *target, QQmlPropertyIndex targetIndex)
static QUntypedPropertyBinding createFromScriptString(const QQmlPropertyData *property, const QQmlScriptString &script, QObject *obj, QQmlContext *ctxt, QObject *target, QQmlPropertyIndex targetIndex)
static void setBinding(QQmlAbstractBinding *binding, BindingFlags flags=None, QQmlPropertyData::WriteFlags writeFlags=QQmlPropertyData::DontRemoveBinding)
static void removeBinding(const QQmlProperty &that)
static QQmlPropertyPrivate * get(const QQmlProperty &p)
static QQmlAbstractBinding * binding(QObject *, QQmlPropertyIndex index)
The QQmlProperty class abstracts accessing properties on objects created from QML.
QMetaProperty property() const
Returns the \l{QMetaProperty} {Qt property} associated with this QML property.
QML_ANONYMOUSQObject * object
The QQmlScriptString class encapsulates a script and its context.
static QUntypedPropertyBinding Q_QML_PRIVATE_EXPORT create(const QQmlPropertyData *pd, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &compilationUnit, const QV4::CompiledData::Binding *binding)
\macro QT_RESTRICTED_CAST_FROM_ASCII
QUntypedPropertyBinding binding() const
Returns the underlying property's binding if there is any, or a default constructed QUntypedPropertyB...
QUntypedPropertyBinding takeBinding()
Removes the currently set binding from the property and returns it.
bool setBinding(const QUntypedPropertyBinding &binding)
Sets the underlying property's binding to binding.
QPropertyBindingError error() const
Returns the error state of the binding.
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction function
static ControlElement< T > * ptr(QWidget *widget)
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
QUrl url("example.com")
[constructor-url-reference]