1// qheaderview.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 QHeaderView : QAbstractItemView
24{
25%TypeHeaderCode
26#include <qheaderview.h>
27%End
28
29public:
30    enum ResizeMode
31    {
32        Interactive,
33        Fixed,
34        Stretch,
35        ResizeToContents,
36        Custom,
37    };
38
39    QHeaderView(Qt::Orientation orientation, QWidget *parent /TransferThis/ = 0);
40    virtual ~QHeaderView();
41    virtual void setModel(QAbstractItemModel *model /KeepReference/);
42    Qt::Orientation orientation() const;
43    int offset() const;
44    int length() const;
45    virtual QSize sizeHint() const;
46    int sectionSizeHint(int logicalIndex) const;
47    int visualIndexAt(int position) const;
48    int logicalIndexAt(int position) const;
49    int sectionSize(int logicalIndex) const;
50    int sectionPosition(int logicalIndex) const;
51    int sectionViewportPosition(int logicalIndex) const;
52    void moveSection(int from, int to);
53    void resizeSection(int logicalIndex, int size);
54    bool isSectionHidden(int logicalIndex) const;
55    void setSectionHidden(int logicalIndex, bool hide);
56    int count() const /__len__/;
57    int visualIndex(int logicalIndex) const;
58    int logicalIndex(int visualIndex) const;
59    void setHighlightSections(bool highlight);
60    bool highlightSections() const;
61    int stretchSectionCount() const;
62    void setSortIndicatorShown(bool show);
63    bool isSortIndicatorShown() const;
64    void setSortIndicator(int logicalIndex, Qt::SortOrder order);
65    int sortIndicatorSection() const;
66    Qt::SortOrder sortIndicatorOrder() const;
67    bool stretchLastSection() const;
68    void setStretchLastSection(bool stretch);
69    bool sectionsMoved() const;
70
71public slots:
72    void setOffset(int offset);
73    void headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast);
74    void setOffsetToSectionPosition(int visualIndex);
75
76signals:
77    void geometriesChanged();
78    void sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex);
79    void sectionResized(int logicalIndex, int oldSize, int newSize);
80    void sectionPressed(int logicalIndex);
81    void sectionClicked(int logicalIndex);
82    void sectionDoubleClicked(int logicalIndex);
83    void sectionCountChanged(int oldCount, int newCount);
84    void sectionHandleDoubleClicked(int logicalIndex);
85
86protected slots:
87    void updateSection(int logicalIndex);
88    void resizeSections();
89    void sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast);
90    void sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast);
91
92protected:
93    void initialize();
94    void initializeSections();
95    void initializeSections(int start, int end);
96    virtual void currentChanged(const QModelIndex &current, const QModelIndex &old);
97    virtual bool event(QEvent *e);
98    virtual bool viewportEvent(QEvent *e);
99    virtual void paintEvent(QPaintEvent *e);
100    virtual void mousePressEvent(QMouseEvent *e);
101    virtual void mouseMoveEvent(QMouseEvent *e);
102    virtual void mouseReleaseEvent(QMouseEvent *e);
103    virtual void mouseDoubleClickEvent(QMouseEvent *e);
104    virtual void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const;
105    virtual QSize sectionSizeFromContents(int logicalIndex) const;
106    virtual int horizontalOffset() const;
107    virtual int verticalOffset() const;
108    virtual void updateGeometries();
109    virtual void scrollContentsBy(int dx, int dy);
110    virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>());
111    virtual void rowsInserted(const QModelIndex &parent, int start, int end);
112    virtual QRect visualRect(const QModelIndex &index) const;
113    virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint);
114    virtual QModelIndex indexAt(const QPoint &p) const;
115    virtual bool isIndexHidden(const QModelIndex &index) const;
116    virtual QModelIndex moveCursor(QAbstractItemView::CursorAction, Qt::KeyboardModifiers);
117    virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags);
118    virtual QRegion visualRegionForSelection(const QItemSelection &selection) const;
119
120public:
121    int logicalIndexAt(int ax, int ay) const;
122    int logicalIndexAt(const QPoint &apos) const;
123    void hideSection(int alogicalIndex);
124    void showSection(int alogicalIndex);
125    void resizeSections(QHeaderView::ResizeMode mode);
126    int hiddenSectionCount() const;
127    int defaultSectionSize() const;
128    void setDefaultSectionSize(int size);
129    Qt::Alignment defaultAlignment() const;
130    void setDefaultAlignment(Qt::Alignment alignment);
131    bool sectionsHidden() const;
132    void swapSections(int first, int second);
133    bool cascadingSectionResizes() const;
134    void setCascadingSectionResizes(bool enable);
135    int minimumSectionSize() const;
136    void setMinimumSectionSize(int size);
137    QByteArray saveState() const;
138    bool restoreState(const QByteArray &state);
139    virtual void reset();
140
141public slots:
142    void setOffsetToLastSection();
143
144signals:
145    void sectionEntered(int logicalIndex);
146    void sortIndicatorChanged(int logicalIndex, Qt::SortOrder order);
147
148protected:
149    void initStyleOption(QStyleOptionHeader *option) const;
150
151public:
152    void setSectionsMovable(bool movable);
153    bool sectionsMovable() const;
154    void setSectionsClickable(bool clickable);
155    bool sectionsClickable() const;
156    QHeaderView::ResizeMode sectionResizeMode(int logicalIndex) const;
157    void setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode);
158    void setSectionResizeMode(QHeaderView::ResizeMode mode);
159%If (Qt_5_2_0 -)
160    virtual void setVisible(bool v);
161%End
162%If (Qt_5_2_0 -)
163    void setResizeContentsPrecision(int precision);
164%End
165%If (Qt_5_2_0 -)
166    int resizeContentsPrecision() const;
167%End
168%If (Qt_5_2_0 -)
169    int maximumSectionSize() const;
170%End
171%If (Qt_5_2_0 -)
172    void setMaximumSectionSize(int size);
173%End
174%If (Qt_5_5_0 -)
175    void resetDefaultSectionSize();
176%End
177%If (Qt_5_11_0 -)
178    void setFirstSectionMovable(bool movable);
179%End
180%If (Qt_5_11_0 -)
181    bool isFirstSectionMovable() const;
182%End
183};
184