// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause import QtQuick import QtQuick.Window import TrafficLightStateMachine 1.0 Window { id: root visible: true width: 100 height: 350 TrafficLightStateMachine { id: stateMachine running: true } Item { id: lights width: parent.width height: 300 Light { anchors.top: parent.top anchors.horizontalCenter: parent.horizontalCenter color: "red" visible: stateMachine.red || stateMachine.redGoingGreen } Light { anchors.centerIn: parent color: "yellow" visible: stateMachine.yellow || stateMachine.blinking } Light { anchors.bottom: parent.bottom anchors.horizontalCenter: parent.horizontalCenter color: "green" visible: stateMachine.green } } Rectangle { anchors.top: lights.bottom anchors.bottom: parent.bottom width: parent.width border.color: "black" Text { anchors.fill: parent text: stateMachine.working ? "Pause" : "Unpause" horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } MouseArea { anchors.fill: parent onClicked: stateMachine.submitEvent(stateMachine.working ? "smash" : "repair"); } } }