The QtRectPropertyManager provides and manages QRect properties. More...
#include <qtpropertymanager.h>
Public Slots | |
void | setConstraint (QtProperty *property, const QRect &constraint) |
void | setValue (QtProperty *property, const QRect &val) |
Signals | |
void | constraintChanged (QtProperty *property, const QRect &constraint) |
void | valueChanged (QtProperty *property, const QRect &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 | |
QRect | constraint (const QtProperty *property) const |
QtRectPropertyManager (QObject *parent=nullptr) | |
QtIntPropertyManager * | subIntPropertyManager () const |
QRect | value (const QtProperty *property) const |
~QtRectPropertyManager () 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 slotIntChanged(QtProperty *, int)) Q_PRIVATE_SLOT(d_func() | |
Private Attributes | |
QtRectPropertyManagerPrivate * | d_ptr |
The QtRectPropertyManager provides and manages QRect properties.
A rectangle property has nested x, y, width and height subproperties. The top-level property's value can be retrieved using the value() function, and set using the setValue() slot.
The subproperties are created by a QtIntPropertyManager object. This manager can be retrieved using the subIntPropertyManager() function. In order to provide editing widgets for the subproperties in a property browser widget, this manager must be associated with an editor factory.
A rectangle property also has a constraint rectangle which can be retrieved using the constraint() function, and set using the setConstraint() slot.
In addition, QtRectPropertyManager provides the valueChanged() signal which is emitted whenever a property created by this manager changes, and the constraintChanged() signal which is emitted whenever such a property changes its constraint rectangle.
QtRectPropertyManager::QtRectPropertyManager | ( | QObject * | parent = nullptr | ) |
Creates a manager with the given parent.
References d_ptr, QtRectPropertyManagerPrivate::m_intPropertyManager, QtAbstractPropertyManager::propertyDestroyed(), QtRectPropertyManagerPrivate::q_ptr, and valueChanged().
|
override |
Destroys this manager, and all the properties it has created.
References QtAbstractPropertyManager::clear(), and d_ptr.
QRect QtRectPropertyManager::constraint | ( | const QtProperty * | property | ) | const |
Returns the given property's constraining rectangle. If returned value is null QRect it means there is no constraint applied.
References QtRectPropertyManagerPrivate::Data::constraint, d_ptr, and QtRectPropertyManagerPrivate::m_values.
Referenced by setConstraint().
|
signal |
This signal is emitted whenever property changes its constraint rectangle, passing a pointer to the property and the new constraint rectangle as parameters.
Referenced by setConstraint().
|
overrideprotectedvirtual |
\reimp
Implements QtAbstractPropertyManager.
References QtAbstractPropertyManager::addProperty(), QtProperty::addSubProperty(), d_ptr, QtRectPropertyManagerPrivate::m_hToProperty, QtRectPropertyManagerPrivate::m_intPropertyManager, QtRectPropertyManagerPrivate::m_propertyToH, QtRectPropertyManagerPrivate::m_propertyToW, QtRectPropertyManagerPrivate::m_propertyToX, QtRectPropertyManagerPrivate::m_propertyToY, QtRectPropertyManagerPrivate::m_values, QtRectPropertyManagerPrivate::m_wToProperty, QtRectPropertyManagerPrivate::m_xToProperty, QtRectPropertyManagerPrivate::m_yToProperty, QtIntPropertyManager::setMinimum(), QtProperty::setPropertyName(), and QtIntPropertyManager::setValue().
|
private |
|
slot |
Sets the given property's constraining rectangle to constraint.
When setting the constraint, the current value is adjusted if necessary (ensuring that the current rectangle value is inside the constraint). In order to reset the constraint pass a null QRect value.
References constraint(), QtRectPropertyManagerPrivate::Data::constraint, constraintChanged(), d_ptr, QtRectPropertyManagerPrivate::m_values, QtAbstractPropertyManager::propertyChanged(), QtRectPropertyManagerPrivate::setConstraint(), QtRectPropertyManagerPrivate::Data::val, and valueChanged().
|
slot |
Sets the value of the given property to value. Nested properties are updated automatically.
If the specified value is not inside the given property's constraining rectangle, the value is adjusted accordingly to fit within the constraint.
References QtRectPropertyManagerPrivate::Data::constraint, d_ptr, QtRectPropertyManagerPrivate::m_intPropertyManager, QtRectPropertyManagerPrivate::m_propertyToH, QtRectPropertyManagerPrivate::m_propertyToW, QtRectPropertyManagerPrivate::m_propertyToX, QtRectPropertyManagerPrivate::m_propertyToY, QtRectPropertyManagerPrivate::m_values, QtAbstractPropertyManager::propertyChanged(), QtIntPropertyManager::setValue(), QtRectPropertyManagerPrivate::Data::val, and valueChanged().
Referenced by QtRectPropertyManagerPrivate::slotIntChanged().
QtIntPropertyManager * QtRectPropertyManager::subIntPropertyManager | ( | ) | const |
Returns the manager that creates the nested x, y, width and height subproperties.
In order to provide editing widgets for the mentioned subproperties in a property browser widget, this manager must be associated with an editor factory.
References d_ptr, and QtRectPropertyManagerPrivate::m_intPropertyManager.
Referenced by main().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QtAbstractPropertyManager.
References d_ptr, QtRectPropertyManagerPrivate::m_hToProperty, QtRectPropertyManagerPrivate::m_propertyToH, QtRectPropertyManagerPrivate::m_propertyToW, QtRectPropertyManagerPrivate::m_propertyToX, QtRectPropertyManagerPrivate::m_propertyToY, QtRectPropertyManagerPrivate::m_values, QtRectPropertyManagerPrivate::m_wToProperty, QtRectPropertyManagerPrivate::m_xToProperty, and QtRectPropertyManagerPrivate::m_yToProperty.
QRect QtRectPropertyManager::value | ( | const QtProperty * | property | ) | const |
Returns the given property's value.
If the given property is not managed by this manager, this function returns an invalid rectangle.
References d_ptr, and QtRectPropertyManagerPrivate::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 QtRectPropertyManager(), setConstraint(), and setValue().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QtAbstractPropertyManager.
References d_ptr, and QtRectPropertyManagerPrivate::m_values.
|
private |