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
qqmlsortercompositor_p.h
Go to the documentation of this file.
1
// Copyright (C) 2025 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
QQMLSORTERCOMPOSITOR_H
6
#
define
QQMLSORTERCOMPOSITOR_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
<
QtQmlModels
/
private
/
qqmlsorterbase_p
.
h
>
20
21
QT_BEGIN_NAMESPACE
22
23
class
QQmlSortFilterProxyModel;
24
class
QQmlSorterCompositorPrivate
;
25
26
class
QQmlSorterCompositor
:
public
QQmlSorterBase
27
{
28
Q_OBJECT
29
QML_ANONYMOUS
30
QML_ADDED_IN_VERSION
(6, 10)
31
32
public
:
33
explicit
QQmlSorterCompositor
(
QObject
*
parent
=
nullptr
);
34
~
QQmlSorterCompositor
()
override
;
35
36
QList
<
QQmlSorterBase
*>
sorters
();
37
QQmlListProperty
<
QQmlSorterBase
>
sortersListProperty
();
38
39
static
void
append
(QQmlListProperty<QQmlSorterBase> *sorterComp, QQmlSorterBase *sorter);
40
static
qsizetype
count
(QQmlListProperty<QQmlSorterBase> *sorterComp);
41
static
QQmlSorterBase
*
at
(QQmlListProperty<QQmlSorterBase> *sorterComp, qsizetype index);
42
static
void
clear
(QQmlListProperty<QQmlSorterBase> *sorterComp);
43
44
QPartialOrdering
compare
(
const
QModelIndex &,
const
QModelIndex &,
const
QQmlSortFilterProxyModel *)
const
override
{
return
QPartialOrdering::Unordered; };
45
bool
lessThan
(
const
QModelIndex &sourceLeft,
const
QModelIndex &sourceRight,
const
QQmlSortFilterProxyModel *proxyModel)
const
;
46
void
updateSorters
();
47
void
updateEffectiveSorters
();
48
49
private
:
50
void
append(QQmlSorterBase *sorter);
51
qsizetype count();
52
QQmlSorterBase* at(qsizetype index);
53
void
clear();
54
55
public
slots
:
56
void
updateCache
();
57
58
private
:
59
Q_DECLARE_PRIVATE
(
QQmlSorterCompositor
)
60
};
61
62
class
QQmlSorterCompositorPrivate
:
public
QQmlSorterBasePrivate
63
{
64
Q_DECLARE_PUBLIC(QQmlSorterCompositor)
65
66
public
:
67
void
init
();
68
void
setPrimarySorter
(QQmlSorterBase *sorter);
69
QPointer
<
QQmlSorterBase
>
primarySorter
()
const
{
return
m_primarySorter; }
70
void
resetPrimarySorter
();
71
72
// Holds sorters in the same order as declared in the qml
73
QList
<
QQmlSorterBase
*>
m_sorters
;
74
// Holds effective sorters that will be evaluated with the
75
// model content
76
QList
<
QQmlSorterBase
*>
m_effectiveSorters
;
77
QQmlSortFilterProxyModel *
m_sfpmModel
=
nullptr
;
78
QPointer
<
QQmlSorterBase
>
m_primarySorter
;
79
};
80
81
QT_END_NAMESPACE
82
83
#
endif
// QQMLSORTERCOMPOSITOR_H
QQmlSorterCompositorPrivate
Definition
qqmlsortercompositor_p.h:63
QQmlSorterCompositorPrivate::m_effectiveSorters
QList< QQmlSorterBase * > m_effectiveSorters
Definition
qqmlsortercompositor_p.h:76
QQmlSorterCompositorPrivate::m_primarySorter
QPointer< QQmlSorterBase > m_primarySorter
Definition
qqmlsortercompositor_p.h:78
QQmlSorterCompositorPrivate::setPrimarySorter
void setPrimarySorter(QQmlSorterBase *sorter)
Definition
qqmlsortercompositor.cpp:196
QQmlSorterCompositorPrivate::resetPrimarySorter
void resetPrimarySorter()
Definition
qqmlsortercompositor.cpp:210
QQmlSorterCompositorPrivate::m_sfpmModel
QQmlSortFilterProxyModel * m_sfpmModel
Definition
qqmlsortercompositor_p.h:77
QQmlSorterCompositorPrivate::m_sorters
QList< QQmlSorterBase * > m_sorters
Definition
qqmlsortercompositor_p.h:73
QQmlSorterCompositorPrivate::primarySorter
QPointer< QQmlSorterBase > primarySorter() const
Definition
qqmlsortercompositor_p.h:69
QQmlSorterCompositor
Definition
qqmlsortercompositor_p.h:27
QQmlSorterCompositor::compare
QPartialOrdering compare(const QModelIndex &, const QModelIndex &, const QQmlSortFilterProxyModel *) const override
Definition
qqmlsortercompositor_p.h:44
QQmlSorterCompositor::clear
static void clear(QQmlListProperty< QQmlSorterBase > *sorterComp)
Definition
qqmlsortercompositor.cpp:54
QQmlSorterCompositor::sortersListProperty
QQmlListProperty< QQmlSorterBase > sortersListProperty()
Definition
qqmlsortercompositor.cpp:115
QQmlSorterCompositor::updateSorters
void updateSorters()
Definition
qqmlsortercompositor.cpp:145
QQmlSorterCompositor::append
static void append(QQmlListProperty< QQmlSorterBase > *sorterComp, QQmlSorterBase *sorter)
Definition
qqmlsortercompositor.cpp:36
QQmlSorterCompositor::sorters
QList< QQmlSorterBase * > sorters()
Definition
qqmlsortercompositor.cpp:109
QQmlSorterCompositor::lessThan
bool lessThan(const QModelIndex &sourceLeft, const QModelIndex &sourceRight, const QQmlSortFilterProxyModel *proxyModel) const
Definition
qqmlsortercompositor.cpp:176
QQmlSorterCompositor::~QQmlSorterCompositor
~QQmlSorterCompositor() override
Definition
qqmlsortercompositor.cpp:25
QQmlSorterCompositor::count
static qsizetype count(QQmlListProperty< QQmlSorterBase > *sorterComp)
Definition
qqmlsortercompositor.cpp:42
QQmlSorterCompositor::at
static QQmlSorterBase * at(QQmlListProperty< QQmlSorterBase > *sorterComp, qsizetype index)
Definition
qqmlsortercompositor.cpp:48
QQmlSorterCompositor::updateEffectiveSorters
void updateEffectiveSorters()
Definition
qqmlsortercompositor.cpp:125
qtdeclarative
src
qmlmodels
sfpm
sorters
qqmlsortercompositor_p.h
Generated on
for Qt by
1.18.0