1// qtreeview.sip generated by MetaSIP
2//
3// This file is part of the QtWidgets Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QTreeView : QAbstractItemView
24{
25%TypeHeaderCode
26#include <qtreeview.h>
27%End
28
29public:
30    explicit QTreeView(QWidget *parent /TransferThis/ = 0);
31    virtual ~QTreeView();
32    virtual void setModel(QAbstractItemModel *model /KeepReference/);
33    virtual void setRootIndex(const QModelIndex &index);
34    virtual void setSelectionModel(QItemSelectionModel *selectionModel /KeepReference/);
35    QHeaderView *header() const;
36    void setHeader(QHeaderView *header /Transfer/);
37    int indentation() const;
38    void setIndentation(int i);
39    bool rootIsDecorated() const;
40    void setRootIsDecorated(bool show);
41    bool uniformRowHeights() const;
42    void setUniformRowHeights(bool uniform);
43    bool itemsExpandable() const;
44    void setItemsExpandable(bool enable);
45    int columnViewportPosition(int column) const;
46    int columnWidth(int column) const;
47    int columnAt(int x) const;
48    bool isColumnHidden(int column) const;
49    void setColumnHidden(int column, bool hide);
50    bool isRowHidden(int row, const QModelIndex &parent) const;
51    void setRowHidden(int row, const QModelIndex &parent, bool hide);
52    bool isExpanded(const QModelIndex &index) const;
53    void setExpanded(const QModelIndex &index, bool expand);
54    virtual void keyboardSearch(const QString &search);
55    virtual QRect visualRect(const QModelIndex &index) const;
56    virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = QAbstractItemView::EnsureVisible);
57    virtual QModelIndex indexAt(const QPoint &p) const;
58    QModelIndex indexAbove(const QModelIndex &index) const;
59    QModelIndex indexBelow(const QModelIndex &index) const;
60    virtual void reset();
61
62signals:
63    void expanded(const QModelIndex &index);
64    void collapsed(const QModelIndex &index);
65
66public:
67    virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>());
68
69public slots:
70    void hideColumn(int column);
71    void showColumn(int column);
72    void expand(const QModelIndex &index);
73    void expandAll();
74    void collapse(const QModelIndex &index);
75    void collapseAll();
76    void resizeColumnToContents(int column);
77    virtual void selectAll();
78
79protected slots:
80    void columnResized(int column, int oldSize, int newSize);
81    void columnCountChanged(int oldCount, int newCount);
82    void columnMoved();
83    void reexpand();
84    void rowsRemoved(const QModelIndex &parent, int first, int last);
85
86protected:
87    virtual void scrollContentsBy(int dx, int dy);
88    virtual void rowsInserted(const QModelIndex &parent, int start, int end);
89    virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end);
90    virtual QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers);
91    virtual int horizontalOffset() const;
92    virtual int verticalOffset() const;
93    virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command);
94    virtual QRegion visualRegionForSelection(const QItemSelection &selection) const;
95    virtual QModelIndexList selectedIndexes() const;
96    virtual void paintEvent(QPaintEvent *e);
97    virtual void timerEvent(QTimerEvent *event);
98    virtual void mouseReleaseEvent(QMouseEvent *event);
99    virtual void drawRow(QPainter *painter, const QStyleOptionViewItem &options /NoCopy/, const QModelIndex &index) const;
100    virtual void drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const;
101    void drawTree(QPainter *painter, const QRegion &region) const;
102    virtual void mousePressEvent(QMouseEvent *e);
103    virtual void mouseMoveEvent(QMouseEvent *event);
104    virtual void mouseDoubleClickEvent(QMouseEvent *e);
105    virtual void keyPressEvent(QKeyEvent *event);
106    virtual void updateGeometries();
107    virtual int sizeHintForColumn(int column) const;
108    int indexRowSizeHint(const QModelIndex &index) const;
109    virtual void horizontalScrollbarAction(int action);
110    virtual bool isIndexHidden(const QModelIndex &index) const;
111
112public:
113    void setColumnWidth(int column, int width);
114    void setSortingEnabled(bool enable);
115    bool isSortingEnabled() const;
116    void setAnimated(bool enable);
117    bool isAnimated() const;
118    void setAllColumnsShowFocus(bool enable);
119    bool allColumnsShowFocus() const;
120    void sortByColumn(int column, Qt::SortOrder order);
121    int autoExpandDelay() const;
122    void setAutoExpandDelay(int delay);
123    bool isFirstColumnSpanned(int row, const QModelIndex &parent) const;
124    void setFirstColumnSpanned(int row, const QModelIndex &parent, bool span);
125    void setWordWrap(bool on);
126    bool wordWrap() const;
127
128public slots:
129    void expandToDepth(int depth);
130
131protected:
132    virtual void dragMoveEvent(QDragMoveEvent *event);
133    virtual bool viewportEvent(QEvent *event);
134    int rowHeight(const QModelIndex &index) const;
135    virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
136    virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous);
137
138public:
139    bool expandsOnDoubleClick() const;
140    void setExpandsOnDoubleClick(bool enable);
141    bool isHeaderHidden() const;
142    void setHeaderHidden(bool hide);
143%If (Qt_5_2_0 -)
144    void setTreePosition(int logicalIndex);
145%End
146%If (Qt_5_2_0 -)
147    int treePosition() const;
148%End
149
150protected:
151%If (Qt_5_2_0 -)
152    virtual QSize viewportSizeHint() const;
153%End
154
155public:
156%If (Qt_5_4_0 -)
157    void resetIndentation();
158%End
159
160public slots:
161%If (Qt_5_13_0 -)
162    void expandRecursively(const QModelIndex &index, int depth = -1);
163%End
164};
165