1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4//
5// W A R N I N G
6// -------------
7//
8// This file is not part of the Qt API. It exists for the convenience
9// of Qt Designer. This header file may change from version to version
10// without notice, or even be removed.
11//
12// We mean it.
13//
14
15#ifndef QTTREEPROPERTYBROWSER_H
16#define QTTREEPROPERTYBROWSER_H
17
18#include "qtpropertybrowser_p.h"
19
20QT_BEGIN_NAMESPACE
21
22class QTreeWidgetItem;
23class QtTreePropertyBrowserPrivate;
24
25class QtTreePropertyBrowser : public QtAbstractPropertyBrowser
26{
27 Q_OBJECT
28 Q_PROPERTY(int indentation READ indentation WRITE setIndentation)
29 Q_PROPERTY(bool rootIsDecorated READ rootIsDecorated WRITE setRootIsDecorated)
30 Q_PROPERTY(bool alternatingRowColors READ alternatingRowColors WRITE setAlternatingRowColors)
31 Q_PROPERTY(bool headerVisible READ isHeaderVisible WRITE setHeaderVisible)
32 Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode)
33 Q_PROPERTY(int splitterPosition READ splitterPosition WRITE setSplitterPosition)
34 Q_PROPERTY(bool propertiesWithoutValueMarked READ propertiesWithoutValueMarked WRITE setPropertiesWithoutValueMarked)
35public:
36 enum ResizeMode
37 {
38 Interactive,
39 Stretch,
40 Fixed,
41 ResizeToContents
42 };
43 Q_ENUM(ResizeMode)
44
45 QtTreePropertyBrowser(QWidget *parent = 0);
46 ~QtTreePropertyBrowser();
47
48 int indentation() const;
49 void setIndentation(int i);
50
51 bool rootIsDecorated() const;
52 void setRootIsDecorated(bool show);
53
54 bool alternatingRowColors() const;
55 void setAlternatingRowColors(bool enable);
56
57 bool isHeaderVisible() const;
58 void setHeaderVisible(bool visible);
59
60 ResizeMode resizeMode() const;
61 void setResizeMode(ResizeMode mode);
62
63 int splitterPosition() const;
64 void setSplitterPosition(int position);
65
66 void setExpanded(QtBrowserItem *item, bool expanded);
67 bool isExpanded(QtBrowserItem *item) const;
68
69 bool isItemVisible(QtBrowserItem *item) const;
70 void setItemVisible(QtBrowserItem *item, bool visible);
71
72 void setBackgroundColor(QtBrowserItem *item, QColor color);
73 QColor backgroundColor(QtBrowserItem *item) const;
74 QColor calculatedBackgroundColor(QtBrowserItem *item) const;
75
76 void setPropertiesWithoutValueMarked(bool mark);
77 bool propertiesWithoutValueMarked() const;
78
79 void editItem(QtBrowserItem *item);
80
81Q_SIGNALS:
82 void collapsed(QtBrowserItem *item);
83 void expanded(QtBrowserItem *item);
84
85protected:
86 void itemInserted(QtBrowserItem *item, QtBrowserItem *afterItem) override;
87 void itemRemoved(QtBrowserItem *item) override;
88 void itemChanged(QtBrowserItem *item) override;
89
90private:
91 QScopedPointer<QtTreePropertyBrowserPrivate> d_ptr;
92 Q_DECLARE_PRIVATE(QtTreePropertyBrowser)
93 Q_DISABLE_COPY_MOVE(QtTreePropertyBrowser)
94};
95
96QT_END_NAMESPACE
97
98#endif
99

Provided by KDAB

Privacy Policy
Learn to use CMake with our Intro Training
Find out more

source code of qttools/src/shared/qtpropertybrowser/qttreepropertybrowser_p.h