The QtFlagPropertyManager provides and manages flag properties. More...
#include <qtpropertymanager.h>
Public Slots | |
void | setFlagNames (QtProperty *property, const QStringList &names) |
void | setValue (QtProperty *property, int val) |
Signals | |
void | flagNamesChanged (QtProperty *property, const QStringList &names) |
void | valueChanged (QtProperty *property, int 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 | |
QStringList | flagNames (const QtProperty *property) const |
QtFlagPropertyManager (QObject *parent=nullptr) | |
QtBoolPropertyManager * | subBoolPropertyManager () const |
int | value (const QtProperty *property) const |
~QtFlagPropertyManager () 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 | |
Protected Member Functions | |
void | initializeProperty (QtProperty *property) override |
void | uninitializeProperty (QtProperty *property) override |
QString | valueText (const QtProperty *property) const override |
Protected Member Functions inherited from QtAbstractPropertyManager | |
virtual QtProperty * | createProperty () |
virtual QString | displayText (const QtProperty *property) const |
virtual EchoMode | echoMode (const QtProperty *) const |
virtual bool | hasValue (const QtProperty *property) const |
virtual QIcon | valueIcon (const QtProperty *property) const |
Private Member Functions | |
Q_PRIVATE_SLOT (d_func(), void slotBoolChanged(QtProperty *, bool)) Q_PRIVATE_SLOT(d_func() | |
Private Attributes | |
QtFlagPropertyManagerPrivate * | d_ptr |
The QtFlagPropertyManager provides and manages flag properties.
Each flag property has an associated list of flag names which can be retrieved using the flagNames() function, and set using the corresponding setFlagNames() function.
The flag manager provides properties with nested boolean subproperties representing each flag, i.e. a flag property's value is the binary combination of the subproperties' values. A property's value can be retrieved and set using the value() and setValue() slots respectively. The combination of flags is represented by single int value - that's why it's possible to store up to 32 independent flags in one flag property.
The subproperties are created by a QtBoolPropertyManager object. This manager can be retrieved using the subBoolPropertyManager() function. In order to provide editing widgets for the subproperties in a property browser widget, this manager must be associated with an editor factory.
In addition, QtFlagPropertyManager provides the valueChanged() signal which is emitted whenever a property created by this manager changes, and the flagNamesChanged() signal which is emitted whenever the list of flag names is altered.
QtFlagPropertyManager::QtFlagPropertyManager | ( | QObject * | parent = nullptr | ) |
Creates a manager with the given parent.
References d_ptr, QtFlagPropertyManagerPrivate::m_boolPropertyManager, QtAbstractPropertyManager::propertyDestroyed(), QtFlagPropertyManagerPrivate::q_ptr, and valueChanged().
|
override |
Destroys this manager, and all the properties it has created.
References QtAbstractPropertyManager::clear(), and d_ptr.
QStringList QtFlagPropertyManager::flagNames | ( | const QtProperty * | property | ) | const |
Returns the given property's list of flag names.
References d_ptr, QtFlagPropertyManagerPrivate::Data::flagNames, and QtFlagPropertyManagerPrivate::m_values.
Referenced by setFlagNames().
|
signal |
This signal is emitted whenever a property created by this manager changes its flag names, passing a pointer to the property and the new names as parameters.
Referenced by setFlagNames().
|
overrideprotectedvirtual |
\reimp
Implements QtAbstractPropertyManager.
References d_ptr, QtFlagPropertyManagerPrivate::m_propertyToFlags, and QtFlagPropertyManagerPrivate::m_values.
|
private |
|
slot |
Sets the given property's list of flag names to flagNames. The property's current value is reset to 0 indicating the first item of the list.
References QtAbstractPropertyManager::addProperty(), d_ptr, flagNames(), QtFlagPropertyManagerPrivate::Data::flagNames, flagNamesChanged(), QtFlagPropertyManagerPrivate::m_boolPropertyManager, QtFlagPropertyManagerPrivate::m_flagToProperty, QtFlagPropertyManagerPrivate::m_propertyToFlags, QtFlagPropertyManagerPrivate::m_values, QtAbstractPropertyManager::propertyChanged(), QtProperty::setPropertyName(), QtFlagPropertyManagerPrivate::Data::val, and valueChanged().
|
slot |
Sets the value of the given property to value. Nested properties are updated automatically.
The specified value must be less than the binary combination of the property's flagNames() list size (i.e. less than 2\sup n, where n
is the size of the list) and larger than (or equal to) 0.
References d_ptr, QtFlagPropertyManagerPrivate::Data::flagNames, QtFlagPropertyManagerPrivate::m_boolPropertyManager, QtFlagPropertyManagerPrivate::m_propertyToFlags, QtFlagPropertyManagerPrivate::m_values, QtAbstractPropertyManager::propertyChanged(), QtBoolPropertyManager::setValue(), QtFlagPropertyManagerPrivate::Data::val, and valueChanged().
Referenced by QtFlagPropertyManagerPrivate::slotBoolChanged().
QtBoolPropertyManager * QtFlagPropertyManager::subBoolPropertyManager | ( | ) | const |
Returns the manager that produces the nested boolean subproperties representing each flag.
In order to provide editing widgets for the subproperties in a property browser widget, this manager must be associated with an editor factory.
References d_ptr, and QtFlagPropertyManagerPrivate::m_boolPropertyManager.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QtAbstractPropertyManager.
References d_ptr, QtFlagPropertyManagerPrivate::m_flagToProperty, QtFlagPropertyManagerPrivate::m_propertyToFlags, and QtFlagPropertyManagerPrivate::m_values.
int QtFlagPropertyManager::value | ( | const QtProperty * | property | ) | const |
Returns the given property's value.
If the given property is not managed by this manager, this function returns 0.
References d_ptr, and QtFlagPropertyManagerPrivate::m_values.
|
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 QtFlagPropertyManager(), setFlagNames(), and setValue().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QtAbstractPropertyManager.
References d_ptr, QtFlagPropertyManagerPrivate::Data::flagNames, QtFlagPropertyManagerPrivate::m_values, and QtFlagPropertyManagerPrivate::Data::val.
|
private |