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: rightindicators
    y: 36
    width: 150
    height: 30
    anchors.left: parent.horizontalCenter
    anchors.leftMargin: 32
    anchors.bottom: parent.bottom
    anchors.bottomMargin: 22
    spacing: 8

    SafePicture {
        id: iconLowbeam
        objectName: "iconLowbeam"
        width: 30
        height: 30
        source: "iso-icons/iso_grs_7000_4_0456.dat"
        color: "#5caa15"
        fillColor: "black"

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

    SafePicture {
        id: iconTyre
        objectName: "iconTyre"
        width: 30
        height: 30
        color: "#face20"
        fillColor: "black"
        source: "iso-icons/iso_grs_7000_4_1434A.dat"
        states: [
            State {
                name: "ON"
                PropertyChanges {
                    target: iconTyre
                    visible: true
                }
            },
            State {
                name: "OFF"
                PropertyChanges {
                    target: iconTyre
                    visible: false
                }
            }
        ]
    }

    SafePicture {
        id: iconLamp
        objectName: "iconLamp"
        width: 30
        height: 30
        source: "iso-icons/iso_grs_7000_4_1555.dat"
        color: "#face20"
        fillColor: "black"
        states: [
            State {
                name: "ON"
                PropertyChanges {
                    target: iconLamp
                    visible: true
                }
            },
            State {
                name: "OFF"
                PropertyChanges {
                    target: iconLamp
                    visible: false
                }
            }
        ]
    }

    SafePicture {
        id: iconSeatbelt
        objectName: "iconSeatbelt"
        width: 30
        height: 30
        color: "#e41e25"
        fillColor: "black"
        source: "iso-icons/iso_grs_7000_4_0249.dat"
        states: [
            State {
                name: "ON"
                PropertyChanges {
                    target: iconSeatbelt
                    visible: true
                }
            },
            State {
                name: "OFF"
                PropertyChanges {
                    target: iconSeatbelt
                    visible: false
                }
            }
        ]
    }
}