File indexing completed on 2026-09-20 09:22:03
0001
0002
0003
0004
0005 #ifndef QSEQUENTIALANIMATIONGROUP_H
0006 #define QSEQUENTIALANIMATIONGROUP_H
0007
0008 #include <QtCore/qanimationgroup.h>
0009
0010 QT_REQUIRE_CONFIG(animation);
0011
0012 QT_BEGIN_NAMESPACE
0013
0014 class QPauseAnimation;
0015 class QSequentialAnimationGroupPrivate;
0016
0017 class Q_CORE_EXPORT QSequentialAnimationGroup : public QAnimationGroup
0018 {
0019 Q_OBJECT
0020 Q_PROPERTY(QAbstractAnimation *currentAnimation READ currentAnimation
0021 NOTIFY currentAnimationChanged BINDABLE bindableCurrentAnimation)
0022
0023 public:
0024 QSequentialAnimationGroup(QObject *parent = nullptr);
0025 ~QSequentialAnimationGroup();
0026
0027 QPauseAnimation *addPause(int msecs);
0028 QPauseAnimation *insertPause(int index, int msecs);
0029
0030 QAbstractAnimation *currentAnimation() const;
0031 QBindable<QAbstractAnimation *> bindableCurrentAnimation() const;
0032 int duration() const override;
0033
0034 Q_SIGNALS:
0035 void currentAnimationChanged(QAbstractAnimation *current);
0036
0037 protected:
0038 QSequentialAnimationGroup(QSequentialAnimationGroupPrivate &dd, QObject *parent);
0039 bool event(QEvent *event) override;
0040
0041 void updateCurrentTime(int) override;
0042 void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override;
0043 void updateDirection(QAbstractAnimation::Direction direction) override;
0044
0045 private:
0046 Q_DISABLE_COPY(QSequentialAnimationGroup)
0047 Q_DECLARE_PRIVATE(QSequentialAnimationGroup)
0048 Q_PRIVATE_SLOT(d_func(), void _q_uncontrolledAnimationFinished())
0049 };
0050
0051 QT_END_NAMESPACE
0052
0053 #endif