Warning, /education/gcompris/src/activities/digital_electricity/components/SevenSegment.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - SevenSegment.qml 0002 * 0003 * SPDX-FileCopyrightText: 2016 Pulkit Gupta <pulkitnsit@gmail.com> 0004 * 0005 * Authors: 0006 * Bruno Coudoin <bruno.coudoin@gcompris.net> (GTK+ version) 0007 * Pulkit Gupta <pulkitnsit@gmail.com> (Qt Quick port) 0008 * 0009 * SPDX-License-Identifier: GPL-3.0-or-later 0010 */ 0011 import QtQuick 2.12 0012 import GCompris 1.0 0013 0014 import "../digital_electricity.js" as Activity 0015 0016 ElectricalComponent { 0017 id: sevenSegmentDisplay 0018 terminalSize: 0.125 0019 noOfInputs: 7 0020 noOfOutputs: 0 0021 property var inputTerminalPosY: [0.066, 0.211, 0.355, 0.5, 0.645, 0.789, 0.934] 0022 property var redBars: ["sevenSegmentDisplayA.svg","sevenSegmentDisplayB.svg","sevenSegmentDisplayC.svg", 0023 "sevenSegmentDisplayD.svg","sevenSegmentDisplayE.svg","sevenSegmentDisplayF.svg", 0024 "sevenSegmentDisplayG.svg"] 0025 0026 information: qsTr("A 7 segment display takes 7 binary inputs. The display " + 0027 "consists of 7 segments and each segment is lighted according to the input. " + 0028 "By generating different combinations of binary inputs, the display can be used to " + 0029 "display numbers from 0 to 9 and a few letters. The diagram is:") 0030 0031 property string infoImageSrc: "7SegmentDisplay.svg" 0032 0033 property alias inputTerminals: inputTerminals 0034 0035 Repeater { 0036 id: inputTerminals 0037 model: 7 0038 delegate: inputTerminal 0039 Component { 0040 id: inputTerminal 0041 TerminalPoint { 0042 posX: 0.06 0043 posY: inputTerminalPosY[index] 0044 type: "In" 0045 } 0046 } 0047 } 0048 0049 function updateOutput(wireVisited) { 0050 for(var i = 0 ; i < noOfInputs ; ++i) { 0051 if(inputTerminals.itemAt(i).value == 1) 0052 outputBar.itemAt(i).visible = true; 0053 else 0054 outputBar.itemAt(i).visible = false; 0055 } 0056 } 0057 0058 Repeater { 0059 id: outputBar 0060 model: 7 0061 delegate: outputBarImages 0062 Component { 0063 id: outputBarImages 0064 Image { 0065 source: Activity.url + redBars[index] 0066 visible: false //code[0] == 1 0067 anchors.centerIn: parent 0068 height: parent.height 0069 width: parent.width 0070 fillMode: Image.PreserveAspectFit 0071 mipmap: true 0072 antialiasing: true 0073 } 0074 } 0075 } 0076 }