41 QQuickStateAction(QObject *,
const QString &,
const QVariant &);
42 QQuickStateAction(QObject *,
const QQmlProperty &property,
const QString &,
48 bool deletableToBinding:1;
50 QQmlProperty property;
54 QQmlAnyBinding fromBinding;
55 QQmlAnyBinding toBinding;
56 QQuickStateActionEvent *event;
59 QObject *specifiedObject;
60 QString specifiedProperty;
62 void deleteFromBinding();
68 virtual ~QQuickStateActionEvent();
70 enum EventType { Script, SignalHandler, ParentChange, AnchorChanges };
72 virtual EventType type()
const = 0;
74 virtual void execute();
75 virtual bool isReversable();
76 virtual void reverse();
77 virtual void saveOriginals() {}
78 virtual bool needsCopy() {
return false; }
79 virtual void copyOriginals(QQuickStateActionEvent *) {}
81 virtual bool isRewindable() {
return isReversable(); }
82 virtual void rewind() {}
83 virtual void saveCurrentValues() {}
84 virtual void saveTargetValues() {}
86 virtual bool changesBindings();
87 virtual void clearBindings();
88 virtual bool mayOverride(QQuickStateActionEvent*other);
99 QML_ADDED_IN_VERSION(2, 0)
101 QQuickStateOperation(QObject *parent =
nullptr)
103 typedef QList<QQuickStateAction> ActionList;
105 virtual ActionList actions();
107 QQuickState *state()
const;
108 void setState(QQuickState *state);
111 QQuickStateOperation(QObjectPrivate &dd, QObject *parent =
nullptr);
114 Q_DECLARE_PRIVATE(QQuickStateOperation)
115 Q_DISABLE_COPY(QQuickStateOperation)
126 Q_PROPERTY(QString name READ name WRITE setName)
127 Q_PROPERTY(
bool when READ when WRITE setWhen)
128 Q_PROPERTY(QString extend READ extends WRITE setExtends)
129 Q_PROPERTY(QQmlListProperty<QQuickStateOperation> changes READ changes)
130 Q_CLASSINFO(
"DefaultProperty",
"changes")
131 Q_CLASSINFO(
"DeferredPropertyNames",
"changes")
132 QML_NAMED_ELEMENT(State)
133 QML_ADDED_IN_VERSION(2, 0)
136 QQuickState(QObject *parent=
nullptr);
137 ~QQuickState() override;
139 QString name()
const;
140 void setName(
const QString &);
141 bool isNamed()
const;
143 bool isWhenKnown()
const;
147 QString extends()
const;
148 void setExtends(
const QString &);
150 QQmlListProperty<QQuickStateOperation> changes();
151 int operationCount()
const;
152 QQuickStateOperation *operationAt(
int)
const;
154 QQuickState &operator<<(QQuickStateOperation *);
156 void apply(QQuickTransition *, QQuickState *revert);
159 QQuickStateGroup *stateGroup()
const;
160 void setStateGroup(QQuickStateGroup *);
162 bool containsPropertyInRevertList(QObject *target,
const QString &name)
const;
163 bool changeValueInRevertList(QObject *target,
const QString &name,
const QVariant &revertValue);
164 bool changeBindingInRevertList(QObject *target,
const QString &name, QQmlAnyBinding binding);
165 bool removeEntryFromRevertList(QObject *target,
const QString &name);
166 void addEntryToRevertList(
const QQuickStateAction &action);
167 void removeAllEntriesFromRevertList(QObject *target);
168 void addEntriesToRevertList(
const QList<QQuickStateAction> &actions);
169 QVariant valueInRevertList(QObject *target,
const QString &name)
const;
170 QQmlAnyBinding bindingInRevertList(QObject *target,
const QString &name)
const;
172 bool isStateActive()
const;
178 Q_DECLARE_PRIVATE(QQuickState)
179 Q_DISABLE_COPY(QQuickState)