|  | Home

# QtVariantPropertyManager Class Reference

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

     #include <QtVariantPropertyManager>

Inherits QtAbstractPropertyManager.

- List of all members, including inherited members

## Public Functions

| QtVariantPropertyManager ( QObject * parent = 0 )
| ~QtVariantPropertyManager ()
virtual QtVariantProperty * | addProperty ( int propertyType, const QString & name = QString() )
virtual int | attributeType ( int propertyType, const QString & attribute ) const
virtual QVariant | attributeValue ( const QtProperty * property, const QString & attribute ) const
virtual QStringList | attributes ( int propertyType ) const
virtual bool | isPropertyTypeSupported ( int propertyType ) const
int | propertyType ( const QtProperty * property ) const
virtual QVariant | value ( const QtProperty * property ) const
int | valueType ( const QtProperty * property ) const
virtual int | valueType ( int propertyType ) const
QtVariantProperty * | variantProperty ( const QtProperty * property ) const

- 3 public functions inherited from QtAbstractPropertyManager
- 29 public functions inherited from QObject

## Public Slots

virtual void | setAttribute ( QtProperty * property, const QString & attribute, const QVariant & value )
virtual void | setValue ( QtProperty * property, const QVariant & value )

- 1 public slot inherited from QObject

## Signals

void | attributeChanged ( QtProperty * property, const QString & attribute, const QVariant & value )
void | valueChanged ( QtProperty * property, const QVariant & value )

- 4 signals inherited from QtAbstractPropertyManager
- 1 signal inherited from QObject

## Static Public Members

int | enumTypeId ()
int | flagTypeId ()
int | groupTypeId ()
int | iconMapTypeId ()

- 4 static public members inherited from QObject

## Reimplemented Protected Functions

virtual QtProperty * | createProperty ()
virtual bool | hasValue ( const QtProperty * property ) const
virtual void | initializeProperty ( QtProperty * property )
virtual void | uninitializeProperty ( QtProperty * property )
virtual QIcon | valueIcon ( const QtProperty * property ) const
virtual QString | valueText ( const QtProperty * property ) const

- 6 protected functions inherited from QtAbstractPropertyManager
- 7 protected functions inherited from QObject

### Additional Inherited Members

- 1 property inherited from QObject
- 1 public type inherited from QObject
- 6 protected functions inherited from QtAbstractPropertyManager
- 7 protected functions inherited from QObject
- 2 protected variables inherited from QObject

## Detailed Description

The QtVariantPropertyManager class provides and manages QVariant based properties.

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 QVariant::Type 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 QVariant::Int for the enum and flag types, and QVariant::Invalid for the group type).

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

Property Type | Property Type Id
--- | ---
int | QVariant::Int
double | QVariant::Double
bool | QVariant::Bool
QString | QVariant::String
QDate | QVariant::Date
QTime | QVariant::Time
QDateTime | QVariant::DateTime
QKeySequence | QVariant::KeySequence
QChar | QVariant::Char
QLocale | QVariant::Locale
QPoint | QVariant::Point
QPointF | QVariant::PointF
QSize | QVariant::Size
QSizeF | QVariant::SizeF
QRect | QVariant::Rect
QRectF | QVariant::RectF
QColor | QVariant::Color
QSizePolicy | QVariant::SizePolicy
QFont | QVariant::Font
QCursor | QVariant::Cursor
enum | enumTypeId()
flag | flagTypeId()
group | groupTypeId()

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

Property Type | Attribute Name | Attribute Type
--- | --- | ---
`int` | minimum | QVariant::Int
| maximum | QVariant::Int
| singleStep | QVariant::Int
`double` | minimum | QVariant::Double
| maximum | QVariant::Double
| singleStep | QVariant::Double
| decimals | QVariant::Int
QString | regExp | QVariant::RegExp
QDate | minimum | QVariant::Date
| maximum | QVariant::Date
QPointF | decimals | QVariant::Int
QSize | minimum | QVariant::Size
| maximum | QVariant::Size
QSizeF | minimum | QVariant::SizeF
| maximum | QVariant::SizeF
| decimals | QVariant::Int
QRect | constraint | QVariant::Rect
QRectF | constraint | QVariant::RectF
| decimals | QVariant::Int
`enum` | enumNames | QVariant::StringList
| enumIcons | iconMapTypeId()
`flag` | flagNames | QVariant::StringList

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 and QtVariantEditorFactory.

## Member Function Documentation

### QtVariantPropertyManager::QtVariantPropertyManager ( QObject * parent = 0 )

Creates a manager with the given parent.

### QtVariantPropertyManager::~QtVariantPropertyManager ()

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

### 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().

### 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().

### 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 QVariant::Invalid.

See also attributes() and valueType().

### 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(), and setAttribute().

### QStringList QtVariantPropertyManager::attributes ( int propertyType ) const `[virtual]`

Returns a list of the given propertyType 's attributes.

See also attributeValue() and attributeType().

### QtProperty * QtVariantPropertyManager::createProperty () `[virtual protected]`

Reimplemented from QtAbstractPropertyManager::createProperty().

### 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 QVariant::Int for the enum property type).

See also propertyType() and valueType().

### 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 QVariant::Int for the flag property type).

See also propertyType() and valueType().

### 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 QVariant::Invalid for the group property type, since it doesn't provide any value).

See also propertyType() and valueType().

### bool QtVariantPropertyManager::hasValue ( const QtProperty * property ) const `[virtual protected]`

Reimplemented from QtAbstractPropertyManager::hasValue().

### 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() and QtEnumPropertyManager::enumIcons().

### void QtVariantPropertyManager::initializeProperty ( QtProperty * property ) `[virtual protected]`

Reimplemented from QtAbstractPropertyManager::initializeProperty().

### bool QtVariantPropertyManager::isPropertyTypeSupported ( int propertyType ) const `[virtual]`

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

See also propertyType().

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

Returns the given property's type.

See also valueType().

### void QtVariantPropertyManager::setAttribute ( QtProperty * property, const QString & attribute, const QVariant & value ) `[virtual slot]`

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(), and attributeChanged().

### void QtVariantPropertyManager::setValue ( QtProperty * property, const QVariant & value ) `[virtual slot]`

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(), and valueChanged().

### void QtVariantPropertyManager::uninitializeProperty ( QtProperty * property ) `[virtual protected]`

Reimplemented from QtAbstractPropertyManager::uninitializeProperty().

### 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().

### 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().

### QIcon QtVariantPropertyManager::valueIcon ( const QtProperty * property ) const `[virtual protected]`

Reimplemented from QtAbstractPropertyManager::valueIcon().

### QString QtVariantPropertyManager::valueText ( const QtProperty * property ) const `[virtual protected]`

Reimplemented from QtAbstractPropertyManager::valueText().

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

Returns the given property's value type.

See also propertyType().

### int QtVariantPropertyManager::valueType ( int propertyType ) const `[virtual]`

This is an overloaded function.

Returns the value type associated with the given propertyType.

### 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().