Warning, /education/gcompris/src/activities/binary_bulb/LightBulb.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - LightBulb.qml
0002 *
0003 * SPDX-FileCopyrightText: 2018 Rajat Asthana <rajatasthana4@gmail.com>
0004 *
0005 * Authors:
0006 * RAJAT ASTHANA <rajatasthana4@gmail.com>
0007 *
0008 * SPDX-License-Identifier: GPL-3.0-or-later
0009 */
0010 import QtQuick 2.12
0011 import "../../core"
0012 import GCompris 1.0
0013 import "binary_bulb.js" as Activity
0014
0015 Item {
0016 id: bulb
0017 anchors.verticalCenter: parent.verticalCenter
0018 state: "off"
0019 focus: true
0020
0021 property alias valueVisible: valueText.visible
0022
0023 Rectangle {
0024 color: "transparent"
0025 width: parent.width + 10
0026 height: parent.height + 10
0027 border.color: "red"
0028 border.width: 3
0029 anchors.centerIn: bulbImage
0030 radius: 5
0031 visible: index == items.currentSelectedBulb
0032 }
0033 Image {
0034 id: bulbImage
0035 width: parent.width
0036 sourceSize.width: parent.width
0037 fillMode: Image.PreserveAspectFit
0038 source: "resource/bulb_off.svg"
0039 }
0040 property string bit: ""
0041 readonly property int value: Math.pow(2, items.numberOfBulbs - index - 1)
0042
0043 GCText {
0044 id: valueText
0045 anchors.bottom: parent.top
0046 anchors.horizontalCenter: parent.horizontalCenter
0047 text: value
0048 color: "white"
0049 }
0050
0051 MouseArea {
0052 anchors.fill: parent
0053 enabled: !items.buttonsBlocked
0054 onClicked: Activity.changeState(index)
0055 }
0056
0057 GCText {
0058 anchors.top: bulb.bottom
0059 anchors.horizontalCenter: parent.horizontalCenter
0060 text: bit
0061 color: "white"
0062 }
0063
0064 states: [
0065 State {
0066 name: "off"
0067 PropertyChanges {
0068 target: bulb
0069 bit: "0"
0070 }
0071 PropertyChanges {
0072 target: bulbImage
0073 source: "resource/bulb_off.svg"
0074 }
0075 },
0076 State {
0077 name: "on"
0078 PropertyChanges {
0079 target: bulb
0080 bit: "1"
0081 }
0082 PropertyChanges {
0083 target: bulbImage
0084 source: "resource/bulb_on.svg"
0085 }
0086 }
0087 ]
0088 }