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
QtVariantPropertyManager Class Reference

The QtVariantPropertyManager class provides and manages QVariant based properties. More...

#include <qtvariantproperty_p.h>

+ Inheritance diagram for QtVariantPropertyManager:
+ Collaboration diagram for QtVariantPropertyManager:

Public Slots

virtual void setValue (QtProperty *property, const QVariant &val)
 Sets the value of the given property to value.
 
virtual void setAttribute (QtProperty *property, const QString &attribute, const QVariant &value)
 Sets the value of the specified attribute of the given property, to value.
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Signals

void valueChanged (QtProperty *property, const QVariant &val)
 This signal is emitted whenever a property created by this manager changes its value, passing a pointer to the property and the new value as parameters.
 
void attributeChanged (QtProperty *property, const QString &attribute, const QVariant &val)
 This signal is emitted whenever an attribute of a property created by this manager changes its value, passing a pointer to the property, the attribute and the new value as parameters.
 
- Signals inherited from QtAbstractPropertyManager
void propertyInserted (QtProperty *property, QtProperty *parent, QtProperty *after)
 This signal is emitted when a new subproperty is inserted into an existing property, passing pointers to the newProperty, parentProperty and precedingProperty as parameters.
 
void propertyChanged (QtProperty *property)
 This signal is emitted whenever a property's data changes, passing a pointer to the property as parameter.
 
void propertyRemoved (QtProperty *property, QtProperty *parent)
 This signal is emitted when a subproperty is removed, passing pointers to the removed property and the parent property as parameters.
 
void propertyDestroyed (QtProperty *property)
 This signal is emitted when the specified property is about to be destroyed.
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QtVariantPropertyManager (QObject *parent=0)
 Creates a manager with the given parent.
 
 ~QtVariantPropertyManager ()
 Destroys this manager, and all the properties it has created.
 
virtual QtVariantPropertyaddProperty (int propertyType, const QString &name=QString())
 Creates and returns a variant property of the given propertyType with the given name.
 
int propertyType (const QtProperty *property) const
 Returns the given property's type.
 
int valueType (const QtProperty *property) const
 Returns the given property's value type.
 
QtVariantPropertyvariantProperty (const QtProperty *property) const
 Returns the given property converted into a QtVariantProperty.
 
virtual bool isPropertyTypeSupported (int propertyType) const
 Returns true if the given propertyType is supported by this variant manager; otherwise false.
 
virtual int valueType (int propertyType) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns the value type associated with the given propertyType.
 
virtual QStringList attributes (int propertyType) const
 Returns a list of the given propertyType 's attributes.
 
virtual int attributeType (int propertyType, const QString &attribute) const
 Returns the type of the specified attribute of the given propertyType.
 
virtual QVariant value (const QtProperty *property) const
 Returns the given property's value.
 
virtual QVariant attributeValue (const QtProperty *property, const QString &attribute) const
 Returns the given property's value for the specified attribute.
 
- Public Member Functions inherited from QtAbstractPropertyManager
 QtAbstractPropertyManager (QObject *parent=0)
 Creates an abstract property manager with the given parent.
 
 ~QtAbstractPropertyManager ()
 Destroys the manager.
 
QSet< QtProperty * > properties () const
 Returns the set of properties created by this manager.
 
void clear () const
 Destroys all the properties that this manager has created.
 
QtPropertyaddProperty (const QString &name=QString())
 Creates a property with the given name which then is owned by this manager.
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Static Public Member Functions

static int enumTypeId ()
 Returns the type id for an enum property.
 
static int flagTypeId ()
 Returns the type id for a flag property.
 
static int groupTypeId ()
 Returns the type id for a group property.
 
static int iconMapTypeId ()
 Returns the type id for a icon map attribute.
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 

Protected Member Functions

bool hasValue (const QtProperty *property) const override
 
QString valueText (const QtProperty *property) const override
 
QIcon valueIcon (const QtProperty *property) const override
 
void initializeProperty (QtProperty *property) override
 
void uninitializeProperty (QtProperty *property) override
 
QtPropertycreateProperty () override
 
- Protected Member Functions inherited from QtAbstractPropertyManager
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Additional Inherited Members

- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Detailed Description

The QtVariantPropertyManager class provides and manages QVariant based properties.

\inmodule QtDesigner

Since
4.4

