diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-06-19 02:06:21 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2009-06-19 02:06:21 (GMT) |
commit | fb6775d423f1ebe7e624951edf39d79ca0433d4a (patch) | |
tree | 4b5b93d3c2d835b268ce16f2fe9a91e4b89ecfde /doc/src/snippets/statemachine/main.cpp | |
parent | 9c7c859647771d5d2fa466b0a3ff9d408edecd38 (diff) | |
parent | f9f08de9d41fd55d9c7d01578191ef5d4099c9e6 (diff) | |
download | Qt-fb6775d423f1ebe7e624951edf39d79ca0433d4a.zip Qt-fb6775d423f1ebe7e624951edf39d79ca0433d4a.tar.gz Qt-fb6775d423f1ebe7e624951edf39d79ca0433d4a.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into kinetic-declarativeui
Conflicts:
configure.exe
tools/qdoc3/htmlgenerator.cpp
Diffstat (limited to 'doc/src/snippets/statemachine/main.cpp')
-rw-r--r-- | doc/src/snippets/statemachine/main.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/doc/src/snippets/statemachine/main.cpp b/doc/src/snippets/statemachine/main.cpp new file mode 100644 index 0000000..f20d245 --- /dev/null +++ b/doc/src/snippets/statemachine/main.cpp @@ -0,0 +1,48 @@ + +#include <QtGui> + +int main(int argv, char **args) +{ + QApplication app(argv, args); + + QLabel *label = new QLabel; + +//![0] + QStateMachine machine; + QState *s1 = new QState(); + QState *s2 = new QState(); + QState *s3 = new QState(); +//![0] + +//![4] + s1->assignProperty(label, "text", "In state s1"); + s2->assignProperty(label, "text", "In state s2"); + s3->assignProperty(label, "text", "In state s3"); +//![4] + +//![5] + QObject::connect(s3, SIGNAL(entered()), button, SLOT(showMaximized())); + QObject::connect(s3, SIGNAL(exited()), button, SLOT(showMinimized())); +//![5] + +//![1] + s1->addTransition(button, SIGNAL(clicked()), s2); + s2->addTransition(button, SIGNAL(clicked()), s3); + s3->addTransition(button, SIGNAL(clicked()), s1); +//![1] + +//![2] + machine.addState(s1); + machine.addState(s2); + machine.addState(s3); + machine.setInitialState(s1); +//![2] + +//![3] + machine.start(); +//![3] + + label->show(); + + return app.exec(); +} |