Warning, /education/gcompris/src/activities/numbers-odd-even/resource/TutorialBase.qml is written in an unsupported language. File is not indexed.

0001 /* GCompris - TutorialBase.qml
0002  *
0003  * SPDX-FileCopyrightText: 2019 Deepak Kumar <deepakdk2431@gmail.com>
0004  *
0005  * Authors:
0006  *   Deepak Kumar <deepakdk2431@gmail.com>
0007  *
0008  *   SPDX-License-Identifier: GPL-3.0-or-later
0009  */
0010 import QtQuick 2.12
0011 import "../../../core"
0012 
0013 Rectangle {
0014     id: tutorialRectangle
0015     anchors.fill: parent
0016     color: "#80FFFFFF"
0017     property alias firstNumber: firstNumber.textLabel
0018     property alias secondNumber: secondNumber.textLabel
0019     property alias message: message.text
0020     property bool isEvenExpected: true
0021 
0022     GCText {
0023         id: question
0024         anchors {
0025             left: parent.left
0026             verticalCenter: parent.verticalCenter
0027             leftMargin: parent.height * 0.1
0028             centerIn: parent.Center
0029             top: parent.top
0030             topMargin: parent.height * 0.05
0031         }
0032         text: isEvenExpected ? qsTr("Choose the even number:") : qsTr("Choose the odd number:")
0033         fontSize: mediumSize
0034         color: "black"
0035         horizontalAlignment: Text.AlignLeft
0036         width: 1.8 * parent.width
0037         height: 1.8 * parent.height
0038         wrapMode: Text.WordWrap
0039         z: 2
0040     }
0041 
0042     AnswerButton {
0043         id: firstNumber
0044         textLabel: ""
0045         anchors {
0046             top: parent.top
0047             topMargin: parent.height * 0.3
0048             left: parent.left
0049             leftMargin: parent.width * 0.2
0050         }
0051         width: parent.width * 0.2
0052         height: parent.height * 0.4
0053         isCorrectAnswer: (isEvenExpected && Number(textLabel) % 2 === 0) ||
0054                                 (!isEvenExpected && Number(textLabel) % 2 !== 0)
0055              onPressed: {
0056                 if(isCorrectAnswer) {
0057                        message.text = qsTr("Great")
0058                 }
0059                    else {
0060                        if(isEvenExpected) {
0061                            message.text = qsTr("There is an error: when divided by 2, %1 leaves a remainder of 1. Therefore this is an odd number.").arg(textLabel)
0062                        }
0063                       else {
0064                            message.text = qsTr("There is an error: when divided by 2, %1 leaves a remainder of 0. Therefore this is an even number.").arg(textLabel)
0065                        }
0066                    }
0067                    message.visible = true
0068                    messageRectangle.visible = true
0069            }
0070     }
0071 
0072     AnswerButton {
0073         id: secondNumber
0074         textLabel: ""
0075         anchors {
0076             top: parent.top
0077             topMargin: parent.height * 0.3
0078             left: parent.left
0079             leftMargin: parent.width * 0.65
0080         }
0081         width: parent.width * 0.2
0082         height: parent.height * 0.4
0083         isCorrectAnswer: (isEvenExpected && Number(textLabel) % 2 === 0) ||
0084                                 (!isEvenExpected && Number(textLabel) % 2 !== 0)
0085                onPressed: {
0086                    if(isCorrectAnswer) {
0087                        message.text = qsTr("Great")
0088                    }
0089                    else {
0090                        if(isEvenExpected) {
0091                            message.text = qsTr("There is an error: when divided by 2, %1 leaves a remainder of 1. Therefore this is an odd number.").arg(textLabel)
0092                        }
0093                        else {
0094                            message.text = qsTr("There is an error: when divided by 2, %1 leaves a remainder of 0. Therefore this is an even number.").arg(textLabel)
0095                        }
0096                    }
0097                    message.visible = true
0098                    messageRectangle.visible = true
0099                }
0100     }
0101 
0102     Rectangle {
0103         id: messageRectangle
0104         anchors {
0105             horizontalCenter: parent.horizontalCenter
0106             top: parent.top
0107             topMargin: parent.height * 0.75
0108         }
0109         opacity: 0.8
0110         radius: 10
0111         border.width: 6
0112         color: "white"
0113         border.color: "#87A6DD"
0114         width: parent.width * 1.15
0115         height: parent.height * 0.4
0116         visible: false
0117 
0118         GCText {
0119             id: message
0120             anchors {
0121                 centerIn: parent
0122                 margins: parent.border.width+1
0123             }
0124             text: ""
0125             fontSizeMode: Text.Fit
0126             fontSize: smallSize
0127             color: "black"
0128             horizontalAlignment: Text.AlignHCenter
0129             verticalAlignment: Text.AlignVCenter
0130             width: parent.width
0131             height: parent.height
0132             wrapMode: Text.WordWrap
0133             z: 2
0134         }
0135     }
0136 }