/* LICENSE BEGIN This file is part of the SixtyFPS Project -- https://sixtyfps.io Copyright (c) 2021 Olivier Goffart Copyright (c) 2021 Simon Hausmann SPDX-License-Identifier: GPL-3.0-only This file is also available under commercial licensing terms. Please contact info@sixtyfps.io for more information. LICENSE END */ import { LineEdit, Button, Slider, HorizontalBox, VerticalBox } from "sixtyfps_widgets.60"; Timer := Window { property total-time: slider.value * 1s; property progress: 0.5; animate progress { duration: total-time; } VerticalBox { HorizontalBox { Text { text: "Elapsed Time:"; } Rectangle { max-height: 30px; background: gray; Rectangle { height: 100%; width: parent.width * progress; background: lightblue; } } } Text{ text: (total-time / 1s) + "s"; } HorizontalBox { Text { text: "Duration:"; } slider := Slider { maximum: 30s / 1s; value: 10s / 1s; } } Button { text: "Reset"; clicked => { if (progress > 0.5) { progress = 0; } else { progress = 1; } } } } }