Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qquicklistview_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
4#ifndef QQUICKLISTVIEW_P_H
5#define QQUICKLISTVIEW_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <private/qtquickglobal_p.h>
19
20QT_REQUIRE_CONFIG(quick_listview);
21
22#include "qquickitemview_p.h"
23
24#include <private/qtquickglobal_p.h>
25
27
28class QQuickListView;
30class Q_QUICK_PRIVATE_EXPORT QQuickViewSection : public QObject
31{
33 Q_PROPERTY(QString property READ property WRITE setProperty NOTIFY propertyChanged FINAL)
34 Q_PROPERTY(SectionCriteria criteria READ criteria WRITE setCriteria NOTIFY criteriaChanged FINAL)
35 Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged FINAL)
36 Q_PROPERTY(int labelPositioning READ labelPositioning WRITE setLabelPositioning NOTIFY labelPositioningChanged FINAL)
37 QML_NAMED_ELEMENT(ViewSection)
39public:
41
42 QString property() const { return m_property; }
43 void setProperty(const QString &);
44
45 enum SectionCriteria { FullString, FirstCharacter };
46 Q_ENUM(SectionCriteria)
47 SectionCriteria criteria() const { return m_criteria; }
48 void setCriteria(SectionCriteria);
49
50 QQmlComponent *delegate() const { return m_delegate; }
51 void setDelegate(QQmlComponent *delegate);
52
53 QString sectionString(const QString &value);
54
55 enum LabelPositioning { InlineLabels = 0x01, CurrentLabelAtStart = 0x02, NextLabelAtEnd = 0x04 };
56 Q_ENUM(LabelPositioning)
57 int labelPositioning() const { return m_labelPositioning; }
58 void setLabelPositioning(int pos);
59
66
67private:
68 QString m_property;
69 SectionCriteria m_criteria;
71 int m_labelPositioning;
73};
74
75
78class Q_QUICK_PRIVATE_EXPORT QQuickListView : public QQuickItemView
79{
81 Q_DECLARE_PRIVATE(QQuickListView)
82
83 Q_PROPERTY(qreal highlightMoveVelocity READ highlightMoveVelocity WRITE setHighlightMoveVelocity NOTIFY highlightMoveVelocityChanged FINAL)
84 Q_PROPERTY(qreal highlightResizeVelocity READ highlightResizeVelocity WRITE setHighlightResizeVelocity NOTIFY highlightResizeVelocityChanged FINAL)
85 Q_PROPERTY(int highlightResizeDuration READ highlightResizeDuration WRITE setHighlightResizeDuration NOTIFY highlightResizeDurationChanged FINAL)
86
87 Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing NOTIFY spacingChanged FINAL)
88 Q_PROPERTY(Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged FINAL)
89
90 Q_PROPERTY(QQuickViewSection *section READ sectionCriteria CONSTANT FINAL)
91 Q_PROPERTY(QString currentSection READ currentSection NOTIFY currentSectionChanged FINAL)
92
93 Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged FINAL)
94
95 Q_PROPERTY(HeaderPositioning headerPositioning READ headerPositioning WRITE setHeaderPositioning NOTIFY headerPositioningChanged REVISION(2, 4) FINAL)
96 Q_PROPERTY(FooterPositioning footerPositioning READ footerPositioning WRITE setFooterPositioning NOTIFY footerPositioningChanged REVISION(2, 4) FINAL)
97
98 Q_CLASSINFO("DefaultProperty", "data")
99 QML_NAMED_ELEMENT(ListView)
102
103public:
106
107 qreal spacing() const;
108 void setSpacing(qreal spacing);
109
110 enum Orientation { Horizontal = Qt::Horizontal, Vertical = Qt::Vertical };
111 Q_ENUM(Orientation)
112 Orientation orientation() const;
113 void setOrientation(Orientation);
114
115 QQuickViewSection *sectionCriteria();
116 QString currentSection() const;
117
118 void setHighlightFollowsCurrentItem(bool) override;
119
120 qreal highlightMoveVelocity() const;
121 void setHighlightMoveVelocity(qreal);
122
123 qreal highlightResizeVelocity() const;
124 void setHighlightResizeVelocity(qreal);
125
126 int highlightResizeDuration() const;
127 void setHighlightResizeDuration(int);
128
129 void setHighlightMoveDuration(int) override;
130
131 enum SnapMode { NoSnap, SnapToItem, SnapOneItem };
132 Q_ENUM(SnapMode)
133 SnapMode snapMode() const;
134 void setSnapMode(SnapMode mode);
135
136 enum HeaderPositioning { InlineHeader, OverlayHeader, PullBackHeader };
137 Q_ENUM(HeaderPositioning)
138 HeaderPositioning headerPositioning() const;
139 void setHeaderPositioning(HeaderPositioning positioning);
140
141 enum FooterPositioning { InlineFooter, OverlayFooter, PullBackFooter };
142 Q_ENUM(FooterPositioning)
143 FooterPositioning footerPositioning() const;
144 void setFooterPositioning(FooterPositioning positioning);
145
146 static QQuickListViewAttached *qmlAttachedProperties(QObject *);
147
148public Q_SLOTS:
149 void incrementCurrentIndex();
150 void decrementCurrentIndex();
151
160 Q_REVISION(2, 4) void headerPositioningChanged();
161 Q_REVISION(2, 4) void footerPositioningChanged();
162
163protected:
164 void viewportMoved(Qt::Orientations orient) override;
165 void keyPressEvent(QKeyEvent *) override;
166 void geometryChange(const QRectF &newGeometry,const QRectF &oldGeometry) override;
167 void initItem(int index, QObject *item) override;
168 qreal maxYExtent() const override;
169 qreal maxXExtent() const override;
170};
171
172class Q_QUICK_PRIVATE_EXPORT QQuickListViewAttached : public QQuickItemViewAttached
173{
175
176public:
178 : QQuickItemViewAttached(parent), m_sectionItem(nullptr) {}
180
181public:
183};
184
185
187
190
191#endif // QQUICKLISTVIEW_P_H
DarwinBluetooth::DeviceInquiryDelegate * m_delegate
The QKeyEvent class describes a key event.
Definition qevent.h:423
\inmodule QtCore
Definition qobject.h:90
bool setProperty(const char *name, const QVariant &value)
Sets the value of the object's name property to value.
\inmodule QtCore
Definition qpointer.h:18
The QQmlComponent class encapsulates a QML component definition.
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:64
QPointer< QQuickItem > m_sectionItem
QQuickListViewAttached(QObject *parent)
void currentSectionChanged()
void spacingChanged()
void highlightMoveVelocityChanged()
Q_REVISION(2, 4) void headerPositioningChanged()
void highlightResizeDurationChanged()
void orientationChanged()
void highlightResizeVelocityChanged()
void snapModeChanged()
void labelPositioningChanged()
QQmlComponent * delegate() const
QString property() const
\inmodule QtCore\reentrant
Definition qrect.h:483
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
void spacingChanged()
qreal spacing
object setProperty("down", true)
Combined button and popup list for selecting options.
@ Horizontal
Definition qnamespace.h:98
@ Vertical
Definition qnamespace.h:99
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum mode
GLuint index
[2]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
#define QML_DECLARE_TYPE(TYPE)
Definition qqml.h:19
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
#define QML_ATTACHED(ATTACHED_TYPE)
#define QT_REQUIRE_CONFIG(feature)
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_REVISION(...)
#define Q_CLASSINFO(name, value)
#define Q_SLOTS
#define Q_SIGNALS
double qreal
Definition qtypes.h:92
const char property[13]
Definition qwizard.cpp:101
QObject::connect nullptr
QGraphicsItem * item
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent