3#include <QtQml/QQmlEngine>
7class PageContext :
public QObject {
10 Q_PROPERTY(PageContext* inherit READ inherit WRITE setInherit NOTIFY inheritChanged FINAL)
11 Q_PROPERTY(QObject* leadingAction READ leadingAction WRITE setLeadingAction NOTIFY
12 leadingActionChanged FINAL)
13 Q_PROPERTY(qint32 headerType READ headerType WRITE setHeaderType NOTIFY headerTypeChanged FINAL)
14 Q_PROPERTY(qint32 backgroundRadius READ backgroundRadius WRITE setBackgroundRadius NOTIFY
15 backgroundRadiusChanged FINAL)
16 Q_PROPERTY(
double headerBackgroundOpacity READ headerBackgroundOpacity WRITE
17 setHeaderBackgroundOpacity NOTIFY headerBackgroundOpacityChanged FINAL)
18 Q_PROPERTY(qint32 radius READ radius WRITE setRadius NOTIFY radiusChanged FINAL)
19 Q_PROPERTY(
bool showHeader READ showHeader WRITE setShowHeader NOTIFY showHeaderChanged FINAL)
20 Q_PROPERTY(
bool showBackground READ showBackground WRITE setShowBackground NOTIFY
21 showBackgroundChanged FINAL)
23 PageContext(QObject* parent =
nullptr);
26 auto inherit() const -> PageContext*;
27 auto leadingAction() const -> QObject*;
28 auto backgroundRadius() const -> qint32;
29 auto headerBackgroundOpacity() const ->
double;
30 auto radius() const -> qint32;
31 auto headerType() const -> qint32;
32 auto showHeader() const ->
bool;
33 auto showBackground() const ->
bool;
35 Q_SLOT
void setInherit(PageContext*);
36 Q_SLOT
void setLeadingAction(QObject*);
37 Q_SLOT
void setBackgroundRadius(qint32);
38 Q_SLOT
void setHeaderBackgroundOpacity(
double);
39 Q_SLOT
void setRadius(qint32);
40 Q_SLOT
void setHeaderType(qint32);
41 Q_SLOT
void setShowHeader(
bool);
42 Q_SLOT
void setShowBackground(
bool);
44 Q_SIGNAL
void inheritChanged();
45 Q_SIGNAL
void leadingActionChanged();
46 Q_SIGNAL
void backgroundRadiusChanged();
47 Q_SIGNAL
void headerBackgroundOpacityChanged();
48 Q_SIGNAL
void radiusChanged();
49 Q_SIGNAL
void headerTypeChanged();
50 Q_SIGNAL
void showHeaderChanged();
51 Q_SIGNAL
void showBackgroundChanged();
53 Q_SIGNAL
void pushItem(const QJSValue& url_or_comp, const QVariantMap& props = {});
57 PageContext* m_inherit;
59 std::optional<QObject*> m_leading_action;
60 std::optional<qint32> m_header_type;
61 std::optional<qint32> m_background_radius;
62 std::optional<double> m_header_background_opacity;
63 std::optional<qint32> m_radius;
64 std::optional<bool> m_show_header;
65 std::optional<bool> m_show_background;