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 }