Warning, /education/gcompris/src/activities/learn_decimals/SingleBar.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - learn_decimals.qml
0002 *
0003 * SPDX-FileCopyrightText: 2021 Mariam Fahmy <mariamfahmy66@gmail.com>
0004 *
0005 * Authors:
0006 * Mariam Fahmy <mariamfahmy66@gmail.com>
0007 * Timothée Giet <animtim@gmail.com>
0008 *
0009 * SPDX-License-Identifier: GPL-3.0-or-later
0010 */
0011 import QtQuick 2.12
0012 import GCompris 1.0
0013 import "../../core"
0014 import "learn_decimals.js" as Activity
0015
0016 GridView {
0017 id: singleBar
0018 clip: true
0019
0020 property bool isAnswerRepresentation: false
0021 property bool isUnselectedBar: false
0022 property ListModel selectedModel
0023 property int cellSize: 10
0024
0025 model: selectedModel
0026 interactive: false
0027 delegate: delegateUnit
0028
0029 Component {
0030 id: delegateUnit
0031 Item {
0032 id: barItem
0033 width: background.horizontalLayout ? cellSize * 10 : cellSize
0034 height: background.horizontalLayout ? cellSize : cellSize * 10
0035
0036 Grid {
0037 id: gridLayout
0038 anchors.fill: parent
0039
0040 states: [
0041 State {
0042 when: background.horizontalLayout
0043 PropertyChanges {
0044 target: gridLayout
0045 rows: 1
0046 columns: 0
0047 }
0048 },
0049 State {
0050 when: !background.horizontalLayout
0051 PropertyChanges {
0052 target: gridLayout
0053 rows: 0
0054 columns: 1
0055 }
0056 }
0057 ]
0058
0059 Repeater {
0060 id: rowsRepeater
0061 model: isAnswerRepresentation ? selectedSquareNumbers : 10
0062 // There can be random glitches happening on the squares borders if using Rectangle
0063 // items in this code when using OpenGL, so using Images instead of Rectangles
0064 // helps to avoid it in most cases.
0065 Image {
0066 id: squareContainer
0067 source: items.isQuantityMode ? "qrc:/gcompris/src/core/resource/empty.svg" :
0068 "qrc:/gcompris/src/activities/learn_decimals/resource/rectDark.svg"
0069 visible: singleBar.Drag.active && index >= selectedSquareNumbers ? false : true
0070 width: singleBar.cellSize
0071 height: width
0072 sourceSize.width: width
0073
0074 Image {
0075 id: square
0076 source: items.isQuantityMode ? "qrc:/gcompris/src/activities/babyshapes/resource/food/orange.svg" :
0077 index < selectedSquareNumbers ? "qrc:/gcompris/src/activities/learn_decimals/resource/rectFill.svg" :
0078 "qrc:/gcompris/src/activities/learn_decimals/resource/rectWhite.svg"
0079 width: singleBar.cellSize - 6
0080 height: width
0081 sourceSize.width: width
0082 anchors.centerIn: parent
0083 opacity: items.isQuantityMode && index >= selectedSquareNumbers ? 0.2 : 1
0084 }
0085 }
0086 }
0087 }
0088
0089 MouseArea {
0090 anchors.fill: parent
0091 enabled: isAnswerRepresentation && !items.typeResult && !items.buttonsBlocked
0092 onPressed: selectedModel.remove(index)
0093 }
0094 }
0095 }
0096 }