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
qquickstateoperations_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// Qt-Security score:significant reason:default
4
5#ifndef QQUICKSTATEOPERATIONS_P_H
6#define QQUICKSTATEOPERATIONS_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 "qquickitem.h"
21
22#include <QtQuick/private/qquickstate_p.h>
23
24#include <QtQml/qqmlscriptstring.h>
25
26QT_BEGIN_NAMESPACE
27
28class QQuickParentChangePrivate;
29class Q_QUICK_EXPORT QQuickParentChange : public QQuickStateOperation, public QQuickStateActionEvent
30{
31 Q_OBJECT
32 Q_DECLARE_PRIVATE(QQuickParentChange)
33
34 Q_PROPERTY(QQuickItem *target READ object WRITE setObject)
35 Q_PROPERTY(QQuickItem *parent READ parent WRITE setParent)
36 Q_PROPERTY(QQmlScriptString x READ x WRITE setX)
37 Q_PROPERTY(QQmlScriptString y READ y WRITE setY)
38 Q_PROPERTY(QQmlScriptString width READ width WRITE setWidth)
39 Q_PROPERTY(QQmlScriptString height READ height WRITE setHeight)
40 Q_PROPERTY(QQmlScriptString scale READ scale WRITE setScale)
41 Q_PROPERTY(QQmlScriptString rotation READ rotation WRITE setRotation)
42 Q_CLASSINFO("ParentProperty", "parent")
43 QML_NAMED_ELEMENT(ParentChange)
44 QML_ADDED_IN_VERSION(2, 0)
45public:
46 QQuickParentChange(QObject *parent=nullptr);
47
48 QQuickItem *object() const;
49 void setObject(QQuickItem *);
50
51 QQuickItem *parent() const;
52 void setParent(QQuickItem *);
53
54 QQuickItem *originalParent() const;
55
56 QQmlScriptString x() const;
57 void setX(const QQmlScriptString &x);
58 bool xIsSet() const;
59
60 QQmlScriptString y() const;
61 void setY(const QQmlScriptString &y);
62 bool yIsSet() const;
63
64 QQmlScriptString width() const;
65 void setWidth(const QQmlScriptString &width);
66 bool widthIsSet() const;
67
68 QQmlScriptString height() const;
69 void setHeight(const QQmlScriptString &height);
70 bool heightIsSet() const;
71
72 QQmlScriptString scale() const;
73 void setScale(const QQmlScriptString &scale);
74 bool scaleIsSet() const;
75
76 QQmlScriptString rotation() const;
77 void setRotation(const QQmlScriptString &rotation);
78 bool rotationIsSet() const;
79
80 ActionList actions() override;
81
82 void saveOriginals() override;
83 //virtual void copyOriginals(QQuickStateActionEvent*);
84 void execute() override;
85 bool isReversable() override;
86 void reverse() override;
87 EventType type() const override;
88 bool mayOverride(QQuickStateActionEvent*other) override;
89 void rewind() override;
90 void saveCurrentValues() override;
91};
92
93class QQuickAnchorChanges;
95class Q_QUICK_EXPORT QQuickAnchorSet : public QObject
96{
97 Q_OBJECT
98
99 Q_PROPERTY(QQmlScriptString left READ left WRITE setLeft RESET resetLeft FINAL)
100 Q_PROPERTY(QQmlScriptString right READ right WRITE setRight RESET resetRight FINAL)
101 Q_PROPERTY(QQmlScriptString horizontalCenter READ horizontalCenter WRITE setHorizontalCenter RESET resetHorizontalCenter FINAL)
102 Q_PROPERTY(QQmlScriptString top READ top WRITE setTop RESET resetTop FINAL)
103 Q_PROPERTY(QQmlScriptString bottom READ bottom WRITE setBottom RESET resetBottom FINAL)
104 Q_PROPERTY(QQmlScriptString verticalCenter READ verticalCenter WRITE setVerticalCenter RESET resetVerticalCenter FINAL)
105 Q_PROPERTY(QQmlScriptString baseline READ baseline WRITE setBaseline RESET resetBaseline FINAL)
106 QML_ANONYMOUS
107 QML_ADDED_IN_VERSION(2, 0)
108
109public:
110 QQuickAnchorSet(QObject *parent=nullptr);
111 virtual ~QQuickAnchorSet();
112
113 QQmlScriptString left() const;
114 void setLeft(const QQmlScriptString &edge);
115 void resetLeft();
116
117 QQmlScriptString right() const;
118 void setRight(const QQmlScriptString &edge);
119 void resetRight();
120
121 QQmlScriptString horizontalCenter() const;
122 void setHorizontalCenter(const QQmlScriptString &edge);
123 void resetHorizontalCenter();
124
125 QQmlScriptString top() const;
126 void setTop(const QQmlScriptString &edge);
127 void resetTop();
128
129 QQmlScriptString bottom() const;
130 void setBottom(const QQmlScriptString &edge);
131 void resetBottom();
132
133 QQmlScriptString verticalCenter() const;
134 void setVerticalCenter(const QQmlScriptString &edge);
135 void resetVerticalCenter();
136
137 QQmlScriptString baseline() const;
138 void setBaseline(const QQmlScriptString &edge);
139 void resetBaseline();
140
141 QQuickAnchors::Anchors usedAnchors() const;
142
143private:
144 friend class QQuickAnchorChanges;
145 Q_DISABLE_COPY(QQuickAnchorSet)
146 Q_DECLARE_PRIVATE(QQuickAnchorSet)
147};
148
150class Q_QUICK_EXPORT QQuickAnchorChanges : public QQuickStateOperation, public QQuickStateActionEvent
151{
152 Q_OBJECT
153 Q_DECLARE_PRIVATE(QQuickAnchorChanges)
154
155 Q_PROPERTY(QQuickItem *target READ object WRITE setObject)
156 Q_PROPERTY(QQuickAnchorSet *anchors READ anchors CONSTANT)
157 QML_NAMED_ELEMENT(AnchorChanges)
158 QML_ADDED_IN_VERSION(2, 0)
159
160public:
161 QQuickAnchorChanges(QObject *parent=nullptr);
162
163 ActionList actions() override;
164
165 QQuickAnchorSet *anchors() const;
166
167 QQuickItem *object() const;
168 void setObject(QQuickItem *);
169
170 void execute() override;
171 bool isReversable() override;
172 void reverse() override;
173 EventType type() const override;
174 bool mayOverride(QQuickStateActionEvent*other) override;
175 bool changesBindings() override;
176 void saveOriginals() override;
177 bool needsCopy() override { return true; }
178 void copyOriginals(QQuickStateActionEvent*) override;
179 void clearBindings() override;
180 void rewind() override;
181 void saveCurrentValues() override;
182
183 QList<QQuickStateAction> additionalActions() const;
184 void saveTargetValues() override;
185};
186
187QT_END_NAMESPACE
188
189#endif // QQUICKSTATEOPERATIONS_P_H
QPointF computeTransformOrigin(QQuickItem::TransformOrigin origin, qreal width, qreal height) const
QList< QQuickParentChange * > pc