QtVariantPropertyManager provides the addProperty() function which creates QtVariantProperty objects. The QtVariantProperty class is a convenience class handling QVariant based properties inheriting QtProperty. A QtProperty object created by a QtVariantPropertyManager instance can be converted into a QtVariantProperty object using the variantProperty() function.

The property's value can be retrieved using the value(), and set using the setValue() slot. In addition the property's type, and the type of its value, can be retrieved using the propertyType() and valueType() functions respectively.

A property's type is a QMetaType::QType enumerator value, and usually a property's type is the same as its value type. But for some properties the types differ, for example for enums, flags and group types in which case QtVariantPropertyManager provides the enumTypeId(), flagTypeId() and groupTypeId() functions, respectively, to identify their property type (the value types are QMetaType::Int for the enum and flag types, and QMetaType::UnknownType for the group type).

Use the isPropertyTypeSupported() function to check if a particular property type is supported. The currently supported property types are:

\table \header

Each property type can provide additional attributes, e.g. QMetaType::Int and QMetaType::Double provides minimum and maximum values. The currently supported attributes are:

\table \header

  • Property Type
  • Attribute Name
  • Attribute Type \row
  • int
  • minimum
  • QMetaType::Int \row
  • maximum
  • QMetaType::Int \row
  • singleStep
  • QMetaType::Int \row
  • double
  • minimum
  • QMetaType::Double \row
  • maximum
  • QMetaType::Double \row
  • singleStep
  • QMetaType::Double \row
  • decimals
  • QMetaType::Int \row
  • QString
  • regExp
  • QMetaType::QRegExp \row
  • QDate
  • minimum
  • QMetaType::QDate \row
  • maximum
  • QMetaType::QDate \row
  • QPointF
  • decimals
  • QMetaType::Int \row
  • QSize
  • minimum
  • QMetaType::QSize \row
  • maximum
  • QMetaType::QSize \row
  • QSizeF
  • minimum
  • QMetaType::QSizeF \row
  • maximum
  • QMetaType::QSizeF \row
  • decimals
  • QMetaType::Int \row
  • QRect
  • constraint
  • QMetaType::QRect \row
  • QRectF
  • constraint
  • QMetaType::QRectF \row
  • decimals
  • QMetaType::Int \row
  • enum
  • enumNames
  • QMetaType::QStringList \row
  • enumIcons
  • iconMapTypeId() \row
  • flag
  • flagNames
  • QMetaType::QStringList \endtable

The attributes for a given property type can be retrieved using the attributes() function. Each attribute has a value type which can be retrieved using the attributeType() function, and a value accessible through the attributeValue() function. In addition, the value can be set using the setAttribute() slot.

QtVariantManager also provides the valueChanged() signal which is emitted whenever a property created by this manager change, and the attributeChanged() signal which is emitted whenever an attribute of such a property changes.

See also
QtVariantProperty, QtVariantEditorFactory

Definition at line 46 of file qtvariantproperty_p.h.

Constructor & Destructor Documentation

◆ QtVariantPropertyManager()

QtVariantPropertyManager::QtVariantPropertyManager ( QObject * parent = 0)

◆ ~QtVariantPropertyManager()

QtVariantPropertyManager::~QtVariantPropertyManager ( )

Destroys this manager, and all the properties it has created.

Definition at line 1274 of file qtvariantproperty.cpp.

References QtAbstractPropertyManager::clear().

+ Here is the call graph for this function:

Member Function Documentation

◆ addProperty()

QtVariantProperty * QtVariantPropertyManager::addProperty ( int propertyType,
const QString & name = QString() )
virtual

Creates and returns a variant property of the given propertyType with the given name.

If the specified propertyType is not supported by this variant manager, this function returns 0.

Do not use the inherited QtAbstractPropertyManager::addProperty() function to create a variant property (that function will always return 0 since it will not be clear what type the property should have).

See also
isPropertyTypeSupported()

Definition at line 1322 of file qtvariantproperty.cpp.

References isPropertyTypeSupported(), and variantProperty().

+ Here is the call graph for this function:

◆ attributeChanged

void QtVariantPropertyManager::attributeChanged ( QtProperty * property,
const QString & attribute,
const QVariant & value )
signal

This signal is emitted whenever an attribute of a property created by this manager changes its value, passing a pointer to the property, the attribute and the new value as parameters.

See also
setAttribute()

◆ attributes()

QStringList QtVariantPropertyManager::attributes ( int propertyType) const
virtual

