Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qquickheaderview_p_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 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
// Qt-Security score:significant reason:default
4
5
#
ifndef
QQUICKHEADERVIEW_P_P_H
6
#
define
QQUICKHEADERVIEW_P_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtCore
/
QAbstractItemModel
>
20
#
include
<
QtCore
/
QPointer
>
21
#
include
<
QtQuick
/
private
/
qquicktableview_p_p
.
h
>
22
#
include
<
private
/
qquickheaderview_p
.
h
>
23
24
QT_BEGIN_NAMESPACE
25
26
class
Q_QUICKTEMPLATES2_EXPORT
QHeaderDataProxyModel
:
public
QAbstractItemModel
27
{
28
Q_OBJECT
29
Q_DISABLE_COPY(QHeaderDataProxyModel)
30
Q_PROPERTY(QAbstractItemModel *sourceModel READ sourceModel)
31
public
:
32
explicit
QHeaderDataProxyModel(QObject *parent =
nullptr
);
33
~QHeaderDataProxyModel();
34
35
void
setSourceModel(QAbstractItemModel *newSourceModel);
36
QPointer<QAbstractItemModel> sourceModel()
const
;
37
QModelIndex index(
int
row,
int
column,
const
QModelIndex &parent = QModelIndex())
const
override;
38
QModelIndex parent(
const
QModelIndex &child)
const
override;
39
QModelIndex sibling(
int
row,
int
column,
const
QModelIndex &idx)
const
override;
40
int
rowCount(
const
QModelIndex &parent = QModelIndex())
const
override;
41
int
columnCount(
const
QModelIndex &parent = QModelIndex())
const
override;
42
QVariant data(
const
QModelIndex &index,
int
role = Qt::DisplayRole)
const
override;
43
bool
setData(
const
QModelIndex &index,
const
QVariant &value,
int
role = Qt::EditRole) override;
44
bool
hasChildren(
const
QModelIndex &parent = QModelIndex())
const
override;
45
QHash<
int
, QByteArray> roleNames()
const
override;
46
47
inline
QVariant variantValue()
const
;
48
inline
Qt::Orientation orientation()
const
;
49
inline
void
setOrientation(Qt::Orientation o);
50
51
QQuickHeaderViewBase *m_headerView =
nullptr
;
52
53
private
:
54
inline
void
connectToModel();
55
inline
void
disconnectFromModel();
56
QPointer<QAbstractItemModel> m_model =
nullptr
;
57
Qt::Orientation m_orientation = Qt::Horizontal;
58
};
59
60
class
QQuickHeaderViewBasePrivate
:
public
QQuickTableViewPrivate
61
{
62
Q_DECLARE_PUBLIC(QQuickHeaderViewBase)
63
public
:
64
QQuickHeaderViewBasePrivate
();
65
~
QQuickHeaderViewBasePrivate
();
66
67
static
inline
QQuickHeaderViewBasePrivate
*
get
(QQuickHeaderViewBase *q) {
return
q->d_func(); }
68
69
void
init
();
70
Qt
::
Orientation
orientation
()
const
;
71
void
setOrientation
(Qt::Orientation orientation);
72
const
QPointer
<
QQuickItem
>
delegateItemAt
(
int
row,
int
col)
const
;
73
QVariant
modelImpl
()
const
override
;
74
void
setModelImpl
(
const
QVariant &newModel)
override
;
75
void
syncModel
()
override
;
76
void
syncSyncView
()
override
;
77
QAbstractItemModel
*
selectionSourceModel
()
override
;
78
79
// QQuickTableViewPrivate interface
80
virtual
void
initItemCallback
(
int
modelIndex, QObject *item)
override
;
81
82
protected
:
83
QHeaderDataProxyModel
m_headerDataProxyModel
;
84
struct
SectionSize
85
{
86
int
section
;
87
qreal
previousSize
;
88
};
89
QStack
<
SectionSize
>
m_hiddenSectionSizes
;
90
bool
m_modelExplicitlySet
=
false
;
91
QString
m_textRole
;
92
93
int
logicalRowIndex
(
const
int
visualIndex)
const
final
;
94
int
logicalColumnIndex
(
const
int
visualIndex)
const
final
;
95
int
visualRowIndex
(
const
int
logicalIndex)
const
final
;
96
int
visualColumnIndex
(
const
int
logicalIndex)
const
final
;
97
};
98
99
class
QQuickHorizontalHeaderViewPrivate
:
public
QQuickHeaderViewBasePrivate
100
{
101
Q_DECLARE_PUBLIC(QQuickHorizontalHeaderView)
102
public
:
103
QQuickHorizontalHeaderViewPrivate
();
104
~
QQuickHorizontalHeaderViewPrivate
();
105
106
bool
m_movableColumns
=
false
;
107
108
// sorting
109
bool
showSortIndicator
=
false
;
110
bool
sortIndicatorClearable
=
false
;
111
112
void
executeTap
(
const
QQuickHandlerPoint &point)
override
;
113
};
114
115
class
QQuickVerticalHeaderViewPrivate
:
public
QQuickHeaderViewBasePrivate
116
{
117
Q_DECLARE_PUBLIC(QQuickVerticalHeaderView)
118
public
:
119
QQuickVerticalHeaderViewPrivate
();
120
~
QQuickVerticalHeaderViewPrivate
();
121
122
bool
m_movableRows
=
false
;
123
};
124
125
QT_END_NAMESPACE
126
127
#
endif
// QQUICKHEADERVIEW_P_P_H
QHeaderDataProxyModel
QHeaderDataProxyModel is a proxy AbstractItemModel type that maps source model's headerData() to corr...
Definition
qquickheaderview_p_p.h:27
QQuickHeaderViewBasePrivate
Definition
qquickheaderview_p_p.h:61
QQuickHeaderViewBasePrivate::modelImpl
QVariant modelImpl() const override
Definition
qquickheaderview.cpp:131
QQuickHeaderViewBasePrivate::logicalRowIndex
int logicalRowIndex(const int visualIndex) const final
Definition
qquickheaderview.cpp:245
QQuickHeaderViewBasePrivate::visualColumnIndex
int visualColumnIndex(const int logicalIndex) const final
Definition
qquickheaderview.cpp:260
QQuickHeaderViewBasePrivate::setModelImpl
void setModelImpl(const QVariant &newModel) override
Definition
qquickheaderview.cpp:142
QQuickHeaderViewBasePrivate::m_modelExplicitlySet
bool m_modelExplicitlySet
Definition
qquickheaderview_p_p.h:90
QQuickHeaderViewBasePrivate::init
void init()
Definition
qquickheaderview.cpp:117
QQuickHeaderViewBasePrivate::orientation
Qt::Orientation orientation() const
Definition
qquickheaderview.cpp:300
QQuickHeaderViewBasePrivate::delegateItemAt
const QPointer< QQuickItem > delegateItemAt(int row, int col) const
Definition
qquickheaderview.cpp:126
QQuickHeaderViewBasePrivate::m_textRole
QString m_textRole
Definition
qquickheaderview_p_p.h:91
QQuickHeaderViewBasePrivate::m_headerDataProxyModel
QHeaderDataProxyModel m_headerDataProxyModel
Definition
qquickheaderview_p_p.h:83
QQuickHeaderViewBasePrivate::syncSyncView
void syncSyncView() override
Definition
qquickheaderview.cpp:206
QQuickHeaderViewBasePrivate::setOrientation
void setOrientation(Qt::Orientation orientation)
Definition
qquickheaderview.cpp:305
QQuickHeaderViewBasePrivate::syncModel
void syncModel() override
Definition
qquickheaderview.cpp:175
QQuickHeaderViewBasePrivate::logicalColumnIndex
int logicalColumnIndex(const int visualIndex) const final
Definition
qquickheaderview.cpp:250
QQuickHeaderViewBasePrivate::selectionSourceModel
QAbstractItemModel * selectionSourceModel() override
Definition
qquickheaderview.cpp:217
QQuickHeaderViewBasePrivate::m_hiddenSectionSizes
QStack< SectionSize > m_hiddenSectionSizes
Definition
qquickheaderview_p_p.h:89
QQuickHeaderViewBasePrivate::initItemCallback
virtual void initItemCallback(int modelIndex, QObject *item) override
Definition
qquickheaderview.cpp:227
QQuickHeaderViewBasePrivate::get
static QQuickHeaderViewBasePrivate * get(QQuickHeaderViewBase *q)
Definition
qquickheaderview_p_p.h:67
QQuickHeaderViewBasePrivate::visualRowIndex
int visualRowIndex(const int logicalIndex) const final
Definition
qquickheaderview.cpp:255
QQuickHeaderViewBasePrivate::~QQuickHeaderViewBasePrivate
~QQuickHeaderViewBasePrivate()
Definition
qquickheaderview.cpp:113
QQuickHorizontalHeaderViewPrivate
Definition
qquickheaderview_p_p.h:100
QQuickHorizontalHeaderViewPrivate::~QQuickHorizontalHeaderViewPrivate
~QQuickHorizontalHeaderViewPrivate()
QQuickHorizontalHeaderViewPrivate::m_movableColumns
bool m_movableColumns
Definition
qquickheaderview_p_p.h:106
QQuickHorizontalHeaderViewPrivate::sortIndicatorClearable
bool sortIndicatorClearable
Definition
qquickheaderview_p_p.h:110
QQuickHorizontalHeaderViewPrivate::showSortIndicator
bool showSortIndicator
Definition
qquickheaderview_p_p.h:109
QQuickHorizontalHeaderViewPrivate::executeTap
void executeTap(const QQuickHandlerPoint &point) override
Definition
qquickheaderview.cpp:609
QQuickVerticalHeaderViewPrivate
Definition
qquickheaderview_p_p.h:116
QQuickVerticalHeaderViewPrivate::~QQuickVerticalHeaderViewPrivate
~QQuickVerticalHeaderViewPrivate()
QQuickVerticalHeaderViewPrivate::m_movableRows
bool m_movableRows
Definition
qquickheaderview_p_p.h:122
QQuickHeaderViewBasePrivate::SectionSize
Definition
qquickheaderview_p_p.h:85
QQuickHeaderViewBasePrivate::SectionSize::section
int section
Definition
qquickheaderview_p_p.h:86
QQuickHeaderViewBasePrivate::SectionSize::previousSize
qreal previousSize
Definition
qquickheaderview_p_p.h:87
qtdeclarative
src
quicktemplates
qquickheaderview_p_p.h
Generated on
for Qt by
1.18.0