1// Copyright (C) 2017 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 QQUICKPAGE_P_H
5#define QQUICKPAGE_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 <QtQuickTemplates2/private/qquickpane_p.h>
19#include <QtQml/qqmllist.h>
20
21QT_BEGIN_NAMESPACE
22
23class QQuickPagePrivate;
24
25class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickPage : public QQuickPane
26{
27 Q_OBJECT
28 Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
29 Q_PROPERTY(QQuickItem *header READ header WRITE setHeader NOTIFY headerChanged FINAL)
30 Q_PROPERTY(QQuickItem *footer READ footer WRITE setFooter NOTIFY footerChanged FINAL)
31 // 2.5 (Qt 5.12)
32 Q_PROPERTY(qreal implicitHeaderWidth READ implicitHeaderWidth NOTIFY implicitHeaderWidthChanged FINAL REVISION(2, 5))
33 Q_PROPERTY(qreal implicitHeaderHeight READ implicitHeaderHeight NOTIFY implicitHeaderHeightChanged FINAL REVISION(2, 5))
34 Q_PROPERTY(qreal implicitFooterWidth READ implicitFooterWidth NOTIFY implicitFooterWidthChanged FINAL REVISION(2, 5))
35 Q_PROPERTY(qreal implicitFooterHeight READ implicitFooterHeight NOTIFY implicitFooterHeightChanged FINAL REVISION(2, 5))
36 QML_NAMED_ELEMENT(Page)
37 QML_ADDED_IN_VERSION(2, 0)
38
39public:
40 explicit QQuickPage(QQuickItem *parent = nullptr);
41 ~QQuickPage();
42
43 QString title() const;
44 void setTitle(const QString &title);
45
46 QQuickItem *header() const;
47 void setHeader(QQuickItem *header);
48
49 QQuickItem *footer() const;
50 void setFooter(QQuickItem *footer);
51
52 // 2.5 (Qt 5.12)
53 qreal implicitHeaderWidth() const;
54 qreal implicitHeaderHeight() const;
55
56 qreal implicitFooterWidth() const;
57 qreal implicitFooterHeight() const;
58
59Q_SIGNALS:
60 void titleChanged();
61 void headerChanged();
62 void footerChanged();
63 // 2.5 (Qt 5.12)
64 void implicitHeaderWidthChanged();
65 void implicitHeaderHeightChanged();
66 void implicitFooterWidthChanged();
67 void implicitFooterHeightChanged();
68
69protected:
70 QQuickPage(QQuickPagePrivate &dd, QQuickItem *parent);
71
72 void componentComplete() override;
73
74 void spacingChange(qreal newSpacing, qreal oldSpacing) override;
75
76#if QT_CONFIG(accessibility)
77 QAccessible::Role accessibleRole() const override;
78 void accessibilityActiveChanged(bool active) override;
79#endif
80
81private:
82 Q_DISABLE_COPY(QQuickPage)
83 Q_DECLARE_PRIVATE(QQuickPage)
84};
85
86QT_END_NAMESPACE
87
88QML_DECLARE_TYPE(QQuickPage)
89
90#endif // QQUICKPAGE_P_H
91

source code of qtdeclarative/src/quicktemplates/qquickpage_p.h