Returns a list of the given propertyType 's attributes.

See also
attributeValue(), attributeType()

Reimplemented in qdesigner_internal::DesignerPropertyManager.

Definition at line 1550 of file qtvariantproperty.cpp.

◆ attributeType()

int QtVariantPropertyManager::attributeType ( int propertyType,
const QString & attribute ) const
virtual

Returns the type of the specified attribute of the given propertyType.

If the given propertyType is not supported by this manager, or if the given propertyType does not possess the specified attribute, this function returns QMetaType::UnknownType.

See also
attributes(), valueType()

Reimplemented in qdesigner_internal::DesignerPropertyManager.

Definition at line 1568 of file qtvariantproperty.cpp.

◆ attributeValue()

QVariant QtVariantPropertyManager::attributeValue ( const QtProperty * property,
const QString & attribute ) const
virtual

Returns the given property's value for the specified attribute.

If the given property was not created by this manager, or if the specified attribute does not exist, this function returns an invalid variant.

See also
attributes(), attributeType(), setAttribute()

Reimplemented in qdesigner_internal::DesignerPropertyManager.

Definition at line 1452 of file qtvariantproperty.cpp.

References QtProperty::propertyManager(), and propertyType().

+ Here is the call graph for this function:

◆ createProperty()

QtProperty * QtVariantPropertyManager::createProperty ( )
overrideprotectedvirtual

Reimplemented from QtAbstractPropertyManager.

Definition at line 1865 of file qtvariantproperty.cpp.

References QtVariantProperty::QtVariantProperty().

+ Here is the call graph for this function:

◆ enumTypeId()

QT_END_NAMESPACE QT_BEGIN_NAMESPACE int QtVariantPropertyManager::enumTypeId ( )
static

Returns the type id for an enum property.

Note that the property's value type can be retrieved using the valueType() function (which is QMetaType::Int for the enum property type).

See also
propertyType(), valueType()

Definition at line 55 of file qtvariantproperty.cpp.

Referenced by QtVariantEditorFactory::QtVariantEditorFactory(), QtVariantPropertyManager(), QtVariantPropertyManagerPrivate::internalPropertyToType(), and qdesigner_internal::PropertyEditor::setObject().

+ Here is the caller graph for this function:

◆ flagTypeId()

int QtVariantPropertyManager::flagTypeId ( )
static

Returns the type id for a flag property.

Note that the property's value type can be retrieved using the valueType() function (which is QMetaType::Int for the flag property type).

See also
propertyType(), valueType()

Definition at line 69 of file qtvariantproperty.cpp.

Referenced by QtVariantPropertyManager().

+ Here is the caller graph for this function:

◆ groupTypeId()

int QtVariantPropertyManager::groupTypeId ( )
static

Returns the type id for a group property.

Note that the property's value type can be retrieved using the valueType() function (which is QMetaType::UnknownType for the group property type, since it doesn't provide any value).

See also
propertyType(), valueType()

Definition at line 83 of file qtvariantproperty.cpp.

Referenced by QtVariantPropertyManager(), hasValue(), and qdesigner_internal::PropertyEditor::setObject().

+ Here is the caller graph for this function:

◆ hasValue()

bool QtVariantPropertyManager::hasValue ( const QtProperty * property) const
overrideprotectedvirtual

Reimplemented from QtAbstractPropertyManager.

Definition at line 1785 of file qtvariantproperty.cpp.

References groupTypeId(), and propertyType().

+ Here is the call graph for this function:

◆ iconMapTypeId()

int QtVariantPropertyManager::iconMapTypeId ( )
static

Returns the type id for a icon map attribute.

Note that the property's attribute type can be retrieved using the attributeType() function.

See also
attributeType(), QtEnumPropertyManager::enumIcons()

Definition at line 96 of file qtvariantproperty.cpp.

◆ initializeProperty()

void QtVariantPropertyManager::initializeProperty ( QtProperty * property)
overrideprotectedvirtual

Implements QtAbstractPropertyManager.

Definition at line 1813 of file qtvariantproperty.cpp.

References variantProperty().

+ Here is the call graph for this function:

◆ isPropertyTypeSupported()

bool QtVariantPropertyManager::isPropertyTypeSupported ( int propertyType) const
virtual

Returns true if the given propertyType is supported by this variant manager; otherwise false.

See also
propertyType()

