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 78 QList<QtProperty *> subProperties()
const;
82 QString toolTip()
const;
83 QString statusTip()
const;
84 QString whatsThis()
const;
85 QString propertyName()
const;
86 bool isEnabled()
const;
87 bool isModified()
const;
89 bool hasValue()
const;
90 QIcon valueIcon()
const;
91 QString valueText()
const;
92 QString displayText()
const;
94 void setToolTip(
const QString &text);
95 void setStatusTip(
const QString &text);
96 void setWhatsThis(
const QString &text);
97 void setPropertyName(
const QString &text);
98 void setEnabled(
bool enable);
99 void setModified(
bool modified);
106 void propertyChanged();
121 QSet<QtProperty *> properties()
const;
124 QtProperty *addProperty(
const QString &name = QString());
133 virtual bool hasValue(
const QtProperty *property)
const;
134 virtual QIcon valueIcon(
const QtProperty *property)
const;
135 virtual QString valueText(
const QtProperty *property)
const;
136 virtual QString displayText(
const QtProperty *property)
const;
138 virtual void initializeProperty(
QtProperty *property) = 0;
139 virtual void uninitializeProperty(
QtProperty *property);
151 virtual QWidget *createEditor(
QtProperty *property, QWidget *parent) = 0;
158 virtual void managerDestroyed(QObject *manager) = 0;
163 template <
class PropertyManager>
168 QSetIterator<PropertyManager *> it(m_managers);
169 while (it.hasNext()) {
170 PropertyManager *manager = it.next();
172 return createEditor(manager, property, parent);
178 if (m_managers.contains(manager))
180 m_managers.insert(manager);
181 connectPropertyManager(manager);
182 connect(manager, SIGNAL(destroyed(QObject *)),
183 this, SLOT(managerDestroyed(QObject *)));
186 if (!m_managers.contains(manager))
188 disconnect(manager, SIGNAL(destroyed(QObject *)),
189 this, SLOT(managerDestroyed(QObject *)));
190 disconnectPropertyManager(manager);
191 m_managers.remove(manager);
198 QSetIterator<PropertyManager *> itManager(m_managers);
199 while (itManager.hasNext()) {
200 PropertyManager *m = itManager.next();
208 virtual void connectPropertyManager(PropertyManager *manager) = 0;
209 virtual QWidget *createEditor(PropertyManager *manager,
QtProperty *property,
210 QWidget *parent) = 0;
211 virtual void disconnectPropertyManager(PropertyManager *manager) = 0;
213 QSetIterator<PropertyManager *> it(m_managers);
214 while (it.hasNext()) {
215 PropertyManager *m = it.next();
217 m_managers.remove(m);
224 QSetIterator<PropertyManager *> it(m_managers);
225 while (it.hasNext()) {
226 PropertyManager *m = it.next();
228 removePropertyManager(m);
235 friend class QtAbstractPropertyEditor;
245 QList<QtBrowserItem *> children()
const;
263 QList<QtProperty *> properties()
const;
264 QList<QtBrowserItem *> items(
QtProperty *property)
const;
266 QList<QtBrowserItem *> topLevelItems()
const;
269 template <
class PropertyManager>
275 if (addFactory(abstractManager, abstractFactory))
300 virtual QWidget *createEditor(
QtProperty *property, QWidget *parent);
309 Q_PRIVATE_SLOT(d_func(),
void slotPropertyInserted(
QtProperty *,
311 Q_PRIVATE_SLOT(d_func(),
void slotPropertyRemoved(
QtProperty *,
313 Q_PRIVATE_SLOT(d_func(),
void slotPropertyDestroyed(
QtProperty *))
314 Q_PRIVATE_SLOT(d_func(),
void slotPropertyDataChanged(
QtProperty *))
318 #if QT_VERSION >= 0x040400 322 #endif // QTPROPERTYBROWSER_H QtAbstractEditorFactoryBase(QObject *parent=0)
Definition: qtpropertybrowser.h:153
Definition: qtpropertybrowser.cpp:55
QtAbstractPropertyBrowser provides a base class for implementing property browsers.
Definition: qtpropertybrowser.h:256
QtAbstractPropertyManagerPrivate * d_ptr
Definition: qtpropertybrowser.h:143
The QtBrowserItem class represents a property in a property browser instance.
Definition: qtpropertybrowser.h:241
Definition: qtpropertybrowser.cpp:76
The QtAbstractPropertyManager provides an interface for property managers.
Definition: qtpropertybrowser.h:114
Definition: qtpropertybrowser.cpp:1060
void addPropertyManager(PropertyManager *manager)
Definition: qtpropertybrowser.h:177
void breakConnection(QtAbstractPropertyManager *manager)
Definition: qtpropertybrowser.h:223
QtAbstractPropertyBrowserPrivate * d_ptr
Definition: qtpropertybrowser.h:306
QtAbstractPropertyManager * propertyManager() const
Definition: qtpropertybrowser.cpp:196
The QtAbstractEditorFactory is the base template class for editor factories.
Definition: qtpropertybrowser.h:164
QtAbstractEditorFactory(QObject *parent)
Definition: qtpropertybrowser.h:166
QtPropertyPrivate * d_ptr
Definition: qtpropertybrowser.h:109
void setFactoryForManager(PropertyManager *manager, QtAbstractEditorFactory< PropertyManager > *factory)
Definition: qtpropertybrowser.h:270
void managerDestroyed(QObject *manager)
Definition: qtpropertybrowser.h:212
#define QT_QTPROPERTYBROWSER_EXPORT
Definition: qtpropertybrowser.h:59
QSet< PropertyManager * > propertyManagers() const
Definition: qtpropertybrowser.h:193
PropertyManager * propertyManager(QtProperty *property) const
Definition: qtpropertybrowser.h:196
QWidget * createEditor(QtProperty *property, QWidget *parent)
Definition: qtpropertybrowser.h:167
The description of this class will come soon !
Definition: qtpropertybrowser.h:74
void removePropertyManager(PropertyManager *manager)
Definition: qtpropertybrowser.h:185
QLineEdit::EchoMode EchoMode
Definition: qtpropertybrowser.h:62
QSet< PropertyManager * > m_managers
Definition: qtpropertybrowser.h:234
Definition: qtpropertybrowser.cpp:1179
The QtAbstractEditorFactoryBase provides an interface for editor factories.
Definition: qtpropertybrowser.h:148
QtBrowserItemPrivate * d_ptr
Definition: qtpropertybrowser.h:250