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 }