Reimplemented in qdesigner_internal::DesignerPropertyManager.

Definition at line 1301 of file qtvariantproperty.cpp.

Referenced by addProperty().

+ Here is the caller graph for this function:

◆ propertyType()

int QtVariantPropertyManager::propertyType ( const QtProperty * property) const

Returns the given property's type.

See also
valueType()

Definition at line 1434 of file qtvariantproperty.cpp.

Referenced by attributeValue(), QtVariantEditorFactory::createEditor(), hasValue(), and valueType().

+ Here is the caller graph for this function:

◆ setAttribute

void QtVariantPropertyManager::setAttribute ( QtProperty * property,
const QString & attribute,
const QVariant & value )
virtualslot

Sets the value of the specified attribute of the given property, to value.

The new value's type must be of the type returned by attributeType(), or of a type that can be converted to attributeType() using the QVariant::canConvert() function, otherwise this function does nothing.

See also
attributeValue(), QtVariantProperty::setAttribute(), attributeChanged()

Definition at line 1693 of file qtvariantproperty.cpp.

References QtProperty::propertyManager().

+ Here is the call graph for this function:

◆ setValue

void QtVariantPropertyManager::setValue ( QtProperty * property,
const QVariant & value )
virtualslot

Sets the value of the given property to value.

The specified value must be of a type returned by valueType(), or of type that can be converted to valueType() using the QVariant::canConvert() function, otherwise this function does nothing.

See also
value(), QtVariantProperty::setValue(), valueChanged()

Definition at line 1593 of file qtvariantproperty.cpp.

References QtProperty::propertyManager(), and valueType().

+ Here is the call graph for this function:

◆ uninitializeProperty()

void QtVariantPropertyManager::uninitializeProperty ( QtProperty * property)
overrideprotectedvirtual

Reimplemented from QtAbstractPropertyManager.

Definition at line 1842 of file qtvariantproperty.cpp.

◆ value()

QVariant QtVariantPropertyManager::value ( const QtProperty * property) const
virtual

Returns the given property's value.

If the given property is not managed by this manager, this function returns an invalid variant.

See also
setValue()

Reimplemented in qdesigner_internal::DesignerPropertyManager.

Definition at line 1348 of file qtvariantproperty.cpp.

References QtProperty::propertyManager().

+ Here is the call graph for this function:

◆ valueChanged

void QtVariantPropertyManager::valueChanged ( QtProperty * property,
const QVariant & value )
signal

This signal is emitted whenever a property created by this manager changes its value, passing a pointer to the property and the new value as parameters.

See also
setValue()

◆ valueIcon()

QIcon QtVariantPropertyManager::valueIcon ( const QtProperty * property) const
overrideprotectedvirtual

Reimplemented from QtAbstractPropertyManager.

Definition at line 1804 of file qtvariantproperty.cpp.

◆ valueText()

QString QtVariantPropertyManager::valueText ( const QtProperty * property) const
overrideprotectedvirtual

Reimplemented from QtAbstractPropertyManager.

Definition at line 1795 of file qtvariantproperty.cpp.

◆ valueType() [1/2]

int QtVariantPropertyManager::valueType ( const QtProperty * property) const

Returns the given property's value type.

See also
propertyType()

Definition at line 1411 of file qtvariantproperty.cpp.

References propertyType(), and valueType().

Referenced by setValue().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ valueType() [2/2]

int QtVariantPropertyManager::valueType ( int propertyType) const
virtual

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Returns the value type associated with the given propertyType.

Reimplemented in qdesigner_internal::DesignerPropertyManager.

Definition at line 1422 of file qtvariantproperty.cpp.

Referenced by valueType().

+ Here is the caller graph for this function:

◆ variantProperty()

QtVariantProperty * QtVariantPropertyManager::variantProperty ( const QtProperty * property) const

Returns the given property converted into a QtVariantProperty.

If the property was not created by this variant manager, the function returns 0.

See also
createProperty()

Definition at line 1287 of file qtvariantproperty.cpp.

Referenced by addProperty(), initializeProperty(), qdesigner_internal::FontPropertyManager::postInitializeProperty(), qdesigner_internal::FontPropertyManager::resetFontSubProperty(), qdesigner_internal::BrushPropertyManager::setValue(), qdesigner_internal::FontPropertyManager::setValue(), and qdesigner_internal::BrushPropertyManager::valueChanged().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: