Computer Assited Medical Intervention Tool Kit
version 4.1
|
The QtVariantPropertyManager class provides and manages QVariant based properties. More...
#include <qtvariantproperty.h>
Inherits QtAbstractPropertyManager.
Inherited by VariantManager.
Public Slots | |
virtual void | setAttribute (QtProperty *property, const QString &attribute, const QVariant &value) |
virtual void | setAttribute (QtProperty *property, const QString &attribute, const QMap< int, QIcon > &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 QtVariantProperty * | addProperty (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 |
QtVariantProperty * | variantProperty (const QtProperty *property) const |
~QtVariantPropertyManager () override | |
Public Member Functions inherited from QtAbstractPropertyManager | |
QtProperty * | addProperty (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 | |
QtProperty * | createProperty () 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 |
Private Member Functions | |
Q_PRIVATE_SLOT (d_func(), void slotValueChanged(QtProperty *, int)) Q_PRIVATE_SLOT(d_func() | |
void void void void void void void void void void void void void void void void void void void void void void void void void void | slotConstraintChanged (QtProperty *, const QRect &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotConstraintChanged (QtProperty *, const QRectF &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void | slotDecimalsChanged (QtProperty *, int)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void | slotEchoModeChanged (QtProperty *, int)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotEnumIconsChanged (QtProperty *, const QMap< int, QIcon > &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotEnumNamesChanged (QtProperty *, const QStringList &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotFlagNamesChanged (QtProperty *, const QStringList &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotPropertyInserted (QtProperty *, QtProperty *, QtProperty *)) Q_PRIVATE_SLOT(d_func() |
void | slotRangeChanged (QtProperty *, int, int)) Q_PRIVATE_SLOT(d_func() |
void void void void | slotRangeChanged (QtProperty *, double, double)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void | slotRangeChanged (QtProperty *, const QDate &, const QDate &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void | slotRangeChanged (QtProperty *, const QSize &, const QSize &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void | slotRangeChanged (QtProperty *, const QSizeF &, const QSizeF &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void | slotRegExpChanged (QtProperty *, const QRegExp &)) Q_PRIVATE_SLOT(d_func() |
void void | slotSingleStepChanged (QtProperty *, int)) Q_PRIVATE_SLOT(d_func() |
void void void void void | slotSingleStepChanged (QtProperty *, double)) Q_PRIVATE_SLOT(d_func() |
void void void | slotValueChanged (QtProperty *, double)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void | slotValueChanged (QtProperty *, bool)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void | slotValueChanged (QtProperty *, const QString &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void | slotValueChanged (QtProperty *, const QDate &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QTime &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QDateTime &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QKeySequence &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QChar &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QLocale &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QPoint &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QPointF &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QVector3D &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QSize &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QSizeF &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QRect &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QRectF &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QColor &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QSizePolicy &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QFont &)) Q_PRIVATE_SLOT(d_func() |
void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void void | slotValueChanged (QtProperty *, const QCursor &)) Q_PRIVATE_SLOT(d_func() |
Private Attributes | |
QtVariantPropertyManagerPrivate * | d_ptr |
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.
QtVariantPropertyManager::QtVariantPropertyManager | ( | QObject * | parent = nullptr | ) |
Creates a manager with the given parent.
References d_ptr, enumTypeId(), flagTypeId(), groupTypeId(), iconMapTypeId(), QtVariantPropertyManagerPrivate::m_constraintAttribute, QtVariantPropertyManagerPrivate::m_creatingProperty, QtVariantPropertyManagerPrivate::m_creatingSubProperties, QtVariantPropertyManagerPrivate::m_decimalsAttribute, QtVariantPropertyManagerPrivate::m_destroyingSubProperties, QtVariantPropertyManagerPrivate::m_echoModeAttribute, QtVariantPropertyManagerPrivate::m_enumIconsAttribute, QtVariantPropertyManagerPrivate::m_enumNamesAttribute, QtVariantPropertyManagerPrivate::m_flagNamesAttribute, QtVariantPropertyManagerPrivate::m_maximumAttribute, QtVariantPropertyManagerPrivate::m_minimumAttribute, QtVariantPropertyManagerPrivate::m_propertyType, QtVariantPropertyManagerPrivate::m_regExpAttribute, QtVariantPropertyManagerPrivate::m_singleStepAttribute, QtVariantPropertyManagerPrivate::m_typeToAttributeToAttributeType, QtVariantPropertyManagerPrivate::m_typeToPropertyManager, QtVariantPropertyManagerPrivate::m_typeToValueType, QtAbstractPropertyManager::propertyInserted(), QtAbstractPropertyManager::propertyRemoved(), QtVariantPropertyManagerPrivate::q_ptr, slotConstraintChanged(), slotDecimalsChanged(), slotEchoModeChanged(), slotEnumIconsChanged(), slotEnumNamesChanged(), slotFlagNamesChanged(), slotPropertyInserted(), slotRangeChanged(), slotRegExpChanged(), slotSingleStepChanged(), slotValueChanged(), and valueChanged().
|
override |
Destroys this manager, and all the properties it has created.
References QtAbstractPropertyManager::clear(), and d_ptr.
|
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).
References QtAbstractPropertyManager::addProperty(), d_ptr, isPropertyTypeSupported(), QtVariantPropertyManagerPrivate::m_creatingProperty, QtVariantPropertyManagerPrivate::m_propertyType, propertyType(), and variantProperty().
Referenced by ObjectControllerPrivate::addClassProperties(), camitk::ObjectControllerPrivate::addDynamicProperties(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), QtVariantPropertyManagerPrivate::createSubProperty(), VariantManager::initializeProperty(), and main().
|
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.
Referenced by QtVariantPropertyManagerPrivate::slotConstraintChanged(), QtVariantPropertyManagerPrivate::slotDecimalsChanged(), QtVariantPropertyManagerPrivate::slotEchoModeChanged(), QtVariantPropertyManagerPrivate::slotEnumIconsChanged(), QtVariantPropertyManagerPrivate::slotEnumNamesChanged(), QtVariantPropertyManagerPrivate::slotFlagNamesChanged(), QtVariantPropertyManagerPrivate::slotRangeChanged(), QtVariantPropertyManagerPrivate::slotRegExpChanged(), and QtVariantPropertyManagerPrivate::slotSingleStepChanged().
|
virtual |
Returns a list of the given propertyType 's attributes.
References d_ptr, and QtVariantPropertyManagerPrivate::m_typeToAttributeToAttributeType.
Referenced by attributeType(), and attributeValue().
|
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.
References attributes(), d_ptr, and QtVariantPropertyManagerPrivate::m_typeToAttributeToAttributeType.
Referenced by setAttribute().
|
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.
References attributes(), d_ptr, QtVariantPropertyManagerPrivate::m_constraintAttribute, QtVariantPropertyManagerPrivate::m_decimalsAttribute, QtVariantPropertyManagerPrivate::m_echoModeAttribute, QtVariantPropertyManagerPrivate::m_enumIconsAttribute, QtVariantPropertyManagerPrivate::m_enumNamesAttribute, QtVariantPropertyManagerPrivate::m_flagNamesAttribute, QtVariantPropertyManagerPrivate::m_maximumAttribute, QtVariantPropertyManagerPrivate::m_minimumAttribute, QtVariantPropertyManagerPrivate::m_regExpAttribute, QtVariantPropertyManagerPrivate::m_singleStepAttribute, QtVariantPropertyManagerPrivate::m_typeToAttributeToAttributeType, QtProperty::propertyManager(), and propertyType().
Referenced by QtVariantProperty::attributeValue(), and setAttribute().
|
overrideprotectedvirtual |
|
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).
Referenced by ObjectControllerPrivate::addClassProperties(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), QtVariantPropertyManagerPrivate::internalPropertyToType(), main(), QtVariantEditorFactory::QtVariantEditorFactory(), and QtVariantPropertyManager().
|
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).
Referenced by ObjectControllerPrivate::addClassProperties(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), main(), and QtVariantPropertyManager().
|
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).
Referenced by ObjectControllerPrivate::addClassProperties(), camitk::ObjectControllerPrivate::addDynamicProperties(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), hasValue(), main(), and QtVariantPropertyManager().
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
References groupTypeId(), and propertyType().
|
static |
Returns the type id for a icon map attribute.
Note that the property's attribute type can be retrieved using the attributeType() function.
Referenced by QtVariantPropertyManager().
|
overrideprotectedvirtual |
Implements QtAbstractPropertyManager.
References QtAbstractPropertyManager::addProperty(), QtVariantPropertyManagerPrivate::createSubProperty(), d_ptr, QtVariantPropertyManagerPrivate::m_creatingSubProperties, QtVariantPropertyManagerPrivate::m_internalToProperty, QtVariantPropertyManagerPrivate::m_propertyType, QtVariantPropertyManagerPrivate::m_typeToPropertyManager, QtProperty::subProperties(), and variantProperty().
Referenced by VariantManager::initializeProperty().
|
virtual |
Returns true if the given propertyType is supported by this variant manager; otherwise false.
Reimplemented in VariantManager.
References d_ptr, and QtVariantPropertyManagerPrivate::m_typeToValueType.
Referenced by ObjectControllerPrivate::addClassProperties(), addProperty(), camitk::ObjectControllerPrivate::buildQtVariantProperty(), VariantManager::isPropertyTypeSupported(), and camitk::ObjectControllerPrivate::updateDynamicProperties().
int QtVariantPropertyManager::propertyType | ( | const QtProperty * | property | ) | const |
Returns the given property's type.
References d_ptr, and QtVariantPropertyManagerPrivate::m_propertyToType.
Referenced by addProperty(), attributeValue(), QtVariantEditorFactory::createEditor(), hasValue(), VariantManager::initializeProperty(), QtVariantProperty::propertyType(), setAttribute(), and valueType().
|
private |
|
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.
References attributeType(), attributeValue(), d_ptr, QtVariantPropertyManagerPrivate::m_constraintAttribute, QtVariantPropertyManagerPrivate::m_decimalsAttribute, QtVariantPropertyManagerPrivate::m_echoModeAttribute, QtVariantPropertyManagerPrivate::m_enumIconsAttribute, QtVariantPropertyManagerPrivate::m_enumNamesAttribute, QtVariantPropertyManagerPrivate::m_flagNamesAttribute, QtVariantPropertyManagerPrivate::m_maximumAttribute, QtVariantPropertyManagerPrivate::m_minimumAttribute, QtVariantPropertyManagerPrivate::m_regExpAttribute, QtVariantPropertyManagerPrivate::m_singleStepAttribute, QtProperty::propertyManager(), and propertyType().
Referenced by QtVariantProperty::setAttribute().
|
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 d_ptr, QtVariantPropertyManagerPrivate::m_enumIconsAttribute, and QtProperty::propertyManager().
|
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.
References QtProperty::propertyManager(), and valueType().
Referenced by VariantManager::setValue(), and QtVariantProperty::setValue().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
|
private |
Referenced by QtVariantPropertyManager().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by QtVariantPropertyManager().
|
private |
Referenced by QtVariantPropertyManager().
|
private |
|
private |
Referenced by QtVariantPropertyManager().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
References d_ptr, QtVariantPropertyManagerPrivate::m_destroyingSubProperties, QtVariantPropertyManagerPrivate::m_internalToProperty, and QtVariantPropertyManagerPrivate::m_propertyToType.
Referenced by VariantManager::uninitializeProperty().
|
virtual |
Returns the given property's value.
If the given property is not managed by this manager, this function returns an invalid variant.
Reimplemented in VariantManager.
References QtProperty::propertyManager().
Referenced by VariantManager::value(), and QtVariantProperty::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.
Referenced by QtVariantPropertyManager(), VariantManager::setValue(), QtVariantPropertyManagerPrivate::valueChanged(), and VariantManager::VariantManager().
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
References QtProperty::valueIcon().
|
overrideprotectedvirtual |
Reimplemented from QtAbstractPropertyManager.
References QtProperty::displayText(), and QtProperty::valueText().
Referenced by VariantManager::valueText().
int QtVariantPropertyManager::valueType | ( | const QtProperty * | property | ) | const |
Returns the given property's value type.
References propertyType().
Referenced by setValue(), VariantManager::valueType(), and QtVariantProperty::valueType().
|
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 d_ptr, QtVariantPropertyManagerPrivate::m_typeToValueType, and 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.
References d_ptr, and QtVariantPropertyManagerPrivate::m_propertyToType.
Referenced by addProperty(), and initializeProperty().
|
private |