The QtAbstractPropertyManager provides an interface for property managers. More...
#include <qtpropertybrowser.h>
Signals | |
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 | |
QtProperty * | addProperty (const QString &name=QString()) |
void | clear () const |
QSet< QtProperty * > | properties () const |
QtAbstractPropertyManager (QObject *parent=nullptr) | |
~QtAbstractPropertyManager () override | |
Protected Member Functions | |
virtual QtProperty * | createProperty () |
virtual QString | displayText (const QtProperty *property) const |
virtual EchoMode | echoMode (const QtProperty *) const |
virtual bool | hasValue (const QtProperty *property) const |
virtual void | initializeProperty (QtProperty *property)=0 |
virtual void | uninitializeProperty (QtProperty *property) |
virtual QIcon | valueIcon (const QtProperty *property) const |
virtual QString | valueText (const QtProperty *property) const |
Private Attributes | |
QtAbstractPropertyManagerPrivate * | d_ptr |
Friends | |
class | QtProperty |
The QtAbstractPropertyManager provides an interface for property managers.
A manager can create and manage properties of a given type, and is used in conjunction with the QtAbstractPropertyBrowser class.
When using a property browser widget, the properties are created and managed by implementations of the QtAbstractPropertyManager class. To ensure that the properties' values will be displayed using suitable editing widgets, the managers are associated with objects of QtAbstractEditorFactory subclasses. The property browser will use these associations to determine which factories it should use to create the preferred editing widgets.
The QtAbstractPropertyManager class provides common functionality like creating a property using the addProperty() function, and retrieving the properties created by the manager using the properties() function. The class also provides signals that are emitted when the manager's properties change: propertyInserted(), propertyRemoved(), propertyChanged() and propertyDestroyed().
QtAbstractPropertyManager subclasses are supposed to provide their own type specific API. Note that several ready-made implementations are available:
\list \o QtBoolPropertyManager \o QtColorPropertyManager \o QtDatePropertyManager \o QtDateTimePropertyManager \o QtDoublePropertyManager \o QtEnumPropertyManager \o QtFlagPropertyManager \o QtFontPropertyManager \o QtGroupPropertyManager \o QtIntPropertyManager \o QtPointPropertyManager \o QtRectPropertyManager \o QtSizePropertyManager \o QtSizePolicyPropertyManager \o QtStringPropertyManager \o QtTimePropertyManager \o QtVariantPropertyManager \endlist
|
explicit |
Creates an abstract property manager with the given parent.
References d_ptr, and QtAbstractPropertyManagerPrivate::q_ptr.
|
override |
QtProperty * QtAbstractPropertyManager::addProperty | ( | const QString & | name = QString() | ) |
Creates a property with the given name which then is owned by this manager.
Internally, this function calls the createProperty() and initializeProperty() functions.
References createProperty(), d_ptr, initializeProperty(), and QtAbstractPropertyManagerPrivate::m_properties.
Referenced by QtVariantPropertyManager::addProperty(), QtCursorEditorFactory::createEditor(), QtVariantPropertyManager::initializeProperty(), QtLocalePropertyManager::initializeProperty(), QtPointPropertyManager::initializeProperty(), QtPointFPropertyManager::initializeProperty(), QtSizePropertyManager::initializeProperty(), QtSizeFPropertyManager::initializeProperty(), QtRectPropertyManager::initializeProperty(), QtRectFPropertyManager::initializeProperty(), QtVector3DPropertyManager::initializeProperty(), QtSizePolicyPropertyManager::initializeProperty(), QtFontPropertyManager::initializeProperty(), QtColorPropertyManager::initializeProperty(), MainWindow::itemClicked(), main(), and QtFlagPropertyManager::setFlagNames().
void QtAbstractPropertyManager::clear | ( | ) | const |
Destroys all the properties that this manager has created.
References properties().
Referenced by ~QtAbstractPropertyManager(), QtBoolPropertyManager::~QtBoolPropertyManager(), QtCharPropertyManager::~QtCharPropertyManager(), QtColorPropertyManager::~QtColorPropertyManager(), QtCursorPropertyManager::~QtCursorPropertyManager(), QtDatePropertyManager::~QtDatePropertyManager(), QtDateTimePropertyManager::~QtDateTimePropertyManager(), QtDoublePropertyManager::~QtDoublePropertyManager(), QtEnumPropertyManager::~QtEnumPropertyManager(), QtFlagPropertyManager::~QtFlagPropertyManager(), QtFontPropertyManager::~QtFontPropertyManager(), QtIntPropertyManager::~QtIntPropertyManager(), QtKeySequencePropertyManager::~QtKeySequencePropertyManager(), QtLocalePropertyManager::~QtLocalePropertyManager(), QtPointFPropertyManager::~QtPointFPropertyManager(), QtPointPropertyManager::~QtPointPropertyManager(), QtRectFPropertyManager::~QtRectFPropertyManager(), QtRectPropertyManager::~QtRectPropertyManager(), QtSizeFPropertyManager::~QtSizeFPropertyManager(), QtSizePolicyPropertyManager::~QtSizePolicyPropertyManager(), QtSizePropertyManager::~QtSizePropertyManager(), QtStringPropertyManager::~QtStringPropertyManager(), QtTimePropertyManager::~QtTimePropertyManager(), QtVariantPropertyManager::~QtVariantPropertyManager(), and QtVector3DPropertyManager::~QtVector3DPropertyManager().
|
protectedvirtual |
Creates a property.
The base implementation produce QtProperty instances; Reimplement this function to make this manager produce objects of a QtProperty subclass.
Reimplemented in QtVariantPropertyManager.
References QtProperty.
Referenced by addProperty().
|
protectedvirtual |
Returns a string representing the current state of the given property.
The default implementation of this function returns an empty string.
Reimplemented in QtStringPropertyManager.
Referenced by QtProperty::displayText().
|
protectedvirtual |
Returns the echo mode representing the current state of the given property.
The default implementation of this function returns QLineEdit::Normal.
Reimplemented in QtStringPropertyManager.
|
protectedvirtual |
Returns whether the given property has a value.
The default implementation of this function returns true.
Reimplemented in QtVariantPropertyManager, and QtGroupPropertyManager.
Referenced by QtProperty::hasValue().
|
protectedpure virtual |
This function is called whenever a new valid property pointer has been created, passing the pointer as parameter.
The purpose is to let the manager know that the property has been created so that it can provide additional attributes for the new property, e.g. QtIntPropertyManager adds
{QtIntPropertyManager::value()}{value},
{QtIntPropertyManager::minimum()}{minimum} and
{QtIntPropertyManager::maximum()}{maximum} attributes. Since each manager subclass adds type specific attributes, this function is pure virtual and must be reimplemented when deriving from the QtAbstractPropertyManager class.
Implemented in QtCursorPropertyManager, QtColorPropertyManager, QtFontPropertyManager, QtSizePolicyPropertyManager, QtFlagPropertyManager, QtEnumPropertyManager, QtVector3DPropertyManager, QtRectFPropertyManager, QtRectPropertyManager, QtSizeFPropertyManager, QtSizePropertyManager, QtPointFPropertyManager, QtPointPropertyManager, QtLocalePropertyManager, QtCharPropertyManager, QtKeySequencePropertyManager, QtDateTimePropertyManager, QtTimePropertyManager, QtDatePropertyManager, QtStringPropertyManager, QtDoublePropertyManager, QtVariantPropertyManager, QtBoolPropertyManager, QtIntPropertyManager, QtGroupPropertyManager, DecoratedDoublePropertyManager, and VariantManager.
Referenced by addProperty().
QSet< QtProperty * > QtAbstractPropertyManager::properties | ( | ) | const |
Returns the set of properties created by this manager.
References d_ptr, and QtAbstractPropertyManagerPrivate::m_properties.
Referenced by clear().
|
signal |
This signal is emitted whenever a property's data changes, passing a pointer to the property as parameter.
Note that signal is only emitted for properties that are created by this manager.
Referenced by QtAbstractPropertyManagerPrivate::propertyChanged(), QtRectPropertyManager::setConstraint(), QtRectFPropertyManager::setConstraint(), QtStringPropertyManager::setEchoMode(), QtEnumPropertyManager::setEnumIcons(), QtEnumPropertyManager::setEnumNames(), QtFlagPropertyManager::setFlagNames(), QtIntPropertyManager::setMaximum(), QtDoublePropertyManager::setMaximum(), QtDatePropertyManager::setMaximum(), QtSizePropertyManager::setMaximum(), QtSizeFPropertyManager::setMaximum(), QtIntPropertyManager::setMinimum(), QtDoublePropertyManager::setMinimum(), QtDatePropertyManager::setMinimum(), QtSizePropertyManager::setMinimum(), QtSizeFPropertyManager::setMinimum(), QtIntPropertyManager::setRange(), QtDoublePropertyManager::setRange(), QtDatePropertyManager::setRange(), QtSizePropertyManager::setRange(), QtSizeFPropertyManager::setRange(), QtIntPropertyManager::setReadOnly(), QtDoublePropertyManager::setReadOnly(), QtStringPropertyManager::setReadOnly(), DecoratedDoublePropertyManager::setSuffix(), QtBoolPropertyManager::setTextVisible(), VariantManager::setValue(), QtIntPropertyManager::setValue(), QtBoolPropertyManager::setValue(), QtDoublePropertyManager::setValue(), QtStringPropertyManager::setValue(), QtDatePropertyManager::setValue(), QtTimePropertyManager::setValue(), QtDateTimePropertyManager::setValue(), QtKeySequencePropertyManager::setValue(), QtCharPropertyManager::setValue(), QtLocalePropertyManager::setValue(), QtPointPropertyManager::setValue(), QtPointFPropertyManager::setValue(), QtSizePropertyManager::setValue(), QtSizeFPropertyManager::setValue(), QtRectPropertyManager::setValue(), QtRectFPropertyManager::setValue(), QtVector3DPropertyManager::setValue(), QtEnumPropertyManager::setValue(), QtFlagPropertyManager::setValue(), QtSizePolicyPropertyManager::setValue(), QtFontPropertyManager::setValue(), QtColorPropertyManager::setValue(), QtCursorPropertyManager::setValue(), and QtVariantPropertyManagerPrivate::valueChanged().
|
signal |
This signal is emitted when the specified property is about to be destroyed.
Note that signal is only emitted for properties that are created by this manager.
Referenced by QtAbstractPropertyManagerPrivate::propertyDestroyed(), QtColorPropertyManager::QtColorPropertyManager(), QtFlagPropertyManager::QtFlagPropertyManager(), QtFontPropertyManager::QtFontPropertyManager(), QtLocalePropertyManager::QtLocalePropertyManager(), QtPointFPropertyManager::QtPointFPropertyManager(), QtPointPropertyManager::QtPointPropertyManager(), QtRectFPropertyManager::QtRectFPropertyManager(), QtRectPropertyManager::QtRectPropertyManager(), QtSizeFPropertyManager::QtSizeFPropertyManager(), QtSizePolicyPropertyManager::QtSizePolicyPropertyManager(), QtSizePropertyManager::QtSizePropertyManager(), QtVector3DPropertyManager::QtVector3DPropertyManager(), and VariantManager::VariantManager().
|
signal |
This signal is emitted when a new subproperty is inserted into an existing property, passing pointers to the newProperty, parentProperty and precedingProperty as parameters.
If precedingProperty is 0, the newProperty was inserted at the beginning of the parentProperty's subproperties list.
Note that signal is emitted only if the parentProperty is created by this manager.
Referenced by QtAbstractPropertyManagerPrivate::propertyInserted(), and QtVariantPropertyManager::QtVariantPropertyManager().
|
signal |
This signal is emitted when a subproperty is removed, passing pointers to the removed property and the parent property as parameters.
Note that signal is emitted only when the parent property is created by this manager.
Referenced by QtAbstractPropertyManagerPrivate::propertyRemoved(), and QtVariantPropertyManager::QtVariantPropertyManager().
|
protectedvirtual |
This function is called just before the specified property is destroyed.
The purpose is to let the property manager know that the property is being destroyed so that it can remove the property's additional attributes.
Reimplemented in QtCursorPropertyManager, QtColorPropertyManager, QtFontPropertyManager, QtSizePolicyPropertyManager, QtFlagPropertyManager, QtEnumPropertyManager, QtVector3DPropertyManager, QtRectFPropertyManager, QtRectPropertyManager, QtSizeFPropertyManager, QtSizePropertyManager, QtPointFPropertyManager, QtPointPropertyManager, QtLocalePropertyManager, QtCharPropertyManager, QtKeySequencePropertyManager, QtDateTimePropertyManager, QtTimePropertyManager, QtDatePropertyManager, QtStringPropertyManager, QtDoublePropertyManager, QtVariantPropertyManager, QtBoolPropertyManager, QtIntPropertyManager, QtGroupPropertyManager, DecoratedDoublePropertyManager, and VariantManager.
Referenced by QtAbstractPropertyManagerPrivate::propertyDestroyed().
|
protectedvirtual |
Returns an icon representing the current state of the given property.
The default implementation of this function returns an invalid icon.
Reimplemented in QtCursorPropertyManager, QtColorPropertyManager, QtFontPropertyManager, QtEnumPropertyManager, QtVariantPropertyManager, and QtBoolPropertyManager.
Referenced by QtProperty::valueIcon().
|
protectedvirtual |
Returns a string representing the current state of the given property.
The default implementation of this function returns an empty string.
Reimplemented in QtCursorPropertyManager, QtColorPropertyManager, QtFontPropertyManager, QtSizePolicyPropertyManager, QtFlagPropertyManager, QtEnumPropertyManager, QtVector3DPropertyManager, QtRectFPropertyManager, QtRectPropertyManager, QtSizeFPropertyManager, QtSizePropertyManager, QtPointFPropertyManager, QtPointPropertyManager, QtLocalePropertyManager, QtCharPropertyManager, QtKeySequencePropertyManager, QtDateTimePropertyManager, QtTimePropertyManager, QtDatePropertyManager, QtStringPropertyManager, QtDoublePropertyManager, QtVariantPropertyManager, QtBoolPropertyManager, QtIntPropertyManager, DecoratedDoublePropertyManager, and VariantManager.
Referenced by QtProperty::valueText().
|
friend |
Referenced by createProperty().
|
private |