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: 176
    height: 36
    spacing: 8

    SafePicture {
        id: iconBattery
        objectName: "iconBattery"
        width: 36
        height: 36
        color: "#e41e25"
        fillColor: "white"
        opacity: 1.0
        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: iconParkingBrake
        objectName: "iconParkingBrake"
        width: 36
        height: 36
        color: "#e41e25"
        fillColor: "white"
        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
                }
            }
        ]
    }
    SafePicture {
        id: iconHighBeam
        objectName: "iconHighBeam"
        width: 36
        height: 36
        color: "#1e8fe4"
        fillColor: "white"
        source: "./iso-icons/iso_grs_7000_4_0082.dat"

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

    SafePicture {
        id: iconLowBeam
        objectName: "iconLowBeam"
        width: 36
        height: 36
        color: "#5caa15"
        fillColor: "white"
        source: "./iso-icons/iso_grs_7000_4_0083.dat"

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