Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
26#include <QtCore/qpointer.h>
27
29
30class QQuickListView;
32class Q_QUICK_EXPORT QQuickViewSection : public QObject
33{
35 Q_PROPERTY(QString property READ property WRITE setProperty NOTIFY propertyChanged)
36 Q_PROPERTY(SectionCriteria criteria READ criteria WRITE setCriteria NOTIFY criteriaChanged)
37 Q_PROPERTY(QQmlComponent *delegate READ delegate WRITE setDelegate NOTIFY delegateChanged)
38 Q_PROPERTY(int labelPositioning READ labelPositioning WRITE setLabelPositioning NOTIFY labelPositioningChanged)
39 QML_NAMED_ELEMENT(ViewSection)
41public:
42 QQuickViewSection(QQuickListView *parent=nullptr);
43
44 QString property() const { return m_property; }
45 void setProperty(const QString &);
46
47 enum SectionCriteria { FullString, FirstCharacter };
48 Q_ENUM(SectionCriteria)
49 SectionCriteria criteria() const { return m_criteria; }
50 void setCriteria(SectionCriteria);
51
52 QQmlComponent *delegate() const { return m_delegate; }
53 void setDelegate(QQmlComponent *delegate);
54
55 QString sectionString(const QString &value);
56
57 enum LabelPositioning { InlineLabels = 0x01, CurrentLabelAtStart = 0x02, NextLabelAtEnd = 0x04 };
58 Q_ENUM(LabelPositioning)
59 int labelPositioning() const { return m_labelPositioning; }
60 void setLabelPositioning(int pos);
61
68
69private:
70 QString m_property;
71 SectionCriteria m_criteria;
73 int m_labelPositioning;
75};
76
77
80class Q_QUICK_EXPORT QQuickListView : public QQuickItemView
81{
83 Q_DECLARE_PRIVATE(QQuickListView)
84
85 Q_PROPERTY(qreal highlightMoveVelocity READ highlightMoveVelocity WRITE setHighlightMoveVelocity NOTIFY highlightMoveVelocityChanged)
86 Q_PROPERTY(qreal highlightResizeVelocity READ highlightResizeVelocity WRITE setHighlightResizeVelocity NOTIFY highlightResizeVelocityChanged)
87 Q_PROPERTY(int highlightResizeDuration READ highlightResizeDuration WRITE setHighlightResizeDuration NOTIFY highlightResizeDurationChanged)
88
89 Q_PROPERTY(qreal spacing READ spacing WRITE setSpacing NOTIFY spacingChanged)
90 Q_PROPERTY(Orientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged)
91
92 Q_PROPERTY(QQuickViewSection *section READ sectionCriteria CONSTANT)
93 Q_PROPERTY(QString currentSection READ currentSection NOTIFY currentSectionChanged)
94
95 Q_PROPERTY(SnapMode snapMode READ snapMode WRITE setSnapMode NOTIFY snapModeChanged)
96
97 Q_PROPERTY(HeaderPositioning headerPositioning READ headerPositioning WRITE setHeaderPositioning NOTIFY headerPositioningChanged REVISION(2, 4))
98 Q_PROPERTY(FooterPositioning footerPositioning READ footerPositioning WRITE setFooterPositioning NOTIFY footerPositioningChanged REVISION(2, 4))
99
100 Q_CLASSINFO("DefaultProperty", "data")
101 QML_NAMED_ELEMENT(ListView)
104
105public:
106 QQuickListView(QQuickItem *parent=nullptr);
108
109 qreal spacing() const;
110 void setSpacing(qreal spacing);
111
112 enum Orientation { Horizontal = Qt::Horizontal, Vertical = Qt::Vertical };
113 Q_ENUM(Orientation)
114 Orientation orientation() const;
115 void setOrientation(Orientation);
116
117 QQuickViewSection *sectionCriteria();
118 QString currentSection() const;
119
120 void setHighlightFollowsCurrentItem(bool) override;
121
122 qreal highlightMoveVelocity() const;
123 void setHighlightMoveVelocity(qreal);
124
125 qreal highlightResizeVelocity() const;
126 void setHighlightResizeVelocity(qreal);
127
128 int highlightResizeDuration() const;
129 void setHighlightResizeDuration(int);
130
131 void setHighlightMoveDuration(int) override;
132
133 enum SnapMode { NoSnap, SnapToItem, SnapOneItem };
134 Q_ENUM(SnapMode)
135 SnapMode snapMode() const;
136 void setSnapMode(SnapMode mode);
137
138 enum HeaderPositioning { InlineHeader, OverlayHeader, PullBackHeader };
139 Q_ENUM(HeaderPositioning)
140 HeaderPositioning headerPositioning() const;
141 void setHeaderPositioning(HeaderPositioning positioning);
142
143 enum FooterPositioning { InlineFooter, OverlayFooter, PullBackFooter };
144 Q_ENUM(FooterPositioning)
145 FooterPositioning footerPositioning() const;
146 void setFooterPositioning(FooterPositioning positioning);
147
148 static QQuickListViewAttached *qmlAttachedProperties(QObject *);
149
150public Q_SLOTS:
151 void incrementCurrentIndex();
152 void decrementCurrentIndex();
153
162 Q_REVISION(2, 4) void headerPositioningChanged();
163 Q_REVISION(2, 4) void footerPositioningChanged();
164
165protected:
166 void viewportMoved(Qt::Orientations orient) override;
167 void keyPressEvent(QKeyEvent *) override;
168 void geometryChange(const QRectF &newGeometry,const QRectF &oldGeometry) override;
169 void initItem(int index, QObject *item) override;
170 qreal maxYExtent() const override;
171 qreal maxXExtent() const override;
172};
173
175{
177
178public:
180 : QQuickItemViewAttached(parent), m_sectionItem(nullptr) {}
182
183public:
184 QPointer<QQuickItem> m_sectionItem;
185};
186
187
189
190#endif // QQUICKLISTVIEW_P_H
DarwinBluetooth::DeviceInquiryDelegate * m_delegate
The QKeyEvent class describes a key event.
Definition qevent.h:424
\inmodule QtCore
Definition qobject.h:103
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:63
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
\inmodule QtCore\reentrant
Definition qrect.h:484
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
void spacingChanged()
qreal spacing
Combined button and popup list for selecting options.
Definition qcompare.h:63
@ Horizontal
Definition qnamespace.h:99
@ Vertical
Definition qnamespace.h:100
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_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:187
const char property[13]
Definition qwizard.cpp:101
QObject::connect nullptr
QGraphicsItem * item
args<< 1<< 2;QJSValue threeAgain=fun.call(args);QString fileName="helloworld.qs";QFile scriptFile(fileName);if(!scriptFile.open(QIODevice::ReadOnly)) QTextStream stream(&scriptFile);QString contents=stream.readAll();scriptFile.close();myEngine.evaluate(contents, fileName);myEngine.globalObject().setProperty("myNumber", 123);...QJSValue myNumberPlusOne=myEngine.evaluate("myNumber + 1");QJSValue result=myEngine.evaluate(...);if(result.isError()) qDebug()<< "Uncaught exception at line"<< result.property("lineNumber").toInt()<< ":"<< result.toString();QPushButton *button=new QPushButton;QJSValue scriptButton=myEngine.newQObject(button);myEngine.globalObject().setProperty("button", scriptButton);myEngine.evaluate("button.checkable = true");qDebug()<< scriptButton.property("checkable").toBool();scriptButton.property("show").call();QJSEngine engine;QObject *myQObject=new QObject();myQObject- setProperty)("dynamicProperty", 3)