41#ifndef QTPROPERTYBROWSER_H
42#define QTPROPERTYBROWSER_H
44#include <QtWidgets/QWidget>
46#include <QtWidgets/QLineEdit>
48#if QT_VERSION >= 0x040400
53# if defined(COMPILE_QTPROPERTYBROWSER)
54# define QT_QTPROPERTYBROWSER_EXPORT __declspec(dllexport)
56# define QT_QTPROPERTYBROWSER_EXPORT __declspec(dllimport)
59#define QT_QTPROPERTYBROWSER_EXPORT
175#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)
197template <
class PropertyManager>
202 QSetIterator<PropertyManager*> it(m_managers);
203 while (it.hasNext()) {
204 PropertyManager* manager = it.next();
212 if (m_managers.contains(manager)) {
215 m_managers.insert(manager);
217 connect(manager, SIGNAL(destroyed(QObject*)),
221 if (!m_managers.contains(manager)) {
224 disconnect(manager, SIGNAL(destroyed(QObject*)),
227 m_managers.remove(manager);
234 QSetIterator<PropertyManager*> itManager(m_managers);
235 while (itManager.hasNext()) {
236 PropertyManager* m = itManager.next();
246 QWidget* parent) = 0;
249 QSetIterator<PropertyManager*> it(m_managers);
250 while (it.hasNext()) {
251 PropertyManager* m = it.next();
253 m_managers.remove(m);
260 QSetIterator<PropertyManager*> it(m_managers);
261 while (it.hasNext()) {
262 PropertyManager* m = it.next();
270 QSet<PropertyManager*> m_managers;
280 QtBrowserItem*
parent()
const;
305 template <
class PropertyManager>
311 if (addFactory(abstractManager, abstractFactory)) {
345#if QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)
350 Q_PRIVATE_SLOT(d_func(),
void slotPropertyInserted(
QtProperty*,
352 Q_PRIVATE_SLOT(d_func(),
void slotPropertyRemoved(
QtProperty*,
354 Q_PRIVATE_SLOT(d_func(),
void slotPropertyDestroyed(
QtProperty*))
355 Q_PRIVATE_SLOT(d_func(),
void slotPropertyDataChanged(
QtProperty*))
359#if QT_VERSION >= 0x040400
Definition PersistenceManager.h:30
The QtAbstractEditorFactoryBase provides an interface for editor factories.
Definition qtpropertybrowser.h:182
virtual void managerDestroyed(QObject *manager)=0
QtAbstractEditorFactoryBase(QObject *parent=nullptr)
Definition qtpropertybrowser.h:187
virtual QWidget * createEditor(QtProperty *property, QWidget *parent)=0
friend class QtAbstractPropertyBrowser
Definition qtpropertybrowser.h:194
virtual void breakConnection(QtAbstractPropertyManager *manager)=0
The QtAbstractEditorFactory is the base template class for editor factories.
Definition qtpropertybrowser.h:198
void removePropertyManager(PropertyManager *manager)
Definition qtpropertybrowser.h:220
QtAbstractEditorFactory(QObject *parent)
Definition qtpropertybrowser.h:200
QWidget * createEditor(QtProperty *property, QWidget *parent) override
Definition qtpropertybrowser.h:201
virtual void disconnectPropertyManager(PropertyManager *manager)=0
friend class QtAbstractPropertyEditor
Definition qtpropertybrowser.h:271
PropertyManager * propertyManager(QtProperty *property) const
Definition qtpropertybrowser.h:232
QSet< PropertyManager * > propertyManagers() const
Definition qtpropertybrowser.h:229
virtual QWidget * createEditor(PropertyManager *manager, QtProperty *property, QWidget *parent)=0
void managerDestroyed(QObject *manager) override
Definition qtpropertybrowser.h:248
void addPropertyManager(PropertyManager *manager)
Definition qtpropertybrowser.h:211
virtual void connectPropertyManager(PropertyManager *manager)=0
Definition qtpropertybrowser.cpp:1182
QtAbstractPropertyBrowser provides a base class for implementing property browsers.
Definition qtpropertybrowser.h:292
QtBrowserItem * addProperty(QtProperty *property)
Definition qtpropertybrowser.cpp:1760
QList< QtBrowserItem * > items(QtProperty *property) const
Definition qtpropertybrowser.cpp:1705
virtual void itemInserted(QtBrowserItem *item, QtBrowserItem *afterItem)=0
QList< QtBrowserItem * > topLevelItems() const
Definition qtpropertybrowser.cpp:1728
QList< QtProperty * > properties() const
Definition qtpropertybrowser.cpp:1692
QtBrowserItem * topLevelItem(QtProperty *property) const
Definition qtpropertybrowser.cpp:1718
void removeProperty(QtProperty *property)
Definition qtpropertybrowser.cpp:1827
void currentItemChanged(QtBrowserItem *)
void setFactoryForManager(PropertyManager *manager, QtAbstractEditorFactory< PropertyManager > *factory)
Definition qtpropertybrowser.h:306
virtual void itemRemoved(QtBrowserItem *item)=0
virtual void itemChanged(QtBrowserItem *item)=0
QtBrowserItem * insertProperty(QtProperty *property, QtProperty *afterProperty)
Definition qtpropertybrowser.cpp:1784
virtual QWidget * createEditor(QtProperty *property, QWidget *parent)
Definition qtpropertybrowser.cpp:1869
QtAbstractPropertyBrowser(QWidget *parent=nullptr)
Definition qtpropertybrowser.cpp:1656
void clear()
Definition qtpropertybrowser.cpp:1738
Definition qtpropertybrowser.cpp:76
The QtAbstractPropertyManager provides an interface for property managers.
Definition qtpropertybrowser.h:144
virtual EchoMode echoMode(const QtProperty *) const
Definition qtpropertybrowser.cpp:724
virtual void initializeProperty(QtProperty *property)=0
void propertyDestroyed(QtProperty *property)
void propertyInserted(QtProperty *property, QtProperty *parent, QtProperty *after)
virtual QString displayText(const QtProperty *property) const
Definition qtpropertybrowser.cpp:711
virtual QIcon valueIcon(const QtProperty *property) const
Definition qtpropertybrowser.cpp:683
void propertyChanged(QtProperty *property)
QSet< QtProperty * > properties() const
Definition qtpropertybrowser.cpp:658
virtual bool hasValue(const QtProperty *property) const
Definition qtpropertybrowser.cpp:669
QtProperty * addProperty(const QString &name=QString())
Definition qtpropertybrowser.cpp:737
QtAbstractPropertyManager(QObject *parent=nullptr)
Definition qtpropertybrowser.cpp:624
virtual QtProperty * createProperty()
Definition qtpropertybrowser.cpp:756
void clear() const
Definition qtpropertybrowser.cpp:645
virtual QString valueText(const QtProperty *property) const
Definition qtpropertybrowser.cpp:697
virtual void uninitializeProperty(QtProperty *property)
Definition qtpropertybrowser.cpp:788
void propertyRemoved(QtProperty *property, QtProperty *parent)
friend class QtProperty
Definition qtpropertybrowser.h:172
Definition qtpropertybrowser.cpp:1062
The QtBrowserItem class represents a property in a property browser instance.
Definition qtpropertybrowser.h:277
QtProperty * property() const
Definition qtpropertybrowser.cpp:1121
QtAbstractPropertyBrowser * browser() const
Definition qtpropertybrowser.cpp:1159
friend class QtAbstractPropertyBrowserPrivate
Definition qtpropertybrowser.h:287
QList< QtBrowserItem * > children() const
Definition qtpropertybrowser.cpp:1151
QtBrowserItem * parent() const
Definition qtpropertybrowser.cpp:1132
Definition qtpropertybrowser.cpp:55
The QtProperty class encapsulates an instance of a property.
Definition qtpropertybrowser.h:104
void setModified(bool modified)
Definition qtpropertybrowser.cpp:367
void propertyChanged()
Definition qtpropertybrowser.cpp:482
QString displayText() const
Definition qtpropertybrowser.cpp:286
void setToolTip(const QString &text)
Definition qtpropertybrowser.cpp:295
void addSubProperty(QtProperty *property)
Definition qtpropertybrowser.cpp:384
QString propertyName() const
Definition qtpropertybrowser.cpp:223
bool isEnabled() const
Definition qtpropertybrowser.cpp:232
void setEnabled(bool enable)
Definition qtpropertybrowser.cpp:353
QString toolTip() const
Definition qtpropertybrowser.cpp:196
bool hasValue() const
Definition qtpropertybrowser.cpp:250
void insertSubProperty(QtProperty *property, QtProperty *afterProperty)
Definition qtpropertybrowser.cpp:405
QList< QtProperty * > subProperties() const
Definition qtpropertybrowser.cpp:180
QString whatsThis() const
Definition qtpropertybrowser.cpp:214
void removeSubProperty(QtProperty *property)
Definition qtpropertybrowser.cpp:459
QString statusTip() const
Definition qtpropertybrowser.cpp:205
QIcon valueIcon() const
Definition qtpropertybrowser.cpp:262
bool isModified() const
Definition qtpropertybrowser.cpp:241
friend class QtAbstractPropertyManager
Definition qtpropertybrowser.h:138
void setPropertyName(const QString &text)
Definition qtpropertybrowser.cpp:339
QString valueText() const
Definition qtpropertybrowser.cpp:274
void setStatusTip(const QString &text)
Definition qtpropertybrowser.cpp:309
QtProperty(QtAbstractPropertyManager *manager)
Definition qtpropertybrowser.cpp:135
void setWhatsThis(const QString &text)
Definition qtpropertybrowser.cpp:323
QtAbstractPropertyManager * propertyManager() const
Definition qtpropertybrowser.cpp:187
#define QT_QTPROPERTYBROWSER_EXPORT
Definition qtpropertybrowser.h:59
QLineEdit::EchoMode EchoMode
Definition qtpropertybrowser.h:62