summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/statemachine/main.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-06-19 02:06:21 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-06-19 02:06:21 (GMT)
commitfb6775d423f1ebe7e624951edf39d79ca0433d4a (patch)
tree4b5b93d3c2d835b268ce16f2fe9a91e4b89ecfde /doc/src/snippets/statemachine/main.cpp
parent9c7c859647771d5d2fa466b0a3ff9d408edecd38 (diff)
parentf9f08de9d41fd55d9c7d01578191ef5d4099c9e6 (diff)
downloadQt-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.cpp48
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();
+}