Warning, /education/gcompris/src/core/NumberQuestionCard.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - NumberQuestionCard.qml 0002 * 0003 * SPDX-FileCopyrightText: 2022 Samarth Raj <mailforsamarth@gmail.com> 0004 * SPDX-FileCopyrightText: 2022 Timothée Giet <animtim@gmail.com> 0005 * SPDX-License-Identifier: GPL-3.0-or-later 0006 */ 0007 import QtQuick 2.12 0008 import GCompris 1.0 0009 0010 /** 0011 * A QML component used in tens_complement_find and tens_complement_use 0012 * 0013 * It's meant to be used in a Flickable (GridView, ListView ...) with a ListModel 0014 * containing the following properties: 0015 * "value": a string to display on the card 0016 * "visibility": a bool telling if the card is visible or hidden 0017 * "clickable": a bool telling if the card is clickable or not 0018 * "isSignSymbol": a bool set to true if the value is a math symbol and not a number 0019 */ 0020 0021 Item { 0022 id: numberCard 0023 visible: visibility 0024 0025 property bool selected: false 0026 property int cardSize: Math.min(width, height) 0027 0028 signal clicked 0029 0030 Rectangle { 0031 id: cardBg 0032 height: selected ? cardSize * 0.9 : cardSize * 0.7 0033 width: height 0034 color: isSignSymbol || !clickable ? "transparent" : "white" 0035 border.color: isSignSymbol || !clickable ? "transparent" : "#9FB8E3" 0036 border.width: selected ? 12 : 3 0037 radius: 15 0038 anchors.centerIn: parent 0039 } 0040 GCText { 0041 id: numberText 0042 width: isSignSymbol ? numberCard.height : cardBg.height 0043 height: isSignSymbol ? numberCard.width : cardBg.height 0044 anchors.centerIn: parent 0045 color: "#373737" 0046 text: value 0047 fontSize: Math.max(1, height) // avoid value of 0 during init 0048 fontSizeMode: Text.Fit 0049 verticalAlignment: Text.AlignVCenter 0050 horizontalAlignment: Text.AlignHCenter 0051 } 0052 0053 MouseArea { 0054 width: numberCard.height 0055 height: numberCard.height 0056 anchors.centerIn: parent 0057 enabled: clickable 0058 onClicked: { 0059 numberCard.clicked(); 0060 } 0061 } 0062 }