aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qdeclarativeanimationcontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/util/qdeclarativeanimationcontroller.cpp')
-rw-r--r--src/quick/util/qdeclarativeanimationcontroller.cpp204
1 files changed, 0 insertions, 204 deletions
diff --git a/src/quick/util/qdeclarativeanimationcontroller.cpp b/src/quick/util/qdeclarativeanimationcontroller.cpp
deleted file mode 100644
index 3901a65cb6..0000000000
--- a/src/quick/util/qdeclarativeanimationcontroller.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qdeclarativeanimationcontroller_p.h"
-#include <QtDeclarative/qdeclarativeinfo.h>
-#include <private/qdeclarativeengine_p.h>
-
-QT_BEGIN_NAMESPACE
-
-
-class QDeclarativeAnimationControllerPrivate : public QObjectPrivate
-{
- Q_DECLARE_PUBLIC(QDeclarativeAnimationController)
-public:
- QDeclarativeAnimationControllerPrivate()
- : progress(0.0), animation(0), animationInstance(0), finalized(false) {}
-
- qreal progress;
- QDeclarativeAbstractAnimation *animation;
- QAbstractAnimationJob *animationInstance;
- bool finalized:1;
-
-};
-
-/*!
- \qmlclass AnimationController QDeclarativeAnimationController
- \inqmlmodule QtQuick 2
- \ingroup qml-animation-transition
- \brief The AnimationController element allows you to control animations manually.
-
- Normally animations are driven by an internal timer, but the AnimationController
- allows the given \a animation to be driven by a \a progress value explicitly.
-*/
-
-
-QDeclarativeAnimationController::QDeclarativeAnimationController(QObject *parent)
-: QObject(*(new QDeclarativeAnimationControllerPrivate), parent)
-{
-}
-
-QDeclarativeAnimationController::~QDeclarativeAnimationController()
-{
- Q_D(QDeclarativeAnimationController);
- delete d->animationInstance;
-}
-
-/*!
- \qmlproperty real QtQuick2::AnimationController::progress
- This property holds the animation progress value.
-
- The valid \c progress value is 0.0 to 1.0, setting values less than 0 will be converted to 0,
- setting values great than 1 will be converted to 1.
-*/
-qreal QDeclarativeAnimationController::progress() const
-{
- Q_D(const QDeclarativeAnimationController);
- return d->progress;
-}
-
-void QDeclarativeAnimationController::setProgress(qreal progress)
-{
- Q_D(QDeclarativeAnimationController);
- progress = qBound(qreal(0), progress, qreal(1));
-
- if (progress != d->progress) {
- d->progress = progress;
- updateProgress();
- emit progressChanged();
- }
-}
-
-/*!
- \qmlproperty real QtQuick2::AnimationController::animation
- \default
-
- This property holds the animation to be controlled by the AnimationController.
-
- Note:An animation controlled by AnimationController will always have its
- \c running and \c paused properties set to true. It can not be manually
- started or stopped (much like an animation in a Behavior can not be manually started or stopped).
-*/
-QDeclarativeAbstractAnimation *QDeclarativeAnimationController::animation() const
-{
- Q_D(const QDeclarativeAnimationController);
- return d->animation;
-}
-
-void QDeclarativeAnimationController::classBegin()
-{
- QDeclarativeEnginePrivate *engPriv = QDeclarativeEnginePrivate::get(qmlEngine(this));
- engPriv->registerFinalizeCallback(this, this->metaObject()->indexOfSlot("componentFinalized()"));
-}
-
-
-void QDeclarativeAnimationController::setAnimation(QDeclarativeAbstractAnimation *animation)
-{
- Q_D(QDeclarativeAnimationController);
-
- if (animation != d->animation) {
- if (animation) {
- if (animation->userControlDisabled()) {
- qmlInfo(this) << "QDeclarativeAnimationController::setAnimation: the animation is controlled by others, can't be used in AnimationController.";
- return;
- }
- animation->setDisableUserControl();
- }
-
- if (d->animation)
- d->animation->setEnableUserControl();
-
- d->animation = animation;
- reload();
- emit animationChanged();
- }
-}
-
-/*!
- \qmlmethod QtQuick2::AnimationController::reload()
- \brief Reloads the animation properties.
-
- If the animation properties changed, calling this method to reload the animation definations.
-*/
-void QDeclarativeAnimationController::reload()
-{
- Q_D(QDeclarativeAnimationController);
- if (!d->finalized)
- return;
-
- if (!d->animation) {
- d->animationInstance = 0;
- } else {
- QDeclarativeStateActions actions;
- QDeclarativeProperties properties;
- QAbstractAnimationJob *oldInstance = d->animationInstance;
- d->animationInstance = d->animation->transition(actions, properties, QDeclarativeAbstractAnimation::Forward);
- if (oldInstance && oldInstance != d->animationInstance)
- delete oldInstance;
- d->animationInstance->setLoopCount(1);
- d->animationInstance->start();
- d->animationInstance->pause();
- updateProgress();
- }
-}
-
-void QDeclarativeAnimationController::updateProgress()
-{
- Q_D(QDeclarativeAnimationController);
- if (!d->animationInstance)
- return;
-
- d->animationInstance->start();
- QDeclarativeAnimationTimer::unregisterAnimation(d->animationInstance);
- d->animationInstance->setCurrentTime(d->progress * d->animationInstance->duration());
-}
-
-void QDeclarativeAnimationController::componentFinalized()
-{
- Q_D(QDeclarativeAnimationController);
- d->finalized = true;
- reload();
-}
-
-
-QT_END_NAMESPACE
-
-