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
qheaderview_p.h
Go to the documentation of this file.
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
// Qt-Security score:significant reason:default
4
5
#
ifndef
QHEADERVIEW_P_H
6
#
define
QHEADERVIEW_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
<
QtWidgets
/
private
/
qtwidgetsglobal_p
.
h
>
20
#
include
"qheaderview.h"
21
#
include
"private/qabstractitemview_p.h"
22
23
#
include
"QtCore/qbitarray.h"
24
#
include
"QtWidgets/qapplication.h"
25
#
if
QT_CONFIG
(
label
)
26
#
include
"QtWidgets/qlabel.h"
27
#
endif
28
29
#
include
<
array
>
30
31
QT_REQUIRE_CONFIG
(
itemviews
);
32
33
QT_BEGIN_NAMESPACE
34
35
// Currently we support huge models with no memory per section if people are not resizing sections and not ordering sections.
36
// This enum is unlikely to be public later on. (Either we go for a huge model bool or another ("subset") enum not containing the initial mode).
37
38
enum
HeaderMode
39
{
40
InitialNoSectionMemoryUsage,
// Initial state - we don't use any memory per section until needed (needed on resize, swap, move, hide etc)
41
FlexibleWithSectionMemoryUsage,
// user can hide, resize and reorder sections at the cost of memory usage.
42
};
43
44
class
QHeaderViewPrivate
:
public
QAbstractItemViewPrivate
45
{
46
Q_DECLARE_PUBLIC(QHeaderView)
47
48
public
:
49
enum
StateVersion
{
VersionMarker
= 0xff };
50
51
QHeaderViewPrivate
()
52
: state(
NoState
),
53
headerOffset
(0),
54
sortIndicatorOrder
(
Qt
::
DescendingOrder
),
55
sortIndicatorSection
(0),
56
sortIndicatorShown
(
false
),
57
sortIndicatorClearable
(
false
),
58
lastPos
(-1),
59
firstPos
(-1),
60
originalSize
(-1),
61
section
(-1),
62
target
(-1),
63
firstPressed
(-1),
64
pressed
(-1),
65
hover
(-1),
66
length
(0),
67
preventCursorChangeInSetOffset
(
false
),
68
movableSections
(
false
),
69
clickableSections
(
false
),
70
highlightSelected
(
false
),
71
stretchLastSection
(
false
),
72
cascadingResizing
(
false
),
73
resizeRecursionBlock
(
false
),
74
allowUserMoveOfSection0
(
true
),
// will be false for QTreeView and true for QTableView
75
customDefaultSectionSize
(
false
),
76
stretchSections
(0),
77
contentsSections
(0),
78
minimumSectionSize
(-1),
79
maximumSectionSize
(-1),
80
lastSectionSize
(0),
81
lastSectionLogicalIdx
(-1),
// Only trust when we stretch last section
82
sectionIndicatorOffset
(0),
83
#
if
QT_CONFIG
(
label
)
84
sectionIndicator
(
nullptr
),
85
#
endif
86
globalResizeMode
(
QHeaderView
::
Interactive
),
87
sectionStartposRecalc
(
true
),
88
resizeContentsPrecision
(1000)
89
{}
90
91
92
int
lastVisibleVisualIndex
()
const
;
93
void
restoreSizeOnPrevLastSection
();
94
void
setNewLastSection
(
int
visualIndexForLastSection);
95
void
maybeRestorePrevLastSectionAndStretchLast
();
96
int
sectionHandleAt
(
int
position);
97
void
setupSectionIndicator
(
int
section,
int
position);
98
void
updateSectionIndicator
(
int
section,
int
position);
99
void
updateHiddenSections
(
int
logicalFirst,
int
logicalLast);
100
void
resizeSections
(QHeaderView::ResizeMode globalMode,
bool
useGlobalMode =
false
);
101
void
sectionsRemoved
(
const
QModelIndex &,
int
,
int
);
102
void
sectionsAboutToBeMoved
(
const
QModelIndex &sourceParent,
int
logicalStart,
103
int
logicalEnd,
const
QModelIndex &destinationParent,
104
int
logicalDestination);
105
void
sectionsMoved
(
const
QModelIndex &sourceParent,
int
logicalStart,
106
int
logicalEnd,
const
QModelIndex &destinationParent,
107
int
logicalDestination);
108
void
sectionsAboutToBeChanged
(
const
QList<QPersistentModelIndex> &parents =
QList
<
QPersistentModelIndex
>(),
109
QAbstractItemModel::LayoutChangeHint hint =
QAbstractItemModel
::
NoLayoutChangeHint
);
110
void
sectionsChanged
(
const
QList<QPersistentModelIndex> &parents =
QList
<
QPersistentModelIndex
>(),
111
QAbstractItemModel::LayoutChangeHint hint =
QAbstractItemModel
::
NoLayoutChangeHint
);
112
113
bool
isSectionSelected
(
int
section)
const
;
114
bool
isFirstVisibleSection
(
int
section)
const
;
115
bool
isLastVisibleSection
(
int
section)
const
;
116
117
inline
bool
rowIntersectsSelection
(
int
row)
const
{
118
return
(selectionModel ? selectionModel->rowIntersectsSelection(row, root) :
false
);
119
}
120
121
inline
bool
columnIntersectsSelection
(
int
column)
const
{
122
return
(selectionModel ? selectionModel->columnIntersectsSelection(column, root) :
false
);
123
}
124
125
inline
bool
sectionIntersectsSelection
(
int
logical)
const
{
126
return
(orientation == Qt::Horizontal ? columnIntersectsSelection(logical) : rowIntersectsSelection(logical));
127
}
128
129
inline
bool
isRowSelected
(
int
row)
const
{
130
return
(selectionModel ? selectionModel->isRowSelected(row, root) :
false
);
131
}
132
133
inline
bool
isColumnSelected
(
int
column)
const
{
134
return
(selectionModel ? selectionModel->isColumnSelected(column, root) :
false
);
135
}
136
137
inline
void
prepareSectionSelected
() {
138
if
(!selectionModel || !selectionModel->hasSelection())
139
sectionSelected.clear();
140
else
if
(sectionSelected.size() != sectionCount() * 2)
141
sectionSelected.fill(
false
, sectionCount() * 2);
142
else
sectionSelected.fill(
false
);
143
}
144
145
inline
int
sectionCount
()
const
{
146
return
noSectionMemoryUsage() ? countInNoSectionItemsMode : sectionItems.size();
147
}
148
149
inline
bool
reverse
()
const
{
150
return
orientation == Qt::Horizontal && q_func()->isRightToLeft();
151
}
152
153
inline
int
logicalIndex
(
int
visualIndex)
const
{
154
return
logicalIndices.isEmpty() ? visualIndex : logicalIndices.at(visualIndex);
155
}
156
157
inline
int
visualIndex
(
int
logicalIndex)
const
{
158
return
visualIndices.isEmpty() ? logicalIndex : visualIndices.at(logicalIndex);
159
}
160
161
inline
void
setDefaultValues
(Qt::Orientation o) {
162
orientation = o;
163
updateDefaultSectionSizeFromStyle
(
)
;
164
defaultAlignment = (o == Qt::Horizontal
165
? Qt::Alignment(Qt::AlignCenter)
166
: Qt::AlignLeft|Qt::AlignVCenter);
167
}
168
169
inline
bool
isVisualIndexHidden
(
int
visual)
const
{
170
return
!
noSectionMemoryUsage
(
)
&& sectionItems.at(visual).isHidden;
171
}
172
173
inline
void
setVisualIndexHidden
(
int
visual,
bool
hidden) {
174
sectionItems[visual].isHidden = hidden;
175
}
176
177
inline
bool
hasAutoResizeSections
()
const
{
178
return
stretchSections
||
stretchLastSection
||
contentsSections
;
179
}
180
181
QStyleOptionHeader
getStyleOption
()
const
;
182
183
inline
void
invalidateCachedSizeHint
()
const
{
184
cachedSizeHint = QSize();
185
}
186
187
inline
void
initializeIndexMapping
()
const
{
188
if
(visualIndices.size() != sectionCount()
189
|| logicalIndices.size() != sectionCount()) {
190
visualIndices.resize(sectionCount());
191
logicalIndices.resize(sectionCount());
192
for
(
int
s = 0; s <
sectionCount
(
)
; ++s) {
193
visualIndices[s] = s;
194
logicalIndices[s] = s;
195
}
196
}
197
}
198
199
inline
void
clearCascadingSections
() {
200
firstCascadingSection
= sectionItems.size();
201
lastCascadingSection
= 0;
202
cascadingSectionSize.clear();
203
}
204
205
inline
void
saveCascadingSectionSize
(
int
visual,
int
size) {
206
if
(!cascadingSectionSize.contains(visual)) {
207
cascadingSectionSize.insert(visual, size);
208
firstCascadingSection
= qMin(
firstCascadingSection
, visual);
209
lastCascadingSection
= qMax(
lastCascadingSection
, visual);
210
}
211
}
212
213
inline
bool
sectionIsCascadable
(
int
visual)
const
{
214
return
headerSectionResizeMode(visual) == QHeaderView::Interactive;
215
}
216
217
inline
int
modelSectionCount
()
const
{
218
return
(orientation == Qt::Horizontal
219
? model->columnCount(root)
220
: model->rowCount(root));
221
}
222
223
inline
void
doDelayedResizeSections
() {
224
if
(!delayedResize.isActive())
225
delayedResize.start(0, q_func());
226
}
227
228
inline
void
executePostedResize
()
const
{
229
if
(delayedResize.isActive() && state == NoState) {
230
const_cast
<QHeaderView*>(q_func())->resizeSections();
231
}
232
}
233
234
inline
void
disconnectModel
()
235
{
236
for
(QMetaObject::Connection &connection : modelConnections)
237
QObject::disconnect(connection);
238
}
239
240
void
clear
();
241
void
flipSortIndicator
(
int
section);
242
Qt
::
SortOrder
defaultSortOrderForSection
(
int
section)
const
;
243
void
cascadingResize
(
int
visual,
int
newSize);
244
245
enum
State
{
NoState
,
ResizeSection
,
MoveSection
,
SelectSections
,
NoClear
} state;
246
247
int
headerOffset
;
248
Qt
::
Orientation
orientation
;
249
Qt
::
SortOrder
sortIndicatorOrder
;
250
int
sortIndicatorSection
;
251
bool
sortIndicatorShown
;
252
bool
sortIndicatorClearable
;
253
254
mutable
QList
<
int
>
visualIndices
;
// visualIndex = visualIndices.at(logicalIndex)
255
mutable
QList
<
int
>
logicalIndices
;
// logicalIndex = row or column in the model
256
mutable
QBitArray
sectionSelected
;
// from logical index to bit
257
mutable
QHash
<
int
,
int
>
hiddenSectionSize
;
// from logical index to section size
258
mutable
QHash
<
int
,
int
>
cascadingSectionSize
;
// from visual index to section size
259
mutable
QSize
cachedSizeHint
;
260
mutable
QBasicTimer
delayedResize
;
261
262
int
firstCascadingSection
;
263
int
lastCascadingSection
;
264
265
int
lastPos
;
266
int
firstPos
;
267
int
originalSize
;
268
int
section
;
// used for resizing and moving sections
269
int
target
;
270
int
firstPressed
;
271
int
pressed
;
272
int
hover
;
273
274
int
length
;
275
bool
preventCursorChangeInSetOffset
;
276
bool
movableSections
;
277
bool
clickableSections
;
278
bool
highlightSelected
;
279
bool
stretchLastSection
;
280
bool
cascadingResizing
;
281
bool
resizeRecursionBlock
;
282
bool
allowUserMoveOfSection0
;
283
bool
customDefaultSectionSize
;
284
int
stretchSections
;
285
int
contentsSections
;
286
int
defaultSectionSize
;
287
int
oldDefaultSectionSize
= -1;
288
int
minimumSectionSize
;
289
int
maximumSectionSize
;
290
int
lastSectionSize
;
291
int
lastSectionLogicalIdx
;
// Only trust if we stretch LastSection
292
int
sectionIndicatorOffset
;
293
Qt
::
Alignment
defaultAlignment
;
294
#
if
QT_CONFIG
(
label
)
295
QLabel
*
sectionIndicator
;
296
#
endif
297
QHeaderView
::
ResizeMode
globalResizeMode
;
298
mutable
bool
sectionStartposRecalc
;
299
int
resizeContentsPrecision
;
300
// header sections
301
302
struct
SectionItem
{
303
uint
size
: 20;
304
uint
isHidden
: 1;
305
uint
resizeMode
: 5;
// (holding QHeaderView::ResizeMode)
306
uint
currentlyUnusedPadding
: 6;
307
308
union
{
// This union is made in order to save space and ensure good vector performance (on remove)
309
mutable
int
calculated_startpos;
// <- this is the primary used member.
310
mutable
int
tmpLogIdx;
// When one of these 'tmp'-members has been used we call
311
int
tmpDataStreamSectionCount;
// recalcSectionStartPos() or set sectionStartposRecalc to true
312
};
// to ensure that calculated_startpos will be calculated afterwards.
313
314
inline
SectionItem
() :
size
(0),
isHidden
(0),
resizeMode
(
QHeaderView
::
Interactive
) {}
315
inline
SectionItem
(
int
length,
QHeaderView
::
ResizeMode
mode
)
316
:
size
(
length
),
isHidden
(0),
resizeMode
(
mode
), calculated_startpos(-1) {}
317
inline
int
sectionSize
()
const
{
return
size; }
318
inline
int
calculatedEndPos
()
const
{
return
calculated_startpos + size; }
319
#
ifndef
QT_NO_DATASTREAM
320
inline
void
write
(QDataStream &out)
const
321
{ out <<
static_cast
<
int
>(size); out << 1; out << (
int
)resizeMode; }
322
inline
void
read
(QDataStream &in)
323
{
int
m; in >> m; size = m; in >> tmpDataStreamSectionCount; in >> m; resizeMode = m; }
324
#
endif
325
};
326
327
QList
<
SectionItem
>
sectionItems
;
328
329
HeaderMode
headerMode
= HeaderMode::InitialNoSectionMemoryUsage;
330
qsizetype
countInNoSectionItemsMode
= 0;
331
inline
bool
noSectionMemoryUsage
()
const
332
{
333
return
(
headerMode
== HeaderMode::InitialNoSectionMemoryUsage);
334
}
335
336
inline
void
switchToFlexibleModeWithSectionMemoryUsage
()
337
{
338
setHeaderMode
(
HeaderMode::FlexibleWithSectionMemoryUsage
)
;
339
}
340
341
void
updateCountInNoSectionItemsMode
(
int
newCount);
342
void
setHeaderMode
(HeaderMode mode);
343
344
struct
LayoutChangeItem
{
345
QPersistentModelIndex
index
;
346
SectionItem
section
;
347
};
348
QList
<
LayoutChangeItem
>
layoutChangePersistentSections
;
349
std
::
array
<
QMetaObject
::
Connection
, 8>
modelConnections
;
350
351
void
createSectionItems
(
int
start,
int
end,
int
sectionSize, QHeaderView::ResizeMode mode);
352
void
removeSectionsFromSectionItems
(
int
start,
int
end);
353
void
resizeSectionItem
(
int
visualIndex,
int
oldSize,
int
newSize);
354
void
setDefaultSectionSize
(
int
size);
355
void
updateDefaultSectionSizeFromStyle
();
356
void
recalcSectionStartPos
()
const
;
// not really const
357
358
inline
int
headerLength
()
const
{
// for debugging
359
int
len = 0;
360
for
(
const
auto
§ion : sectionItems)
361
len += section.size;
362
return
len;
363
}
364
365
QBitArray
sectionsHiddenToBitVector
()
const
366
{
367
QBitArray sectionHidden;
368
if
(!hiddenSectionSize.isEmpty()) {
369
sectionHidden.resize(sectionItems.size());
370
for
(
int
u = 0; u < sectionItems.size(); ++u)
371
sectionHidden[u] = sectionItems.at(u).isHidden;
372
}
373
return
sectionHidden;
374
}
375
376
void
setHiddenSectionsFromBitVector
(
const
QBitArray §ionHidden) {
377
SectionItem
*sectionData = sectionItems.data();
378
for
(
int
i = 0; i < sectionHidden.size(); ++i)
379
sectionData[i].isHidden = sectionHidden.at(i);
380
}
381
382
int
headerSectionSize
(
int
visual)
const
;
383
int
headerSectionPosition
(
int
visual)
const
;
384
int
headerVisualIndexAt
(
int
position)
const
;
385
386
// resize mode
387
void
setHeaderSectionResizeMode
(
int
visual, QHeaderView::ResizeMode mode);
388
QHeaderView
::
ResizeMode
headerSectionResizeMode
(
int
visual
)
const
;
389
void
setGlobalHeaderResizeMode
(QHeaderView::ResizeMode mode);
390
391
// other
392
int
viewSectionSizeHint
(
int
logical)
const
;
393
int
adjustedVisualIndex
(
int
visualIndex)
const
;
394
void
setScrollOffset
(
const
QScrollBar *scrollBar, QAbstractItemView::ScrollMode scrollMode);
395
void
updateSectionsBeforeAfter
(
int
logical);
396
397
#
ifndef
QT_NO_DATASTREAM
398
void
write
(QDataStream &out)
const
;
399
bool
read
(QDataStream &in);
400
#
endif
401
402
};
403
Q_DECLARE_TYPEINFO
(
QHeaderViewPrivate
::
SectionItem
,
Q_PRIMITIVE_TYPE
);
404
Q_DECLARE_TYPEINFO
(
QHeaderViewPrivate
::
LayoutChangeItem
,
Q_RELOCATABLE_TYPE
);
405
406
QT_END_NAMESPACE
407
408
#
endif
// QHEADERVIEW_P_H
QHeaderViewPrivate
Definition
qheaderview_p.h:45
QHeaderViewPrivate::headerSectionSize
int headerSectionSize(int visual) const
Definition
qheaderview.cpp:4065
QHeaderViewPrivate::oldDefaultSectionSize
int oldDefaultSectionSize
Definition
qheaderview_p.h:287
QHeaderViewPrivate::updateDefaultSectionSizeFromStyle
void updateDefaultSectionSizeFromStyle()
Definition
qheaderview.cpp:4036
QHeaderViewPrivate::sectionsAboutToBeMoved
void sectionsAboutToBeMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination)
Definition
qheaderview.cpp:2190
QHeaderViewPrivate::headerLength
int headerLength() const
Definition
qheaderview_p.h:358
QHeaderViewPrivate::lastSectionSize
int lastSectionSize
Definition
qheaderview_p.h:290
QHeaderViewPrivate::section
int section
Definition
qheaderview_p.h:268
QHeaderViewPrivate::headerOffset
int headerOffset
Definition
qheaderview_p.h:247
QHeaderViewPrivate::stretchLastSection
bool stretchLastSection
Definition
qheaderview_p.h:279
QHeaderViewPrivate::headerVisualIndexAt
int headerVisualIndexAt(int position) const
Definition
qheaderview.cpp:4089
QHeaderViewPrivate::cascadingResize
void cascadingResize(int visual, int newSize)
Definition
qheaderview.cpp:3886
QHeaderViewPrivate::disconnectModel
void disconnectModel()
Definition
qheaderview_p.h:234
QHeaderViewPrivate::defaultSortOrderForSection
Qt::SortOrder defaultSortOrderForSection(int section) const
Definition
qheaderview.cpp:3878
QHeaderViewPrivate::pressed
int pressed
Definition
qheaderview_p.h:271
QHeaderViewPrivate::saveCascadingSectionSize
void saveCascadingSectionSize(int visual, int size)
Definition
qheaderview_p.h:205
QHeaderViewPrivate::resizeContentsPrecision
int resizeContentsPrecision
Definition
qheaderview_p.h:299
QHeaderViewPrivate::setupSectionIndicator
void setupSectionIndicator(int section, int position)
Definition
qheaderview.cpp:3474
QHeaderViewPrivate::lastCascadingSection
int lastCascadingSection
Definition
qheaderview_p.h:263
QHeaderViewPrivate::sectionIndicatorOffset
int sectionIndicatorOffset
Definition
qheaderview_p.h:292
QHeaderViewPrivate::defaultAlignment
Qt::Alignment defaultAlignment
Definition
qheaderview_p.h:293
QHeaderViewPrivate::target
int target
Definition
qheaderview_p.h:269
QHeaderViewPrivate::setDefaultValues
void setDefaultValues(Qt::Orientation o)
Definition
qheaderview_p.h:161
QHeaderViewPrivate::logicalIndex
int logicalIndex(int visualIndex) const
Definition
qheaderview_p.h:153
QHeaderViewPrivate::hover
int hover
Definition
qheaderview_p.h:272
QHeaderViewPrivate::recalcSectionStartPos
void recalcSectionStartPos() const
Definition
qheaderview.cpp:4047
QHeaderViewPrivate::setNewLastSection
void setNewLastSection(int visualIndexForLastSection)
Definition
qheaderview.cpp:3635
QHeaderViewPrivate::sectionsRemoved
void sectionsRemoved(const QModelIndex &, int, int)
Definition
qheaderview.cpp:2099
QHeaderViewPrivate::initializeIndexMapping
void initializeIndexMapping() const
Definition
qheaderview_p.h:187
QHeaderViewPrivate::length
int length
Definition
qheaderview_p.h:274
QHeaderViewPrivate::clearCascadingSections
void clearCascadingSections()
Definition
qheaderview_p.h:199
QHeaderViewPrivate::sectionsAboutToBeChanged
void sectionsAboutToBeChanged(const QList< QPersistentModelIndex > &parents=QList< QPersistentModelIndex >(), QAbstractItemModel::LayoutChangeHint hint=QAbstractItemModel::NoLayoutChangeHint)
Definition
qheaderview.cpp:2214
QHeaderViewPrivate::allowUserMoveOfSection0
bool allowUserMoveOfSection0
Definition
qheaderview_p.h:282
QHeaderViewPrivate::updateHiddenSections
void updateHiddenSections(int logicalFirst, int logicalLast)
Definition
qheaderview.cpp:2083
QHeaderViewPrivate::invalidateCachedSizeHint
void invalidateCachedSizeHint() const
Definition
qheaderview_p.h:183
QHeaderViewPrivate::rowIntersectsSelection
bool rowIntersectsSelection(int row) const
Definition
qheaderview_p.h:117
QHeaderViewPrivate::removeSectionsFromSectionItems
void removeSectionsFromSectionItems(int start, int end)
Definition
qheaderview.cpp:3819
QHeaderViewPrivate::orientation
Qt::Orientation orientation
Definition
qheaderview_p.h:248
QHeaderViewPrivate::maximumSectionSize
int maximumSectionSize
Definition
qheaderview_p.h:289
QHeaderViewPrivate::sectionSelected
QBitArray sectionSelected
Definition
qheaderview_p.h:256
QHeaderViewPrivate::updateSectionIndicator
void updateSectionIndicator(int section, int position)
Definition
qheaderview.cpp:3522
QHeaderViewPrivate::sectionCount
int sectionCount() const
Definition
qheaderview_p.h:145
QHeaderViewPrivate::clear
void clear()
Definition
qheaderview.cpp:3830
QHeaderViewPrivate::noSectionMemoryUsage
bool noSectionMemoryUsage() const
Definition
qheaderview_p.h:331
QHeaderViewPrivate::setHeaderMode
void setHeaderMode(HeaderMode mode)
Definition
qheaderview.cpp:1777
QHeaderViewPrivate::lastVisibleVisualIndex
int lastVisibleVisualIndex() const
Definition
qheaderview.cpp:3613
QHeaderViewPrivate::createSectionItems
void createSectionItems(int start, int end, int sectionSize, QHeaderView::ResizeMode mode)
Definition
qheaderview.cpp:3804
QHeaderViewPrivate::cascadingSectionSize
QHash< int, int > cascadingSectionSize
Definition
qheaderview_p.h:258
QHeaderViewPrivate::modelConnections
std::array< QMetaObject::Connection, 8 > modelConnections
Definition
qheaderview_p.h:349
QHeaderViewPrivate::sectionIsCascadable
bool sectionIsCascadable(int visual) const
Definition
qheaderview_p.h:213
QHeaderViewPrivate::doDelayedResizeSections
void doDelayedResizeSections()
Definition
qheaderview_p.h:223
QHeaderViewPrivate::modelSectionCount
int modelSectionCount() const
Definition
qheaderview_p.h:217
QHeaderViewPrivate::read
bool read(QDataStream &in)
Definition
qheaderview.cpp:4247
QHeaderViewPrivate::isFirstVisibleSection
bool isFirstVisibleSection(int section) const
Definition
qheaderview.cpp:3586
QHeaderViewPrivate::isSectionSelected
bool isSectionSelected(int section) const
Definition
qheaderview.cpp:3569
QHeaderViewPrivate::firstPos
int firstPos
Definition
qheaderview_p.h:266
QHeaderViewPrivate::restoreSizeOnPrevLastSection
void restoreSizeOnPrevLastSection()
Definition
qheaderview.cpp:3625
QHeaderViewPrivate::setHeaderSectionResizeMode
void setHeaderSectionResizeMode(int visual, QHeaderView::ResizeMode mode)
Definition
qheaderview.cpp:4117
QHeaderViewPrivate::resizeSections
void resizeSections(QHeaderView::ResizeMode globalMode, bool useGlobalMode=false)
Definition
qheaderview.cpp:3674
QHeaderViewPrivate::reverse
bool reverse() const
Definition
qheaderview_p.h:149
QHeaderViewPrivate::headerSectionPosition
int headerSectionPosition(int visual) const
Definition
qheaderview.cpp:4076
QHeaderViewPrivate::movableSections
bool movableSections
Definition
qheaderview_p.h:276
QHeaderViewPrivate::setGlobalHeaderResizeMode
void setGlobalHeaderResizeMode(QHeaderView::ResizeMode mode)
Definition
qheaderview.cpp:4134
QHeaderViewPrivate::flipSortIndicator
void flipSortIndicator(int section)
Definition
qheaderview.cpp:3856
QHeaderViewPrivate::contentsSections
int contentsSections
Definition
qheaderview_p.h:285
QHeaderViewPrivate::firstCascadingSection
int firstCascadingSection
Definition
qheaderview_p.h:262
QHeaderViewPrivate::isColumnSelected
bool isColumnSelected(int column) const
Definition
qheaderview_p.h:133
QHeaderViewPrivate::write
void write(QDataStream &out) const
Definition
qheaderview.cpp:4202
QHeaderViewPrivate::preventCursorChangeInSetOffset
bool preventCursorChangeInSetOffset
Definition
qheaderview_p.h:275
QHeaderViewPrivate::executePostedResize
void executePostedResize() const
Definition
qheaderview_p.h:228
QHeaderViewPrivate::prepareSectionSelected
void prepareSectionSelected()
Definition
qheaderview_p.h:137
QHeaderViewPrivate::setHiddenSectionsFromBitVector
void setHiddenSectionsFromBitVector(const QBitArray §ionHidden)
Definition
qheaderview_p.h:376
QHeaderViewPrivate::sectionsMoved
void sectionsMoved(const QModelIndex &sourceParent, int logicalStart, int logicalEnd, const QModelIndex &destinationParent, int logicalDestination)
Definition
qheaderview.cpp:2202
QHeaderViewPrivate::switchToFlexibleModeWithSectionMemoryUsage
void switchToFlexibleModeWithSectionMemoryUsage()
Definition
qheaderview_p.h:336
QHeaderViewPrivate::adjustedVisualIndex
int adjustedVisualIndex(int visualIndex) const
Definition
qheaderview.cpp:4151
QHeaderViewPrivate::isRowSelected
bool isRowSelected(int row) const
Definition
qheaderview_p.h:129
QHeaderViewPrivate::State
State
Definition
qheaderview_p.h:245
QHeaderViewPrivate::SelectSections
@ SelectSections
Definition
qheaderview_p.h:245
QHeaderViewPrivate::MoveSection
@ MoveSection
Definition
qheaderview_p.h:245
QHeaderViewPrivate::NoClear
@ NoClear
Definition
qheaderview_p.h:245
QHeaderViewPrivate::ResizeSection
@ ResizeSection
Definition
qheaderview_p.h:245
QHeaderViewPrivate::NoState
@ NoState
Definition
qheaderview_p.h:245
QHeaderViewPrivate::visualIndex
int visualIndex(int logicalIndex) const
Definition
qheaderview_p.h:157
QHeaderViewPrivate::firstPressed
int firstPressed
Definition
qheaderview_p.h:270
QHeaderViewPrivate::isVisualIndexHidden
bool isVisualIndexHidden(int visual) const
Definition
qheaderview_p.h:169
QHeaderViewPrivate::getStyleOption
QStyleOptionHeader getStyleOption() const
QHeaderViewPrivate::minimumSectionSize
int minimumSectionSize
Definition
qheaderview_p.h:288
QHeaderViewPrivate::highlightSelected
bool highlightSelected
Definition
qheaderview_p.h:278
QHeaderViewPrivate::logicalIndices
QList< int > logicalIndices
Definition
qheaderview_p.h:255
QHeaderViewPrivate::resizeRecursionBlock
bool resizeRecursionBlock
Definition
qheaderview_p.h:281
QHeaderViewPrivate::originalSize
int originalSize
Definition
qheaderview_p.h:267
QHeaderViewPrivate::resizeSectionItem
void resizeSectionItem(int visualIndex, int oldSize, int newSize)
Definition
qheaderview.cpp:4057
QHeaderViewPrivate::customDefaultSectionSize
bool customDefaultSectionSize
Definition
qheaderview_p.h:283
QHeaderViewPrivate::sortIndicatorSection
int sortIndicatorSection
Definition
qheaderview_p.h:250
QHeaderViewPrivate::sectionStartposRecalc
bool sectionStartposRecalc
Definition
qheaderview_p.h:298
QHeaderViewPrivate::isLastVisibleSection
bool isLastVisibleSection(int section) const
Definition
qheaderview.cpp:3597
QHeaderViewPrivate::sectionHandleAt
int sectionHandleAt(int position)
Definition
qheaderview.cpp:3445
QHeaderViewPrivate::sortIndicatorClearable
bool sortIndicatorClearable
Definition
qheaderview_p.h:252
QHeaderViewPrivate::countInNoSectionItemsMode
qsizetype countInNoSectionItemsMode
Definition
qheaderview_p.h:330
QHeaderViewPrivate::setVisualIndexHidden
void setVisualIndexHidden(int visual, bool hidden)
Definition
qheaderview_p.h:173
QHeaderViewPrivate::setScrollOffset
void setScrollOffset(const QScrollBar *scrollBar, QAbstractItemView::ScrollMode scrollMode)
Definition
qheaderview.cpp:4169
QHeaderViewPrivate::delayedResize
QBasicTimer delayedResize
Definition
qheaderview_p.h:260
QHeaderViewPrivate::layoutChangePersistentSections
QList< LayoutChangeItem > layoutChangePersistentSections
Definition
qheaderview_p.h:348
QHeaderViewPrivate::columnIntersectsSelection
bool columnIntersectsSelection(int column) const
Definition
qheaderview_p.h:121
QHeaderViewPrivate::defaultSectionSize
int defaultSectionSize
Definition
qheaderview_p.h:286
QHeaderViewPrivate::hiddenSectionSize
QHash< int, int > hiddenSectionSize
Definition
qheaderview_p.h:257
QHeaderViewPrivate::clickableSections
bool clickableSections
Definition
qheaderview_p.h:277
QHeaderViewPrivate::headerMode
HeaderMode headerMode
Definition
qheaderview_p.h:329
QHeaderViewPrivate::sortIndicatorOrder
Qt::SortOrder sortIndicatorOrder
Definition
qheaderview_p.h:249
QHeaderViewPrivate::lastSectionLogicalIdx
int lastSectionLogicalIdx
Definition
qheaderview_p.h:291
QHeaderViewPrivate::sectionIntersectsSelection
bool sectionIntersectsSelection(int logical) const
Definition
qheaderview_p.h:125
QHeaderViewPrivate::setDefaultSectionSize
void setDefaultSectionSize(int size)
Definition
qheaderview.cpp:3996
QHeaderViewPrivate::maybeRestorePrevLastSectionAndStretchLast
void maybeRestorePrevLastSectionAndStretchLast()
Definition
qheaderview.cpp:3644
QHeaderViewPrivate::sectionsHiddenToBitVector
QBitArray sectionsHiddenToBitVector() const
Definition
qheaderview_p.h:365
QHeaderViewPrivate::updateCountInNoSectionItemsMode
void updateCountInNoSectionItemsMode(int newCount)
Definition
qheaderview.cpp:1805
QHeaderViewPrivate::cascadingResizing
bool cascadingResizing
Definition
qheaderview_p.h:280
QHeaderViewPrivate::updateSectionsBeforeAfter
void updateSectionsBeforeAfter(int logical)
Definition
qheaderview.cpp:4182
QHeaderViewPrivate::sectionsChanged
void sectionsChanged(const QList< QPersistentModelIndex > &parents=QList< QPersistentModelIndex >(), QAbstractItemModel::LayoutChangeHint hint=QAbstractItemModel::NoLayoutChangeHint)
Definition
qheaderview.cpp:2266
QHeaderViewPrivate::lastPos
int lastPos
Definition
qheaderview_p.h:265
QHeaderViewPrivate::visualIndices
QList< int > visualIndices
Definition
qheaderview_p.h:254
QHeaderViewPrivate::stretchSections
int stretchSections
Definition
qheaderview_p.h:284
QHeaderViewPrivate::viewSectionSizeHint
int viewSectionSizeHint(int logical) const
Definition
qheaderview.cpp:4141
QHeaderViewPrivate::hasAutoResizeSections
bool hasAutoResizeSections() const
Definition
qheaderview_p.h:177
QHeaderViewPrivate::QHeaderViewPrivate
QHeaderViewPrivate()
Definition
qheaderview_p.h:51
QHeaderViewPrivate::cachedSizeHint
QSize cachedSizeHint
Definition
qheaderview_p.h:259
QHeaderViewPrivate::sortIndicatorShown
bool sortIndicatorShown
Definition
qheaderview_p.h:251
QHeaderViewPrivate::sectionItems
QList< SectionItem > sectionItems
Definition
qheaderview_p.h:327
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(itemviews)
Q_DECLARE_TYPEINFO
Q_DECLARE_TYPEINFO(QHeaderViewPrivate::LayoutChangeItem, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO
Q_DECLARE_TYPEINFO(QHeaderViewPrivate::SectionItem, Q_PRIMITIVE_TYPE)
QHeaderViewPrivate::LayoutChangeItem
Definition
qheaderview_p.h:344
QHeaderViewPrivate::LayoutChangeItem::index
QPersistentModelIndex index
Definition
qheaderview_p.h:345
QHeaderViewPrivate::LayoutChangeItem::section
SectionItem section
Definition
qheaderview_p.h:346
QHeaderViewPrivate::SectionItem
Definition
qheaderview_p.h:302
QHeaderViewPrivate::SectionItem::calculatedEndPos
int calculatedEndPos() const
Definition
qheaderview_p.h:318
QHeaderViewPrivate::SectionItem::resizeMode
uint resizeMode
Definition
qheaderview_p.h:305
QHeaderViewPrivate::SectionItem::size
uint size
Definition
qheaderview_p.h:303
QHeaderViewPrivate::SectionItem::write
void write(QDataStream &out) const
Definition
qheaderview_p.h:320
QHeaderViewPrivate::SectionItem::currentlyUnusedPadding
uint currentlyUnusedPadding
Definition
qheaderview_p.h:306
QHeaderViewPrivate::SectionItem::read
void read(QDataStream &in)
Definition
qheaderview_p.h:322
QHeaderViewPrivate::SectionItem::sectionSize
int sectionSize() const
Definition
qheaderview_p.h:317
QHeaderViewPrivate::SectionItem::SectionItem
SectionItem()
Definition
qheaderview_p.h:314
QHeaderViewPrivate::SectionItem::isHidden
uint isHidden
Definition
qheaderview_p.h:304
QHeaderViewPrivate::SectionItem::SectionItem
SectionItem(int length, QHeaderView::ResizeMode mode)
Definition
qheaderview_p.h:315
qtbase
src
widgets
itemviews
qheaderview_p.h
Generated on
for Qt by
1.18.0