Warning, /education/gcompris/src/activities/magic-hat-minus/Star.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - MagicHat.qml 0002 * 0003 * SPDX-FileCopyrightText: 2014 Thibaut ROMAIN <thibrom@gmail.com> 0004 * 0005 * Authors: 0006 * <Bruno Coudoin> (GTK+ version) 0007 * Thibaut ROMAIN <thibrom@gmail.com> (Qt Quick port) 0008 * 0009 * SPDX-License-Identifier: GPL-3.0-or-later 0010 */ 0011 import QtQuick 2.12 0012 import "magic-hat.js" as Activity 0013 0014 0015 Item { 0016 id: mainItem 0017 property bool isClickable: false 0018 property bool displayBounds: true 0019 property bool selected: false 0020 property string backgroundColor 0021 property Item initialParent 0022 property Item theHat 0023 property Item newTarget 0024 property int barGroupIndex 0025 property int barIndex 0026 property string wantedColor: "1" 0027 state: "Init" 0028 0029 width: 34 0030 height: 34 0031 0032 MouseArea { 0033 id: mouseArea 0034 anchors.fill: parent 0035 enabled: isClickable 0036 hoverEnabled: true 0037 onClicked: { 0038 mainItem.selected = !mainItem.selected 0039 Activity.userClickedAStar(barIndex, mainItem.selected) 0040 } 0041 } 0042 0043 Rectangle { 0044 id: contour 0045 anchors.fill: parent 0046 border.color: "#373737" 0047 border.width: mouseArea.containsMouse ? 2 : 1 0048 opacity: displayBounds ? 1.0 : 0.0 0049 color: mainItem.backgroundColor 0050 } 0051 0052 Image { 0053 id: starImg 0054 source: mainItem.selected ? 0055 Activity.url + "star-" + wantedColor + ".svg" : Activity.url + "star-0.svg" 0056 width: contour.width - 4 0057 height: width 0058 sourceSize.width: width 0059 anchors.centerIn: contour 0060 fillMode: Image.PreserveAspectFit 0061 opacity: 1 0062 visible: true 0063 } 0064 0065 states: [ 0066 State { 0067 name: "Init" 0068 ParentChange { 0069 target: mainItem 0070 parent: mainItem.initialParent 0071 x: 0 0072 y: 0 0073 rotation: 0 0074 } 0075 PropertyChanges { 0076 target: mainItem 0077 opacity: mainItem.displayBounds ? 1 : 0 0078 } 0079 }, 0080 State { 0081 name: "MoveUnderHat" 0082 ParentChange { 0083 target: mainItem 0084 parent: mainItem.theHat 0085 x: 0 0086 y: 0 0087 rotation: 180 0088 } 0089 PropertyChanges { 0090 target: mainItem 0091 opacity: 1 0092 } 0093 }, 0094 State { 0095 name: "MoveToTarget" 0096 ParentChange { 0097 target: mainItem 0098 parent: mainItem.newTarget 0099 x: 0 0100 y: 0 0101 rotation: 0 0102 } 0103 PropertyChanges { 0104 target: mainItem 0105 opacity: 1 0106 } 0107 } 0108 ] 0109 0110 Behavior on x { 0111 PropertyAnimation { 0112 easing.type: Easing.OutQuad 0113 duration: 1000 0114 onRunningChanged: { 0115 if(!running) { 0116 if(mainItem.state == "MoveUnderHat") 0117 Activity.animation1Finished(mainItem.barGroupIndex) 0118 else if(mainItem.state == "MoveToTarget") 0119 Activity.animation2Finished() 0120 } 0121 } 0122 } 0123 } 0124 Behavior on y { 0125 PropertyAnimation {easing.type: Easing.OutQuad; duration: 1000} 0126 } 0127 0128 Behavior on rotation { 0129 PropertyAnimation {easing.type: Easing.OutQuad; duration: 1000} 0130 } 0131 }