Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qproperty.h File Reference

(216af5d7f9675a408e22167b097f221beeeb88db)

#include <QtCore/qglobal.h>
#include <QtCore/qshareddata.h>
#include <QtCore/qstring.h>
#include <QtCore/qbindingstorage.h>
#include <type_traits>
#include <QtCore/qpropertyprivate.h>
+ Include dependency graph for qproperty.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  QScopedPropertyUpdateGroup
 RAII class around Qt::beginPropertyUpdateGroup()/Qt::endPropertyUpdateGroup(). More...
 
class  QPropertyData< T >
 \inmodule QtCore More...
 
struct  QPropertyBindingSourceLocation
 
class  QPropertyBindingError
 \inmodule QtCore More...
 
class  QUntypedPropertyBinding
 
class  QPropertyBinding< PropertyType >
 
class  QPropertyObserverBase
 
class  QPropertyObserver
 
class  QPropertyChangeHandler< Functor >
 \inmodule QtCore More...
 
class  QPropertyNotifier
 \inmodule QtCore More...
 
class  QProperty< T >
 \inmodule QtCore More...
 
struct  QtPrivate::QBindableInterface
 
class  QtPrivate::QBindableInterfaceForProperty< Property, typename >
 
class  QtPrivate::QBindableInterfaceForProperty< const Property, std::void_t< decltype(std::declval< Property >().binding())> >
 
class  QtPrivate::QBindableInterfaceForProperty< Property, std::void_t< decltype(std::declval< Property >().binding())> >
 
class  QUntypedBindable
 \inmodule QtCore More...
 
class  QBindable< T >
 \inmodule QtCore More...
 
class  QObjectBindableProperty< Class, T, Offset, Signal >
 \inmodule QtCore More...
 
class  QObjectComputedProperty< Class, T, Offset, Getter >
 \macro Q_OBJECT_COMPAT_PROPERTY(containingClass, type, name, callback) More...
 

Namespaces

namespace  Qt
 
namespace  QtPrivate
 \macro QT_NO_KEYWORDS >
 
namespace  QtPrivate::BindableWarnings
 
namespace  QtPrivate::PropertyAdaptorSlotObjectHelpers
 

Macros

#define QT_PROPERTY_DEFAULT_BINDING_LOCATION   QPropertyBindingSourceLocation()
 
#define QT_OBJECT_BINDABLE_PROPERTY_3(Class, Type, name)
 
#define QT_OBJECT_BINDABLE_PROPERTY_4(Class, Type, name, Signal)
 
#define Q_OBJECT_BINDABLE_PROPERTY(...)
 
#define QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_4(Class, Type, name, value)
 
#define QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_5(Class, Type, name, value, Signal)
 
#define Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(...)
 
#define Q_OBJECT_COMPUTED_PROPERTY(Class, Type, name, ...)
 

Enumerations

enum  QtPrivate::BindableWarnings::Reason { QtPrivate::BindableWarnings::InvalidInterface , QtPrivate::BindableWarnings::NonBindableInterface , QtPrivate::BindableWarnings::ReadOnlyInterface }
 

Functions

Q_CORE_EXPORT void Qt::beginPropertyUpdateGroup ()
 
Q_CORE_EXPORT void Qt::endPropertyUpdateGroup ()
 
template<typename Functor >
auto Qt::makePropertyBinding (Functor &&f, const QPropertyBindingSourceLocation &location=QT_PROPERTY_DEFAULT_BINDING_LOCATION, std::enable_if_t< std::is_invocable_v< Functor > > *=nullptr)
 
template<typename PropertyType >
QPropertyBinding< PropertyType > Qt::makePropertyBinding (const QProperty< PropertyType > &otherProperty, const QPropertyBindingSourceLocation &location=QT_PROPERTY_DEFAULT_BINDING_LOCATION)
 
void QtPrivate::BindableWarnings::printUnsuitableBindableWarning (QAnyStringView prefix, BindableWarnings::Reason reason)
 
void QtPrivate::BindableWarnings::printMetaTypeMismatch (QMetaType actual, QMetaType expected)
 
void QtPrivate::PropertyAdaptorSlotObjectHelpers::getter (const QUntypedPropertyData *d, void *value)
 
void QtPrivate::PropertyAdaptorSlotObjectHelpers::setter (QUntypedPropertyData *d, const void *value)
 
QUntypedPropertyBinding QtPrivate::PropertyAdaptorSlotObjectHelpers::getBinding (const QUntypedPropertyData *d)
 
