C

Indicators: Creating Safety-Critical UI

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial

// This file is part of the Qt Safe Renderer module
import QtQuick
import Qt.SafeRenderer

Row {
    id: leftindicators
    x: 88
    y: 40
    width: 150
    height: 30
    anchors.right: parent.horizontalCenter
    anchors.rightMargin: 82
    anchors.bottom: parent.bottom
    anchors.bottomMargin: 22
    spacing: 8

    SafePicture {
        id: iconBattery
        objectName: "iconBattery"
        width: 30
        height: 30
        color: "#e41e25"
        fillColor: "black"
        source: "iso-icons/iso_grs_7000_4_0247.dat"

        states: [
            State {
                name: "ON"
                PropertyChanges {
                    target: iconBattery
                    visible: true
                }
            },
            State {
                name: "OFF"
                PropertyChanges {
                    target: iconBattery
                    visible: false
                }
            }
        ]
    }

    SafePicture {
        id: iconFuel
        objectName: "iconFuel"
        width: 30
        height: 30
        color: "#e41e25"
        fillColor: "black"
        source: "iso-icons/iso_grs_7000_4_0245.dat"

        states: [
            State {
                name: "ON"
                PropertyChanges {
                    target: iconFuel
                    visible: true
                }
            },
            State {
                name: "OFF"
                PropertyChanges {
                    target: iconFuel
                    visible: false
                }
            }
        ]
    }

    SafePicture {
        id: iconParkingBrake
        objectName: "iconParkingBrake"
        width: 30
        height: 30
        color: "#e41e25"
        fillColor: "black"
        source: "iso-icons/iso_grs_7000_4_0238.dat"

        states: [
            State {
                name: "ON"
                PropertyChanges {
                    target: iconParkingBrake
                    visible: true
                }
            },
            State {
                name: "OFF"
                PropertyChanges {
                    target: iconParkingBrake
                    visible: false
                }
            }
        ]
    }
}