From cbaee92846643acf765df8b8773e5e382f544da3 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 16 Aug 2012 09:43:27 +0200 Subject: [PATCH] Move the animation overview doc into QtCore Moved here from the qtdoc module. Change-Id: Ib263848e0637204ec3b0cba973076ca79a25a953 Reviewed-by: Thiago Macieira --- .../doc/images/animations-architecture.png | Bin 0 -> 27619 bytes src/corelib/doc/src/animation.qdoc | 364 ++++++++++++++++++ 2 files changed, 364 insertions(+) create mode 100644 src/corelib/doc/images/animations-architecture.png create mode 100644 src/corelib/doc/src/animation.qdoc diff --git a/src/corelib/doc/images/animations-architecture.png b/src/corelib/doc/images/animations-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..9b581af7e5a16a8a6c60b6801b97a706d248956d GIT binary patch literal 27619 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 + + QPushButton *clyde = new QPushButton("Clyde"); + clyde->show(); + + QPropertyAnimation *anim1 = new QPropertyAnimation(bonnie, "geometry"); + // Set up anim1 + + QPropertyAnimation *anim2 = new QPropertyAnimation(clyde, "geometry"); + // Set up anim2 + + QParallelAnimationGroup *group = new QParallelAnimationGroup; + group->addAnimation(anim1); + group->addAnimation(anim2); + + group->start(); + \endcode + + A parallel group plays more than one animation at the same time. + Calling its \l{QAbstractAnimation::}{start()} function will start + all animations it governs. + + \code + QPushButton button("Animated Button"); + button.show(); + + QPropertyAnimation anim1(&button, "geometry"); + anim1.setDuration(3000); + anim1.setStartValue(QRect(0, 0, 100, 30)); + anim1.setEndValue(QRect(500, 500, 100, 30)); + + QPropertyAnimation anim2(&button, "geometry"); + anim2.setDuration(3000); + anim2.setStartValue(QRect(500, 500, 100, 30)); + anim2.setEndValue(QRect(1000, 500, 100, 30)); + + QSequentialAnimationGroup group; + + group.addAnimation(&anim1); + group.addAnimation(&anim2); + + group.start(); + \endcode + + As you no doubt have guessed, QSequentialAnimationGroup plays + its animations in sequence. It starts the next animation in + the list after the previous is finished. + + Since an animation group is an animation itself, you can add + it to another group. This way, you can build a tree structure + of animations which specifies when the animations are played + in relation to each other. + + \section1 Animations and States + + When using a \l{The State Machine Framework}{state machine}, we + can associate one or more animations to a transition between states + using a QSignalTransition or QEventTransition class. These classes + are both derived from QAbstractTransition, which defines the + convenience function \l{QAbstractTransition::}{addAnimation()} that + enables the appending of one or more animations triggered when the + transition occurs. + + We also have the possibility to associate properties with the + states rather than setting the start and end values ourselves. + Below is a complete code example that animates the geometry of a + QPushButton. + + \code + QPushButton *button = new QPushButton("Animated Button"); + button->show(); + + QStateMachine *machine = new QStateMachine; + + QState *state1 = new QState(machine); + state1->assignProperty(button, "geometry", QRect(0, 0, 100, 30)); + machine->setInitialState(state1); + + QState *state2 = new QState(machine); + state2->assignProperty(button, "geometry", QRect(250, 250, 100, 30)); + + QSignalTransition *transition1 = state1->addTransition(button, + SIGNAL(clicked()), state2); + transition1->addAnimation(new QPropertyAnimation(button, "geometry")); + + QSignalTransition *transition2 = state2->addTransition(button, + SIGNAL(clicked()), state1); + transition2->addAnimation(new QPropertyAnimation(button, "geometry")); + + machine->start(); + \endcode + + For a more comprehensive example of how to use the state machine + framework for animations, see the states example (it lives in the + \c{examples/animation/states} directory). +*/ +