Warning, /education/gcompris/src/activities/graph-coloring/Node.qml is written in an unsupported language. File is not indexed.
0001 /* GCompris - SearchItem.qml 0002 * 0003 * Copyright (C) Holger Kaelberer <holger.k@elberer.de> 0004 * 0005 * Authors: 0006 * Holger Kaelberer <holger.k@elberer.de> 0007 * Akshat Tandon <akshat.tandon@research.iiit.ac.in> 0008 * 0009 * SPDX-License-Identifier: GPL-3.0-or-later 0010 */ 0011 0012 import QtQuick 2.12 0013 import GCompris 1.0 0014 import "graph-coloring.js" as Activity 0015 0016 Item { 0017 id: root 0018 property int searchItemIndex: -1 0019 property alias border: color.border 0020 property alias radius: color.radius 0021 property bool highlightSymbol: false 0022 property bool symbolRotation: false 0023 0024 Image { 0025 id: symbol 0026 visible: items.mode === "symbol" 0027 fillMode: Image.PreserveAspectFit 0028 source: searchItemIndex == -1 ? Activity.url + "shapes/" + "circle_node.svg" : Activity.symbols[root.searchItemIndex] 0029 anchors.left: parent.left 0030 anchors.top: parent.top 0031 anchors.margins: 3 0032 width: parent.width - 6 0033 height: parent.height - 6 0034 SequentialAnimation { 0035 id: anim 0036 running: root.symbolRotation 0037 loops: Animation.Infinite 0038 NumberAnimation { 0039 target: symbol 0040 property: "rotation" 0041 from: -10; to: 10 0042 duration: 500 0043 easing.type: Easing.InOutQuad 0044 } 0045 NumberAnimation { 0046 target: symbol 0047 property: "rotation" 0048 from: 10; to: -10 0049 duration: 500 0050 easing.type: Easing.InOutQuad } 0051 } 0052 NumberAnimation { 0053 id: rotationStop 0054 running: !root.symbolRotation 0055 target: symbol 0056 property: "rotation" 0057 to: 0 0058 duration: 500 0059 easing.type: Easing.InOutQuad 0060 } 0061 } 0062 Rectangle { 0063 id: symbolHighlighter 0064 visible: (items.mode === "symbol") && root.highlightSymbol 0065 anchors.fill: parent 0066 width: parent.width 0067 height: parent.height 0068 border.width: 3 0069 border.color: "white" 0070 color: "transparent" 0071 } 0072 0073 Rectangle { 0074 id: color 0075 visible: items.mode === "color" 0076 color: root.searchItemIndex == -1 ? "white" : Activity.colors[root.searchItemIndex] 0077 anchors.fill: parent 0078 width: parent.width 0079 height: parent.height 0080 radius: width / 2 0081 } 0082 }