Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquickstackview_p_p.h
Go to the documentation of this file.
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// Qt-Security score:significant reason:default
4
5#ifndef QQUICKSTACKVIEW_P_P_H
6#define QQUICKSTACKVIEW_P_P_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 <QtQuickTemplates2/private/qquickstackview_p.h>
20#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
21#if QT_CONFIG(quick_viewtransitions)
22#include <QtQuick/private/qquickitemviewtransition_p.h>
23#endif
24#include <QtQuick/private/qquickitemchangelistener_p.h>
25#include <QtQml/private/qv4value_p.h>
26#include <QtQml/private/qqmlcontextdata_p.h>
27#include <QtCore/qset.h>
28#include <QtCore/qstack.h>
29
31
34
36#if QT_CONFIG(quick_viewtransitions)
38#endif
39{
40 Q_DECLARE_PUBLIC(QQuickStackView)
41
42public:
44 {
45 return view->d_func();
46 }
47
48 void warn(const QString &error);
49 void warnOfInterruption(const QString &attemptedOperation);
50
52
53 QList<QQuickStackElement *> parseElements(int from, QQmlV4FunctionPtr args, QStringList *errors);
54 QList<QQuickStackElement *> parseElements(QQmlEngine *engine, const QList<QQuickStackViewArg> &args);
55 QQuickStackElement *findElement(QQuickItem *item) const;
56 QQuickStackElement *findElement(const QV4::Value &value) const;
57 QQuickStackElement *createElement(const QV4::Value &value, const QQmlRefPointer<QQmlContextData> &context, QString *error);
58 bool pushElements(QV4::ExecutionEngine *v4, const QList<QQuickStackElement *> &elements);
59 bool pushElement(QV4::ExecutionEngine *v4, QQuickStackElement *element);
60 bool popElements(QV4::ExecutionEngine *v4, QQuickStackElement *element);
61 bool replaceElements(QV4::ExecutionEngine *v4, QQuickStackElement *element, const QList<QQuickStackElement *> &elements);
62
67 QQuickItem *popToItem(QV4::ExecutionEngine *v4, QQuickItem *item, QQuickStackView::Operation operation, CurrentItemPolicy currentItemPolicy);
68
69#if QT_CONFIG(quick_viewtransitions)
70 void ensureTransitioner();
73
75#endif
76 void setBusy(bool busy);
77 void depthChange(int newDepth, int oldDepth);
78
79 bool busy = false;
80 bool modifyingElements = false;
87#if QT_CONFIG(quick_viewtransitions)
89#endif
90};
91
93//#if QT_CONFIG(quick_viewtransitions)
95//#endif
96{
97 Q_DECLARE_PUBLIC(QQuickStackViewAttached)
98
99public:
104
105//#if QT_CONFIG(quick_viewtransitions)
107//#endif
108
109 bool explicitVisible = false;
111};
112
113QT_END_NAMESPACE
114
115#endif // QQUICKSTACKVIEW_P_P_H
void itemDestroyed(QQuickItem *item) override
static QQuickStackElement * fromStackViewArg(QQmlEngine *engine, QQuickStackView *view, QQuickStackViewArg arg)
QPointer< QQuickItem > originalParent
void initialize(QV4::ExecutionEngine *v4, RequiredProperties *requiredProperties)
void setVisible(bool visible)
static QQuickStackElement * fromString(QQmlEngine *engine, const QString &str, QQuickStackView *view, QString *error)
bool load(QV4::ExecutionEngine *v4, QQuickStackView *parent)
static QQuickStackElement * fromObject(QObject *object, QQuickStackView *view, QString *error)
void setStatus(QQuickStackView::Status status)
QV4::PersistentValue properties
void incubate(QV4::ExecutionEngine *v4, QObject *object, RequiredProperties *requiredProperties)
QQuickStackView::Status status
void setView(QQuickStackView *view)
QV4::PersistentValue qmlCallingContext
QQuickStackIncubator(QQuickStackElement *element)
void setInitialState(QObject *object) override
Called after the object is first created, but before complex property bindings are evaluated and,...
friend QDebug operator<<(QDebug debug, const QQuickStackViewArg &arg)
void warnOfInterruption(const QString &attemptedOperation)
bool replaceElements(QV4::ExecutionEngine *v4, QQuickStackElement *element, const QList< QQuickStackElement * > &elements)
QList< QQuickStackElement * > parseElements(QQmlEngine *engine, const QList< QQuickStackViewArg > &args)
QQuickItem * popToItem(QV4::ExecutionEngine *v4, QQuickItem *item, QQuickStackView::Operation operation, CurrentItemPolicy currentItemPolicy)
QList< QQuickStackElement * > parseElements(int from, QQmlV4FunctionPtr args, QStringList *errors)
QList< QQuickStackElement * > removed
bool pushElements(QV4::ExecutionEngine *v4, const QList< QQuickStackElement * > &elements)
QQuickStackElement * createElement(const QV4::Value &value, const QQmlRefPointer< QQmlContextData > &context, QString *error)
void setCurrentItem(QQuickStackElement *element)
QQuickStackElement * findElement(const QV4::Value &value) const
bool popElements(QV4::ExecutionEngine *v4, QQuickStackElement *element)
bool pushElement(QV4::ExecutionEngine *v4, QQuickStackElement *element)
QStack< QQuickStackElement * > elements
QQuickStackElement * findElement(QQuickItem *item) const
void depthChange(int newDepth, int oldDepth)
QSet< QQuickStackElement * > removing