Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qquickstacktransition.cpp
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
#
include
"qquickstacktransition_p_p.h"
6
#
include
"qquickstackelement_p_p.h"
7
#
include
"qquickstackview_p_p.h"
8
9
QT_BEGIN_NAMESPACE
10
11
static
QQuickStackTransition
exitTransition
(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
12
{
13
QQuickStackTransition
st;
14
st.status = QQuickStackView::Deactivating;
15
st
.
element
= element;
16
17
const
QQuickItemViewTransitioner *transitioner = QQuickStackViewPrivate::get(view)->transitioner;
18
19
switch
(operation) {
20
case
QQuickStackView::PushTransition:
21
st.type = QQuickItemViewTransitioner::AddTransition;
22
if
(transitioner)
23
st.transition = transitioner->addDisplacedTransition;
24
break
;
25
case
QQuickStackView::ReplaceTransition:
26
st.type = QQuickItemViewTransitioner::MoveTransition;
27
if
(transitioner)
28
st.transition = transitioner->moveDisplacedTransition;
29
break
;
30
case
QQuickStackView::PopTransition:
31
st
.
target
=
true
;
32
st.type = QQuickItemViewTransitioner::RemoveTransition;
33
st.viewBounds = view->boundingRect();
34
if
(transitioner)
35
st.transition = transitioner->removeTransition;
36
break
;
37
default
:
38
Q_UNREACHABLE();
39
break
;
40
}
41
42
return
st;
43
}
44
45
static
QQuickStackTransition
enterTransition
(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
46
{
47
QQuickStackTransition
st;
48
st.status = QQuickStackView::Activating;
49
st
.
element
= element;
50
51
const
QQuickItemViewTransitioner *transitioner = QQuickStackViewPrivate::get(view)->transitioner;
52
53
switch
(operation) {
54
case
QQuickStackView::PushTransition:
55
st
.
target
=
true
;
56
st.type = QQuickItemViewTransitioner::AddTransition;
57
st.viewBounds = view->boundingRect();
58
if
(transitioner)
59
st.transition = transitioner->addTransition;
60
break
;
61
case
QQuickStackView::ReplaceTransition:
62
st
.
target
=
true
;
63
st.type = QQuickItemViewTransitioner::MoveTransition;
64
st.viewBounds = view->boundingRect();
65
if
(transitioner)
66
st.transition = transitioner->moveTransition;
67
break
;
68
case
QQuickStackView::PopTransition:
69
st.type = QQuickItemViewTransitioner::RemoveTransition;
70
if
(transitioner)
71
st.transition = transitioner->removeDisplacedTransition;
72
break
;
73
default
:
74
Q_UNREACHABLE();
75
break
;
76
}
77
78
return
st;
79
}
80
81
static
QQuickStackView
::
Operation
operationTransition
(QQuickStackView::Operation operation, QQuickStackView::Operation transition)
82
{
83
if
(operation == QQuickStackView::Immediate || operation == QQuickStackView::Transition)
84
return
transition;
85
return
operation;
86
}
87
88
QQuickStackTransition
QQuickStackTransition
::popExit(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
89
{
90
return
exitTransition(operationTransition(operation, QQuickStackView::PopTransition), element, view);
91
}
92
93
QQuickStackTransition
QQuickStackTransition
::popEnter(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
94
{
95
return
enterTransition(operationTransition(operation, QQuickStackView::PopTransition), element, view);
96
}
97
98
QQuickStackTransition
QQuickStackTransition
::pushExit(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
99
{
100
return
exitTransition(operationTransition(operation, QQuickStackView::PushTransition), element, view);
101
}
102
103
QQuickStackTransition
QQuickStackTransition
::pushEnter(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
104
{
105
return
enterTransition(operationTransition(operation, QQuickStackView::PushTransition), element, view);
106
}
107
108
QQuickStackTransition
QQuickStackTransition
::replaceExit(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
109
{
110
return
exitTransition(operationTransition(operation, QQuickStackView::ReplaceTransition), element, view);
111
}
112
113
QQuickStackTransition
QQuickStackTransition
::replaceEnter(QQuickStackView::Operation operation,
QQuickStackElement
*element, QQuickStackView *view)
114
{
115
return
enterTransition(operationTransition(operation, QQuickStackView::ReplaceTransition), element, view);
116
}
117
118
QT_END_NAMESPACE
QQuickStackElement
Definition
qquickstackelement_p_p.h:41
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
enterTransition
static QQuickStackTransition enterTransition(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
Definition
qquickstacktransition.cpp:45
exitTransition
static QT_BEGIN_NAMESPACE QQuickStackTransition exitTransition(QQuickStackView::Operation operation, QQuickStackElement *element, QQuickStackView *view)
Definition
qquickstacktransition.cpp:11
operationTransition
static QQuickStackView::Operation operationTransition(QQuickStackView::Operation operation, QQuickStackView::Operation transition)
Definition
qquickstacktransition.cpp:81
QQuickStackTransition
Definition
qquickstacktransition_p_p.h:31
QQuickStackTransition::element
QQuickStackElement * element
Definition
qquickstacktransition_p_p.h:45
QQuickStackTransition::target
bool target
Definition
qquickstacktransition_p_p.h:41
qtdeclarative
src
quicktemplates
qquickstacktransition.cpp
Generated on
for Qt by
1.18.0