41 #ifndef QTTREEPROPERTYBROWSER_H 42 #define QTTREEPROPERTYBROWSER_H 45 #include <QtGui/QTreeWidget> 46 #include <QtGui/QItemDelegate> 48 #if QT_VERSION >= 0x040400 53 class QTreeWidgetItem;
60 Q_PROPERTY(
int indentation READ indentation WRITE setIndentation)
61 Q_PROPERTY(
bool rootIsDecorated READ rootIsDecorated WRITE setRootIsDecorated)
62 Q_PROPERTY(
bool alternatingRowColors READ alternatingRowColors WRITE setAlternatingRowColors)
63 Q_PROPERTY(
bool headerVisible READ isHeaderVisible WRITE setHeaderVisible)
64 Q_PROPERTY(
ResizeMode resizeMode READ resizeMode WRITE setResizeMode)
65 Q_PROPERTY(
int splitterPosition READ splitterPosition WRITE setSplitterPosition)
66 Q_PROPERTY(
bool propertiesWithoutValueMarked READ propertiesWithoutValueMarked WRITE setPropertiesWithoutValueMarked)
80 int indentation()
const;
81 void setIndentation(
int i);
83 bool rootIsDecorated()
const;
84 void setRootIsDecorated(
bool show);
86 bool alternatingRowColors()
const;
87 void setAlternatingRowColors(
bool enable);
89 bool isHeaderVisible()
const;
90 void setHeaderVisible(
bool visible);
95 int splitterPosition()
const;
96 void setSplitterPosition(
int position);
104 void setBackgroundColor(
QtBrowserItem *item,
const QColor &color);
108 void setPropertiesWithoutValueMarked(
bool mark);
109 bool propertiesWithoutValueMarked()
const;
129 Q_PRIVATE_SLOT(d_func(),
void slotCollapsed(const QModelIndex &))
130 Q_PRIVATE_SLOT(d_func(),
void slotExpanded(const QModelIndex &))
131 Q_PRIVATE_SLOT(d_func(),
void slotCurrentBrowserItemChanged(
QtBrowserItem *))
132 Q_PRIVATE_SLOT(d_func(),
void slotCurrentTreeItemChanged(QTreeWidgetItem *, QTreeWidgetItem *))
142 QtTreePropertyBrowserPrivate();
143 void init(QWidget *parent);
150 QtProperty *indexToProperty(
const QModelIndex &index)
const;
151 QTreeWidgetItem *indexToItem(
const QModelIndex &index)
const;
152 QtBrowserItem *indexToBrowserItem(
const QModelIndex &index)
const;
153 bool lastColumn(
int column)
const;
154 void disableItem(QTreeWidgetItem *item)
const;
155 void enableItem(QTreeWidgetItem *item)
const;
156 bool hasValue(QTreeWidgetItem *item)
const;
158 void slotCollapsed(
const QModelIndex &index);
159 void slotExpanded(
const QModelIndex &index);
171 void slotCurrentTreeItemChanged(QTreeWidgetItem *newItem, QTreeWidgetItem *);
173 QTreeWidgetItem *editedItem()
const;
176 void updateItem(QTreeWidgetItem *item);
178 QMap<QtBrowserItem *, QTreeWidgetItem *> m_indexToItem;
179 QMap<QTreeWidgetItem *, QtBrowserItem *> m_itemToIndex;
181 QMap<QtBrowserItem *, QColor> m_indexToBackgroundColor;
185 bool m_headerVisible;
188 bool m_markPropertiesWithoutValue;
189 bool m_browserChangedBlocked;
199 : QItemDelegate(parent), m_editorPrivate(0), m_editedItem(0), m_editedWidget(0), m_disablePainting(false)
203 { m_editorPrivate = editorPrivate; }
205 QWidget *createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
206 const QModelIndex &index)
const;
208 void updateEditorGeometry(QWidget *editor,
const QStyleOptionViewItem &option,
209 const QModelIndex &index)
const;
211 void paint(QPainter *painter,
const QStyleOptionViewItem &option,
212 const QModelIndex &index)
const;
214 QSize sizeHint(
const QStyleOptionViewItem &option,
const QModelIndex &index)
const;
217 const QModelIndex &)
const {}
221 bool eventFilter(QObject *
object, QEvent *event);
228 void drawDecoration(QPainter *painter,
const QStyleOptionViewItem &option,
229 const QRect &rect,
const QPixmap &pixmap)
const;
230 void drawDisplay(QPainter *painter,
const QStyleOptionViewItem &option,
231 const QRect &rect,
const QString &text)
const;
234 void slotEditorDestroyed(QObject *
object);
237 int indentation(
const QModelIndex &index)
const;
239 typedef QMap<QWidget *, QtProperty *> EditorToPropertyMap;
240 mutable EditorToPropertyMap m_editorToProperty;
242 typedef QMap<QtProperty *, QWidget *> PropertyToEditorMap;
243 mutable PropertyToEditorMap m_propertyToEditor;
245 mutable QTreeWidgetItem *m_editedItem;
246 mutable QWidget *m_editedWidget;
247 mutable bool m_disablePainting;
258 { m_editorPrivate = editorPrivate; }
261 {
return itemFromIndex(index); }
264 void keyPressEvent(QKeyEvent *event);
265 void mousePressEvent(QMouseEvent *event);
266 void drawRow(QPainter *painter,
const QStyleOptionViewItem &option,
const QModelIndex &index)
const;
272 #if QT_VERSION >= 0x040400 QtPropertyEditorView * treeWidget() const
Definition: qttreepropertybrowser.h:163
QtAbstractPropertyBrowser provides a base class for implementing property browsers.
Definition: qtpropertybrowser.h:357
void setEditorData(QWidget *, const QModelIndex &) const
Definition: qttreepropertybrowser.h:219
QtBrowserItem * currentItem() const
Definition: qtpropertybrowser.cpp:1915
void setCurrentItem(QtBrowserItem *)
Definition: qtpropertybrowser.cpp:1925
void setEditorPrivate(QtTreePropertyBrowserPrivate *editorPrivate)
Definition: qttreepropertybrowser.h:257
The QtBrowserItem class represents a property in a property browser instance.
Definition: qtpropertybrowser.h:309
virtual void itemRemoved(QtBrowserItem *item)=0
Definition: qttreepropertybrowser.h:71
The QtTreePropertyBrowser class provides QTreeWidget based property browser.
Definition: qttreepropertybrowser.h:56
void setEditorPrivate(QtTreePropertyBrowserPrivate *editorPrivate)
Definition: qttreepropertybrowser.h:202
Definition: qttreepropertybrowser.h:136
virtual void itemChanged(QtBrowserItem *item)=0
virtual void itemInserted(QtBrowserItem *item, QtBrowserItem *afterItem)=0
Definition: qttreepropertybrowser.h:251
bool markPropertiesWithoutValue() const
Definition: qttreepropertybrowser.h:164
QtPropertyEditorDelegate(QObject *parent=0)
Definition: qttreepropertybrowser.h:198
QTreeWidgetItem * indexToItem(const QModelIndex &index) const
Definition: qttreepropertybrowser.h:260
#define QT_QTPROPERTYBROWSER_EXPORT
Definition: qtpropertybrowser.h:66
ResizeMode
Definition: qttreepropertybrowser.h:69
Definition: qttreepropertybrowser.h:194
Definition: qttreepropertybrowser.h:73
The QtProperty class encapsulates an instance of a property.
Definition: qtpropertybrowser.h:74
QWidget * createEditor(QtProperty *property, QWidget *parent) const
Definition: qttreepropertybrowser.h:148
QTreeWidgetItem * editedItem() const
Definition: qttreepropertybrowser.h:224
virtual QWidget * createEditor(QtProperty *property, QWidget *parent)
Definition: qtpropertybrowser.cpp:1840
Definition: qttreepropertybrowser.h:72
void setModelData(QWidget *, QAbstractItemModel *, const QModelIndex &) const
Definition: qttreepropertybrowser.h:216