Import initial du projet shipheart_cm5
This commit is contained in:
Executable
+68
@@ -0,0 +1,68 @@
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
|
||||
BusyIndicator {
|
||||
id: busy_indicator
|
||||
|
||||
running: false
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
width: 120
|
||||
height: width // Par principe, la forme est carrée...
|
||||
contentItem: Item {
|
||||
x: parent.width / 2
|
||||
y: parent.height / 2
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
|
||||
Item {
|
||||
id: item
|
||||
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
opacity: busy_indicator.running ? 1 : 0
|
||||
|
||||
Behavior on opacity { // Permet l'apparition et la disparition progressive du BI
|
||||
OpacityAnimator {
|
||||
duration: 250
|
||||
}
|
||||
}
|
||||
|
||||
RotationAnimator { // Donne le mouvement de rotation de l'ensemble des points
|
||||
target: item
|
||||
running: true
|
||||
from: 0
|
||||
to: 360
|
||||
loops: Animation.Infinite
|
||||
duration: 1000 // Durée d'un tour complet
|
||||
}
|
||||
|
||||
Repeater {
|
||||
id: repeater
|
||||
model: 7 // Nombre de points formant le BI
|
||||
|
||||
Rectangle {
|
||||
x: (item.width / 2) - (width / 2)
|
||||
y: (item.height / 2) - (height / 2)
|
||||
implicitWidth: item.width / 5 // Largeur du point
|
||||
implicitHeight: item.height / 5 // Hauteur du point
|
||||
radius: implicitWidth / 2 // Donne la forme circulaire du point
|
||||
color: shipheart_couleur_fond_boite_dialogue_niveau_0 // Couleur du point
|
||||
opacity: (index + 1) / (repeater.count + 1) // Donne l'opacité variable des points
|
||||
transform: [
|
||||
Translate {
|
||||
y: -(Math.min(item.width, item.height) / 2) + (width / 2) // Permet de positionner le premier point en haut et au centre de la zone
|
||||
},
|
||||
Rotation {
|
||||
angle: (index / repeater.count) * 360 // Tourne de x° en fonction de l'index
|
||||
origin.x: width / 2 // Le centre de rotation est le centre de la zone
|
||||
origin.y: height / 2
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user