bool QtPrivate::PropertyAdaptorSlotObjectHelpers::bindingWrapper (QMetaType type, QUntypedPropertyData *d, QtPrivate::QPropertyBindingFunction binding, QUntypedPropertyData *temp, void *value)
 
QUntypedPropertyBinding QtPrivate::PropertyAdaptorSlotObjectHelpers::setBinding (QUntypedPropertyData *d, const QUntypedPropertyBinding &binding, QPropertyBindingWrapper wrapper)
 
void QtPrivate::PropertyAdaptorSlotObjectHelpers::setObserver (const QUntypedPropertyData *d, QPropertyObserver *observer)
 
template<typename T >
bool QtPrivate::PropertyAdaptorSlotObjectHelpers::bindingWrapper (QMetaType type, QUntypedPropertyData *d, QtPrivate::QPropertyBindingFunction binding)
 
template<typename T >
QUntypedPropertyBinding QtPrivate::PropertyAdaptorSlotObjectHelpers::setBinding (QUntypedPropertyData *d, const QUntypedPropertyBinding &binding)
 
template<typename T >
QUntypedPropertyBinding QtPrivate::PropertyAdaptorSlotObjectHelpers::makeBinding (const QUntypedPropertyData *d, const QPropertyBindingSourceLocation &location)
 

Variables

template<class T >
constexpr QBindableInterface QtPrivate::PropertyAdaptorSlotObjectHelpers::iface
 

Macro Definition Documentation

◆ Q_OBJECT_BINDABLE_PROPERTY

#define Q_OBJECT_BINDABLE_PROPERTY ( ...)
Value:
QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \
QT_OVERLOADED_MACRO(QT_OBJECT_BINDABLE_PROPERTY, __VA_ARGS__) \
#define QT_WARNING_POP
#define QT_WARNING_PUSH

Definition at line 1239 of file qproperty.h.

◆ Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS

#define Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS ( ...)
Value:
QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \
QT_OVERLOADED_MACRO(QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS, __VA_ARGS__) \

Definition at line 1266 of file qproperty.h.

◆ Q_OBJECT_COMPUTED_PROPERTY

#define Q_OBJECT_COMPUTED_PROPERTY ( Class,
Type,
name,
... )
Value:
static constexpr size_t _qt_property_##name##_offset() { \
QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \
return offsetof(Class, name); \
} \
QObjectComputedProperty<Class, Type, Class::_qt_property_##name##_offset, __VA_ARGS__> name;
GLuint name

Definition at line 1355 of file qproperty.h.

◆ QT_OBJECT_BINDABLE_PROPERTY_3

#define QT_OBJECT_BINDABLE_PROPERTY_3 ( Class,
Type,
name )
Value:
static constexpr size_t _qt_property_##name##_offset() { \
QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \
return offsetof(Class, name); \
} \
QObjectBindableProperty<Class, Type, Class::_qt_property_##name##_offset, nullptr> name;

Definition at line 1223 of file qproperty.h.

◆ QT_OBJECT_BINDABLE_PROPERTY_4

#define QT_OBJECT_BINDABLE_PROPERTY_4 ( Class,
Type,
name,
Signal )
Value:
static constexpr size_t _qt_property_##name##_offset() { \
QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \
return offsetof(Class, name); \
} \
QObjectBindableProperty<Class, Type, Class::_qt_property_##name##_offset, Signal> name;

Definition at line 1231 of file qproperty.h.

◆ QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_4

#define QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_4 ( Class,
Type,
name,
value )
Value:
static constexpr size_t _qt_property_##name##_offset() \
{ \
QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \
return offsetof(Class, name); \
} \
QObjectBindableProperty<Class, Type, Class::_qt_property_##name##_offset, nullptr> name = \
QObjectBindableProperty<Class, Type, Class::_qt_property_##name##_offset, nullptr>( \
EGLOutputLayerEXT EGLint EGLAttrib value
[5]

Definition at line 1244 of file qproperty.h.

◆ QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_5

#define QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_5 ( Class,
Type,
name,
value,
Signal )
Value:
static constexpr size_t _qt_property_##name##_offset() \
{ \
QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \
return offsetof(Class, name); \
} \
QObjectBindableProperty<Class, Type, Class::_qt_property_##name##_offset, Signal> name = \
QObjectBindableProperty<Class, Type, Class::_qt_property_##name##_offset, Signal>( \

Definition at line 1255 of file qproperty.h.

◆ QT_PROPERTY_DEFAULT_BINDING_LOCATION

#define QT_PROPERTY_DEFAULT_BINDING_LOCATION   QPropertyBindingSourceLocation()

Definition at line 46 of file qproperty.h.