diff options
Diffstat (limited to 'examples/scxml/mediaplayer/mediaplayer.scxml')
-rw-r--r-- | examples/scxml/mediaplayer/mediaplayer.scxml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/scxml/mediaplayer/mediaplayer.scxml b/examples/scxml/mediaplayer/mediaplayer.scxml new file mode 100644 index 0000000..1f89c5e --- /dev/null +++ b/examples/scxml/mediaplayer/mediaplayer.scxml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +--> +<scxml + xmlns="http://www.w3.org/2005/07/scxml" + version="1.0" + name="MediaPlayerStateMachine" + initial="stopped" + datamodel="cplusplus:TheDataModel:thedatamodel.h" +> + <state id="stopped"> + <transition event="tap" cond="isValidMedia()" target="playing"/> + </state> + + <state id="playing"> + <onentry> + <script> + media = eventData().value(QStringLiteral("media")).toString(); + </script> + <send event="playbackStarted"> + <param name="media" expr="media"/> + </send> + </onentry> + + <onexit> + <send event="playbackStopped"> + <param name="media" expr="media"/> + </send> + </onexit> + + <transition event="tap" cond="!isValidMedia() || media == eventData().value(QStringLiteral("media"))" target="stopped"/> + <transition event="tap" cond="isValidMedia() && media != eventData().value(QStringLiteral("media"))" target="playing"/> + </state> +</scxml> |