41 #ifndef QTPROPERTYBROWSER_H
42 #define QTPROPERTYBROWSER_H
44 #include <QtGui/QWidget>
45 #include <QtCore/QSet>
46 #include <QtGui/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
65 class QtPropertyPrivate;
79 QList<QtProperty *> subProperties()
const;
83 QString toolTip()
const;
84 QString statusTip()
const;
85 QString whatsThis()
const;
86 QString propertyName()
const;
87 bool isEnabled()
const;
88 bool isModified()
const;
90 bool hasValue()
const;
91 QIcon valueIcon()
const;
92 QString valueText()
const;
93 QString displayText()
const;
95 void setToolTip(
const QString &text);
96 void setStatusTip(
const QString &text);
97 void setWhatsThis(
const QString &text);
98 void setPropertyName(
const QString &text);
99 void setEnabled(
bool enable);
100 void setModified(
bool modified);
107 void propertyChanged();
113 class QtAbstractPropertyManagerPrivate;
123 QSet<QtProperty *> properties()
const;
126 QtProperty *addProperty(
const QString &name = QString());
135 virtual bool hasValue(
const QtProperty *property)
const;
136 virtual QIcon valueIcon(
const QtProperty *property)
const;
137 virtual QString valueText(
const QtProperty *property)
const;
138 virtual QString displayText(
const QtProperty *property)
const;
140 virtual void initializeProperty(
QtProperty *property) = 0;
141 virtual void uninitializeProperty(
QtProperty *property);
145 QtAbstractPropertyManagerPrivate *
d_ptr;
154 virtual QWidget *createEditor(
QtProperty *property, QWidget *parent) = 0;
159 virtual void breakConnection(QtAbstractPropertyManager *manager) = 0;
161 virtual void managerDestroyed(QObject *manager) = 0;
166 template <
class PropertyManager>
173 QSetIterator<PropertyManager *> it(m_managers);
174 while (it.hasNext()) {
175 PropertyManager *manager = it.next();
177 return createEditor(manager, property, parent);
184 if (m_managers.contains(manager))
186 m_managers.insert(manager);
187 connectPropertyManager(manager);
188 connect(manager, SIGNAL(destroyed(QObject *)),
189 this, SLOT(managerDestroyed(QObject *)));
193 if (!m_managers.contains(manager))
195 disconnect(manager, SIGNAL(destroyed(QObject *)),
196 this, SLOT(managerDestroyed(QObject *)));
197 disconnectPropertyManager(manager);
198 m_managers.remove(manager);
207 QSetIterator<PropertyManager *> itManager(m_managers);
208 while (itManager.hasNext()) {
209 PropertyManager *m = itManager.next();
217 virtual void connectPropertyManager(PropertyManager *manager) = 0;
218 virtual QWidget *createEditor(PropertyManager *manager,
QtProperty *property,
219 QWidget *parent) = 0;
220 virtual void disconnectPropertyManager(PropertyManager *manager) = 0;
223 QSetIterator<PropertyManager *> it(m_managers);
224 while (it.hasNext()) {
225 PropertyManager *m = it.next();
227 m_managers.remove(m);
235 QSetIterator<PropertyManager *> it(m_managers);
236 while (it.hasNext()) {
237 PropertyManager *m = it.next();
239 removePropertyManager(m);
246 friend class QtAbstractPropertyEditor;
250 class QtBrowserItemPrivate;
257 QList<QtBrowserItem *> children()
const;
263 friend class QtAbstractPropertyBrowserPrivate;
266 class QtAbstractPropertyBrowserPrivate;
276 QList<QtProperty *> properties()
const;
277 QList<QtBrowserItem *> items(
QtProperty *property)
const;
279 QList<QtBrowserItem *> topLevelItems()
const;
282 template <
class PropertyManager>
288 if (addFactory(abstractManager, abstractFactory))
313 virtual QWidget *createEditor(
QtProperty *property, QWidget *parent);
319 QtAbstractPropertyBrowserPrivate *
d_ptr;
322 Q_PRIVATE_SLOT(d_func(),
void slotPropertyInserted(
QtProperty *,
323 QtProperty *, QtProperty *))
324 Q_PRIVATE_SLOT(d_func(),
void slotPropertyRemoved(QtProperty *,
326 Q_PRIVATE_SLOT(d_func(),
void slotPropertyDestroyed(QtProperty *))
327 Q_PRIVATE_SLOT(d_func(),
void slotPropertyDataChanged(QtProperty *))
331 #if QT_VERSION >= 0x040400
335 #endif // QTPROPERTYBROWSER_H
QtAbstractEditorFactoryBase(QObject *parent=0)
Definition: qtpropertybrowser.h:156
Definition: qtpropertybrowser.h:268
QtAbstractPropertyManagerPrivate * d_ptr
Definition: qtpropertybrowser.h:145
Definition: qtpropertybrowser.h:252
Definition: qtpropertybrowser.h:115
void addPropertyManager(PropertyManager *manager)
Definition: qtpropertybrowser.h:182
void breakConnection(QtAbstractPropertyManager *manager)
Definition: qtpropertybrowser.h:233
QtAbstractPropertyBrowserPrivate * d_ptr
Definition: qtpropertybrowser.h:319
QtAbstractPropertyManager * propertyManager() const
Definition: qtpropertybrowser.h:167
QtAbstractEditorFactory(QObject *parent)
Definition: qtpropertybrowser.h:170
QtPropertyPrivate * d_ptr
Definition: qtpropertybrowser.h:110
QWidget * createEditor(QtProperty *property, QWidget *parent)
Definition: qtpropertybrowser.h:171
void setFactoryForManager(PropertyManager *manager, QtAbstractEditorFactory< PropertyManager > *factory)
Definition: qtpropertybrowser.h:283
void managerDestroyed(QObject *manager)
Definition: qtpropertybrowser.h:221
#define QT_QTPROPERTYBROWSER_EXPORT
Definition: qtpropertybrowser.h:59
The description of this class will come soon !
Definition: qtpropertybrowser.h:74
void removePropertyManager(PropertyManager *manager)
Definition: qtpropertybrowser.h:191
PropertyManager * propertyManager(QtProperty *property) const
Definition: qtpropertybrowser.h:204
QLineEdit::EchoMode EchoMode
Definition: qtpropertybrowser.h:62
QSet< PropertyManager * > m_managers
Definition: qtpropertybrowser.h:245
Definition: qtpropertybrowser.h:150
QSet< PropertyManager * > propertyManagers() const
Definition: qtpropertybrowser.h:200
QtBrowserItemPrivate * d_ptr
Definition: qtpropertybrowser.h:262