Computer Assisted Medical Intervention Tool Kit  version 6.0
Loading...
Searching...
No Matches
QtVariantPropertyManager Class Reference

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

#include <qtvariantproperty.h>

Public Slots

virtual void setAttribute (QtProperty *property, const QString &attribute, const QMap< int, QIcon > &value)
virtual void setAttribute (QtProperty *property, const QString &attribute, const QVariant &value)
virtual void setValue (QtProperty *property, const QVariant &val)

Signals

void attributeChanged (QtProperty *property, const QString &attribute, const QVariant &val)
void valueChanged (QtProperty *property, const QVariant &val)
Signals inherited from QtAbstractPropertyManager
void propertyChanged (QtProperty *property)
void propertyDestroyed (QtProperty *property)
void propertyInserted (QtProperty *property, QtProperty *parent, QtProperty *after)
void propertyRemoved (QtProperty *property, QtProperty *parent)

Public Member Functions

virtual QtVariantPropertyaddProperty (int propertyType, const QString &name=QString())
virtual QStringList attributes (int propertyType) const
virtual int attributeType (int propertyType, const QString &attribute) const
virtual QVariant attributeValue (const QtProperty *property, const QString &attribute) const
virtual bool isPropertyTypeSupported (int propertyType) const
int propertyType (const QtProperty *property) const
 QtVariantPropertyManager (QObject *parent=nullptr)
virtual QVariant value (const QtProperty *property) const
int valueType (const QtProperty *property) const
virtual int valueType (int propertyType) const
QtVariantPropertyvariantProperty (const QtProperty *property) const
 ~QtVariantPropertyManager () override
Public Member Functions inherited from QtAbstractPropertyManager
QtPropertyaddProperty (const QString &name=QString())
void clear () const
QSet< QtProperty * > properties () const
 QtAbstractPropertyManager (QObject *parent=nullptr)
 ~QtAbstractPropertyManager () override

Static Public Member Functions

static int enumTypeId ()
static int flagTypeId ()
static int groupTypeId ()
static int iconMapTypeId ()

Protected Member Functions

QtPropertycreateProperty () override
bool hasValue (const QtProperty *property) const override
void initializeProperty (QtProperty *property) override
void uninitializeProperty (QtProperty *property) override
QIcon valueIcon (const QtProperty *property) const override
QString valueText (const QtProperty *property) const override
Protected Member Functions inherited from QtAbstractPropertyManager
virtual QString displayText (const QtProperty *property) const
virtual EchoMode echoMode (const QtProperty *) const

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
QVector3D QVariant::QVector3D
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, QtVariantEditorFactory

Constructor & Destructor Documentation

◆ QtVariantPropertyManager()

◆ ~QtVariantPropertyManager()

QtVariantPropertyManager::~QtVariantPropertyManager ( )
override

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

References QtAbstractPropertyManager::clear().

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

References QtAbstractPropertyManager::addProperty(), isPropertyTypeSupported(), propertyType(), QtAbstractPropertyManager::QtProperty, and variantProperty().

Referenced by VariantManager::initializeProperty(), and main().

◆ 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()

References createProperty(), initializeProperty(), QtAbstractPropertyManager::QtProperty, QtVariantPropertyManager(), and uninitializeProperty().

◆ attributes()

QStringList QtVariantPropertyManager::attributes ( int propertyType) const
virtual

Returns a list of the given propertyType 's attributes.

See also
attributeValue(), attributeType()

References propertyType().

Referenced by attributeType(), and attributeValue().

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

See also
attributes(), valueType()

References attributes(), and propertyType().

Referenced by setAttribute().

◆ 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()

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

Referenced by setAttribute().

◆ createProperty()

QtProperty * QtVariantPropertyManager::createProperty ( )
overrideprotectedvirtual

Implementation of virtual method

Reimplemented from QtAbstractPropertyManager.

References QtAbstractPropertyManager::QtProperty.

Referenced by attributeChanged().

◆ enumTypeId()

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(), valueType()

Referenced by ObjectControllerPrivate::addClassProperties(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), QtVariantPropertyManagerPrivate::internalPropertyToType(), main(), QtVariantEditorFactory::QtVariantEditorFactory(), and QtVariantPropertyManager().

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

See also
propertyType(), valueType()

Referenced by ObjectControllerPrivate::addClassProperties(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), main(), and QtVariantPropertyManager().

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

See also
propertyType(), valueType()

Referenced by ObjectControllerPrivate::addClassProperties(), camitk::ObjectControllerPrivate::addDynamicProperties(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), hasValue(), main(), and QtVariantPropertyManager().

◆ hasValue()

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

Implementation of virtual method

Reimplemented from QtAbstractPropertyManager.

References groupTypeId(), propertyType(), and QtAbstractPropertyManager::QtProperty.

◆ 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()

Referenced by QtVariantPropertyManager().

◆ initializeProperty()

void QtVariantPropertyManager::initializeProperty ( QtProperty * property)
overrideprotectedvirtual

◆ 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 VariantManager.

References propertyType().

Referenced by addProperty(), and VariantManager::isPropertyTypeSupported().

◆ propertyType()

◆ setAttribute [1/2]

void QtVariantPropertyManager::setAttribute ( QtProperty * property,
const QString & attribute,
const QMap< int, QIcon > & val )
virtualslot

Added in CamiTK. In order to manage setting the icons list, the QtEnumPropertyManager needs a QMap<int,QIcon> But QMap<int,QIcon> cannot be transformed to QVariant, therefore this method had to be added.

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

◆ setAttribute [2/2]

void QtVariantPropertyManager::setAttribute ( QtProperty * property,
const QString & attribute,
const QVariant & val )
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()

References attributeType(), attributeValue(), QtProperty::propertyManager(), propertyType(), QtAbstractPropertyManager::QtAbstractPropertyManager(), and QtAbstractPropertyManager::QtProperty.

◆ 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()

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

Referenced by VariantManager::setValue().

◆ uninitializeProperty()

void QtVariantPropertyManager::uninitializeProperty ( QtProperty * property)
overrideprotectedvirtual

Implementation of virtual method

Reimplemented from QtAbstractPropertyManager.

Reimplemented in VariantManager.

References QtAbstractPropertyManager::QtProperty.

Referenced by attributeChanged(), and VariantManager::uninitializeProperty().

◆ 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 VariantManager.

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

Referenced by VariantManager::value().

◆ 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()

References QtAbstractPropertyManager::QtProperty.

Referenced by QtPropertyFieldEditor::getWidget(), QtVariantPropertyManager(), VariantManager::setValue(), and VariantManager::VariantManager().

◆ valueIcon()

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

Implementation of virtual method

Reimplemented from QtAbstractPropertyManager.

References QtAbstractPropertyManager::QtProperty, and QtProperty::valueIcon().

◆ valueText()

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

Implementation of virtual method

Reimplemented from QtAbstractPropertyManager.

Reimplemented in VariantManager.

References QtProperty::displayText(), QtAbstractPropertyManager::QtProperty, and QtProperty::valueText().

Referenced by VariantManager::valueText().

◆ valueType() [1/2]

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

Returns the given property's value type.

See also
propertyType()

References propertyType(), QtAbstractPropertyManager::QtProperty, and valueType().

Referenced by setValue(), valueType(), and VariantManager::valueType().

◆ 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 VariantManager.

References propertyType().

◆ 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()

References QtAbstractPropertyManager::QtProperty, and QtVariantProperty::value().

Referenced by addProperty(), and initializeProperty().


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