Git commit d08800c98d7dae5242cb3f3d26279a26acfd1427 by Pulkit Gupta. Committed on 31/08/2016 at 21:06. Pushed by pulkitgupta into branch 'gsoc_pulkit_digital_electricity'. digital_electricity, update wire color, and fix some other minor issues. M +1 -1 src/activities/digital_electricity/DragListItem.qml M +2 -2 src/activities/digital_electricity/Wire.qml M +1 -1 src/activities/digital_electricity/components/BCDToSevenSegm= ent.qml M +25 -21 src/activities/digital_electricity/components/SignalGenerato= r.qml M +15 -6 src/activities/digital_electricity/digital_electricity.js M +43 -43 src/activities/digital_electricity/resource/BCDTo7Segment.svg M +15 -15 src/activities/digital_electricity/resource/BCDTo7SegmentDro= pped.svg M +6 -6 src/activities/digital_electricity/resource/signalGenerator.= svg http://commits.kde.org/gcompris/d08800c98d7dae5242cb3f3d26279a26acfd1427 diff --git a/src/activities/digital_electricity/DragListItem.qml b/src/acti= vities/digital_electricity/DragListItem.qml index f0917f5..fc002b3 100644 --- a/src/activities/digital_electricity/DragListItem.qml +++ b/src/activities/digital_electricity/DragListItem.qml @@ -129,7 +129,7 @@ Item { //console.log("coord.x",coord.x,"coord.y",coord.y) //console.log("dropped",terminalSize) if(coord.x > 0 && (backgroundContainer.width - coo= rd.x > tileImage.fullWidth)) - Activity.createComponent(coord.x, coord.y, img= Name) + Activity.createComponent(coord.x, coord.y, com= ponentSrc) tileImage.anchors.centerIn =3D tile tileImage.toSmall() toolTip.show("") diff --git a/src/activities/digital_electricity/Wire.qml b/src/activities/d= igital_electricity/Wire.qml index 72760de..bf0d340 100644 --- a/src/activities/digital_electricity/Wire.qml +++ b/src/activities/digital_electricity/Wire.qml @@ -27,12 +27,12 @@ import GCompris 1.0 Rectangle { id: wire = - property string wireColor + //property string wireColor property QtObject from property QtObject to = height: 5 - color: wireColor + color: from.value =3D=3D 0 ? "Red" : "Green" //wireColor radius: height / 2 transformOrigin: Item.Left = diff --git a/src/activities/digital_electricity/components/BCDToSevenSegmen= t.qml b/src/activities/digital_electricity/components/BCDToSevenSegment.qml index 559d9e6..e282dc0 100644 --- a/src/activities/digital_electricity/components/BCDToSevenSegment.qml +++ b/src/activities/digital_electricity/components/BCDToSevenSegment.qml @@ -48,7 +48,7 @@ ElectricalComponent { "display the decimal number (represented by the BCD = number) on the 7 segment display. " + "The truth table for BCD To 7 Segment converted is:") = - truthTable: [['A','B','C','D','a','b','c','d','e','f','g'], + truthTable: [['D','C','B','A','a','b','c','d','e','f','g'], ['0','0','0','0','1','1','1','1','1','1','0'], ['0','0','0','1','0','1','1','0','0','0','0'], ['0','0','1','0','1','1','0','1','1','0','1'], diff --git a/src/activities/digital_electricity/components/SignalGenerator.= qml b/src/activities/digital_electricity/components/SignalGenerator.qml index 85b4ce4..78c7d87 100644 --- a/src/activities/digital_electricity/components/SignalGenerator.qml +++ b/src/activities/digital_electricity/components/SignalGenerator.qml @@ -30,21 +30,23 @@ ElectricalComponent { imgHeight: 0.18 imgSrc: "signalGenerator.svg" toolTipTxt: qsTr("Signal Generator") - terminalSize: 0.451 + terminalSize: 0.24 noOfInputs: 0 noOfOutputs: 1 = information: qsTr("Signal Generator is used to generate alternating si= gnals of 0 and 1. " + - "It takes frequency as input, and generate outputs a= ccordingly. Frequency " + - "refers to the number of times the output will chang= e in 1 second. So 1 Hz " + - "means that the output will change after every 1 sec= ond, 0.5 Hz means that " + - "the output will change after every 2 seconds, and s= o on. For the demonstration " + - "purpose, the minimum frequency of signal generator = in this activity is " + - "0.25 Hz, and maximum frequency is 2 Hz. The frequen= cy can be changed by clicking " + + "It takes period as input, and generate outputs acco= rdingly. Period " + + "refers to the number of seconds after which the out= put will. So 1s " + + "means that the output will change after every 1 sec= ond, 0.5s means that " + + "the output will change after every 0.5 seconds, and= so on. For the demonstration " + + "purpose, the minimum period of signal generator in = this activity is " + + "0.25s, and maximum period is 2s. The period can be = changed by clicking " + "on the arrows on the signal generator") = property alias outputTerminals: outputTerminals - property double frequency: 0.25 + property double period: 1 + property variant periodFraction: ["1/4","1/2","1","2"] + property int periodIndex: 2 = Repeater { id: outputTerminals @@ -53,8 +55,8 @@ ElectricalComponent { Component { id: outputTerminal TerminalPoint { - posX: 0.914 - posY: 0.512 + posX: 0.95 + posY: 0.504 value: 0 type: "Out" } @@ -81,7 +83,7 @@ ElectricalComponent { = Timer { id: timer - interval: 1000 / signalGenerator.frequency + interval: 1000 * signalGenerator.period running: true repeat: true onTriggered: Activity.updateComponent(signalGenerator.index) @@ -91,7 +93,7 @@ ElectricalComponent { source: Activity.url + "arrowUp.svg" height: 0.339 * parent.height width: 0.123 * parent.width - property double posX: 0.632 + property double posX: 0.688 property double posY: 0.284 x: (parent.width - parent.paintedWidth) / 2 + posX * parent.painte= dWidth - width / 2 y: (parent.height - parent.paintedHeight) / 2 + posY * parent.pain= tedHeight - height / 2 @@ -101,10 +103,11 @@ ElectricalComponent { MouseArea { anchors.fill: parent anchors.centerIn: parent - enabled: signalGenerator.frequency !=3D 2 + enabled: signalGenerator.period !=3D 2 onPressed: { //console.log("Up pressed") - signalGenerator.frequency +=3D 0.25 + signalGenerator.period *=3D 2 + periodIndex++ timer.restart() outputTerminals.itemAt(0).value =3D 1 Activity.updateComponent(signalGenerator.index) @@ -115,8 +118,8 @@ ElectricalComponent { Image { source: Activity.url + "arrowDown.svg" height: 0.339 * parent.height - width: 0.123 * parent.width - property double posX: 0.632 + width: 0.133 * parent.width + property double posX: 0.688 property double posY: 0.713 x: (parent.width - parent.paintedWidth) / 2 + posX * parent.painte= dWidth - width / 2 y: (parent.height - parent.paintedHeight) / 2 + posY * parent.pain= tedHeight - height / 2 @@ -126,10 +129,11 @@ ElectricalComponent { MouseArea { anchors.fill: parent anchors.centerIn: parent - enabled: signalGenerator.frequency !=3D 0.25 + enabled: signalGenerator.period !=3D 0.25 onPressed: { //console.log("Down pressed") - signalGenerator.frequency -=3D 0.25 + signalGenerator.period /=3D 2 + periodIndex-- timer.restart() outputTerminals.itemAt(0).value =3D 1 Activity.updateComponent(signalGenerator.index) @@ -141,8 +145,8 @@ ElectricalComponent { //id: valueContainer source: Activity.url + "valueContainer.svg" sourceSize.height: 0.818 * parent.height - sourceSize.width: 0.512 * parent.width - property double posX: 0.306 + sourceSize.width: 0.557 * parent.width + property double posX: 0.333 property double posY: 0.503 x: (parent.width - parent.paintedWidth) / 2 + posX * parent.painte= dWidth - width / 2 y: (parent.height - parent.paintedHeight) / 2 + posY * parent.pain= tedHeight - height / 2 @@ -160,7 +164,7 @@ ElectricalComponent { verticalAlignment: Text.AlignVCenter height: parent.height - 10 width: parent.width - 10 - text: qsTr("%1 Hz").arg(signalGenerator.frequency.toFixed(2)) + text: qsTr("%1s").arg(signalGenerator.periodFraction[periodInd= ex]) } } } diff --git a/src/activities/digital_electricity/digital_electricity.js b/sr= c/activities/digital_electricity/digital_electricity.js index 47403dc..f3f661f 100644 --- a/src/activities/digital_electricity/digital_electricity.js +++ b/src/activities/digital_electricity/digital_electricity.js @@ -34,7 +34,7 @@ var selectedTerminal var deletedIndex =3D [] var components =3D [] var connected =3D [] -var colors =3D ["red","green","blue","blueviolet","silver"] +//var colors =3D ["red","green","blue","blueviolet","silver"] = function start(items_) { = @@ -43,42 +43,49 @@ function start(items_) { = items.availablePieces.model.append( { "imgName": "zero.svg", + "componentSrc": "Zero.qml", "imgWidth": 0.12, "imgHeight": 0.2, "toolTipText": qsTr("Zero input") }) items.availablePieces.model.append( { "imgName": "one.svg", + "componentSrc": "One.qml", "imgWidth": 0.12, "imgHeight": 0.2, "toolTipText": qsTr("One input") }) items.availablePieces.model.append( { "imgName": "gateAnd.svg", + "componentSrc": "AndGate.qml", "imgWidth": 0.15, "imgHeight": 0.12, "toolTipText": qsTr("AND gate") }) items.availablePieces.model.append( { "imgName": "BCDTo7Segment.svg", + "componentSrc": "BCDToSevenSegment.qml", "imgWidth": 0.3, "imgHeight": 0.4, "toolTipText": qsTr("BCD To 7 Segment") }) items.availablePieces.model.append( { "imgName": "sevenSegmentDisplay.svgz", + "componentSrc": "SevenSegment.qml", "imgWidth": 0.18, "imgHeight": 0.4, "toolTipText": qsTr("7 Segment Display") }) items.availablePieces.model.append( { "imgName": "DigitalLightOff.svg", + "componentSrc": "DigitalLight.qml", "imgWidth": 0.2, "imgHeight": 0.18, "toolTipText": qsTr("Digital Light") }) items.availablePieces.model.append( { "imgName": "signalGenerator.svg", + "componentSrc": "SignalGenerator.qml", "imgWidth": 0.25, "imgHeight": 0.18, "toolTipText": qsTr("Signal Generator") @@ -134,7 +141,7 @@ function createComponent(x, y, src) { else index =3D components.length = - var electricComponent + /*var electricComponent var componentLocation =3D "qrc:/gcompris/src/activities/digital_electr= icity/components/" if(src =3D=3D "one.svg") electricComponent =3D Qt.createComponent(componentLocation + "One.= qml") @@ -149,7 +156,9 @@ function createComponent(x, y, src) { else if(src =3D=3D "DigitalLightOff.svg") electricComponent =3D Qt.createComponent(componentLocation + "Digi= talLight.qml") else if(src =3D=3D "signalGenerator.svg") - electricComponent =3D Qt.createComponent(componentLocation + "Sign= alGenerator.qml") + electricComponent =3D Qt.createComponent(componentLocation + "Sign= alGenerator.qml")*/ + = + var electricComponent =3D Qt.createComponent("qrc:/gcompris/src/activi= ties/digital_electricity/components/" + src) = //console.log("Error loading component:", electricComponent.errorStrin= g()) components[index] =3D electricComponent.createObject( @@ -176,12 +185,12 @@ function terminalPointSelected(terminal) { //console.log("in2") var wireComponent =3D Qt.createComponent("qrc:/gcompris/src/ac= tivities/digital_electricity/Wire.qml") = - var colorIndex =3D Math.floor(Math.random() * colors.length) + //var colorIndex =3D Math.floor(Math.random() * colors.length) var wire =3D wireComponent.createObject( items.backgroundContainer, { "from": outTerminal, - "to": inTerminal, - "wireColor": colors[colorIndex] + "to": inTerminal + //"wireColor": colors[colorIndex] //"index": index }); inTerminal.value =3D outTerminal.value diff --git a/src/activities/digital_electricity/resource/BCDTo7Segment.svg = b/src/activities/digital_electricity/resource/BCDTo7Segment.svg index 0e3e22b..b7972f3 100644 --- a/src/activities/digital_electricity/resource/BCDTo7Segment.svg +++ b/src/activities/digital_electricity/resource/BCDTo7Segment.svg @@ -15,7 +15,7 @@ id=3D"svg4252" version=3D"1.1" inkscape:version=3D"0.91 r13725" - sodipodi:docname=3D"BCDTo7Segment2.svg"> + sodipodi:docname=3D"BCDTo7Segment.svg"> image/svg+xml - + @@ -229,42 +229,6 @@ cx=3D"846.90234" cy=3D"830.2597" r=3D"23.867764" /> - B - C - D B + C + D + A + x=3D"190.24521" + y=3D"832.1756">A diff --git a/src/activities/digital_electricity/resource/BCDTo7SegmentDropp= ed.svg b/src/activities/digital_electricity/resource/BCDTo7SegmentDropped.s= vg index 81ffcb1..b46d186 100644 --- a/src/activities/digital_electricity/resource/BCDTo7SegmentDropped.svg +++ b/src/activities/digital_electricity/resource/BCDTo7SegmentDropped.svg @@ -15,7 +15,7 @@ id=3D"svg4252" version=3D"1.1" inkscape:version=3D"0.91 r13725" - sodipodi:docname=3D"BCDTo7Segment.svg"> + sodipodi:docname=3D"BCDTo7SegmentDropped.svg"> B + y=3D"657.60394">B C + x=3D"198.15549" + y=3D"495.55365">C D + x=3D"195.97772" + y=3D"346.99399">D A + x=3D"190.28769" + y=3D"835.16516">A diff --git a/src/activities/digital_electricity/resource/signalGenerator.sv= g b/src/activities/digital_electricity/resource/signalGenerator.svg index ec6081b..09270c3 100644 --- a/src/activities/digital_electricity/resource/signalGenerator.svg +++ b/src/activities/digital_electricity/resource/signalGenerator.svg @@ -13,14 +13,14 @@ id=3D"svg47331" sodipodi:docname=3D"signalGenerator.svg" inkscape:export-filename=3D"/home/cats/Desktop/computer.png" - viewBox=3D"0 0 883.94856 337.58" + viewBox=3D"0 0 812.57893 337.58" sodipodi:version=3D"0.32" inkscape:export-xdpi=3D"150" version=3D"1.0" inkscape:output_extension=3D"org.inkscape.output.svg.inkscape" inkscape:export-ydpi=3D"150" inkscape:version=3D"0.91 r13725" - width=3D"883.94855" + width=3D"812.57892" height=3D"337.57999"> Function Generator @@ -380,7 +380,7 @@ showgrid=3D"false" borderopacity=3D"1.0" inkscape:current-layer=3D"layer1" - inkscape:cx=3D"322.74115" + inkscape:cx=3D"515.7122" inkscape:cy=3D"197.9809" showguides=3D"true" inkscape:window-y=3D"-8" @@ -432,9 +432,9 @@ + cx=3D"826.39526" + cy=3D"284.87033" + r=3D"40.493652" />