Import initial du projet shipheart_cm5
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
//-----------------------------------------------------------------------------------------------------
|
||||
// Fichier définissant un bouton de type Capteur sur la page d'accueil
|
||||
// A priori, appelé depuis "home.qml"
|
||||
//-----------------------------------------------------------------------------------------------------
|
||||
import QtQuick 2.12
|
||||
|
||||
|
||||
//=======================================================
|
||||
// Ensemble du bouton
|
||||
//=======================================================
|
||||
Rectangle {
|
||||
id: bouton_capteur
|
||||
|
||||
readonly property int largeur_bouton: capteurs_grid.cellWidth - espace_colonnes_secondaires;
|
||||
readonly property int hauteur_bouton: capteurs_grid.cellHeight - espace_lignes_secondaires;
|
||||
readonly property int rayon_bouton: 5
|
||||
|
||||
width: largeur_bouton
|
||||
height: hauteur_bouton
|
||||
radius: rayon_bouton
|
||||
color: "transparent" // On ne peut pas mettre l'opacité sur celui-ci, sinon tous ses enfants sont aussi semi-transparents...
|
||||
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Fond de bouton :
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: shipheart_couleur_fond_bouton
|
||||
radius: rayon_bouton
|
||||
border.color: couleur_rouge
|
||||
border.width: (model.Etat_systeme === 0) ? 0 : 3
|
||||
|
||||
//-------------------------
|
||||
// Triangle orange d'alerte :
|
||||
Image {
|
||||
source: "/images/coin_bas_droite_orange.png"
|
||||
sourceSize.height: 20
|
||||
anchors {
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
}
|
||||
visible: (model.Etat_systeme === 0) && // SDIR #285
|
||||
((model.Etat_capteur === shipheart_capteur_etat_alerte) ||
|
||||
(model.Etat > 0) || // Nb alertes d'Events > 0
|
||||
(model.Obsolete) )
|
||||
}
|
||||
|
||||
//-------------------------
|
||||
// Triangle rouge d'alarme :
|
||||
Image {
|
||||
source: "/images/coin_bas_droite_rouge.png"
|
||||
sourceSize.height: 20
|
||||
anchors {
|
||||
bottom: parent.bottom
|
||||
right: parent.right
|
||||
}
|
||||
visible: (model.Etat_systeme === 0) && // SDIR #285
|
||||
(model.Etat_capteur === shipheart_capteur_etat_alarme)
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Nom du capteur :
|
||||
Rectangle {
|
||||
id: nom_capteur
|
||||
width: parent.width
|
||||
height: parent.height * 0.25;
|
||||
color: "transparent"
|
||||
|
||||
Text {
|
||||
|
||||
text: model.Nom
|
||||
anchors.fill: parent
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
leftPadding: 10
|
||||
font.pixelSize: 15
|
||||
font.weight: Font.Bold
|
||||
color: couleur_blanc_casse
|
||||
elide: Text.ElideRight // Pas de wrap car on ne peut afficher qu'une seule ligne quoi qu'il arrive...
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Valeur si aucune unité :
|
||||
Rectangle {
|
||||
id: valeur_capteur_sans_unite
|
||||
anchors.top: nom_capteur.bottom
|
||||
width: parent.width
|
||||
height: parent.height - nom_capteur.height
|
||||
color: "transparent"
|
||||
visible: (model.Etat_systeme === 0) && (model.Unite === "")
|
||||
|
||||
Text {
|
||||
anchors.fill: parent
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
padding: 10
|
||||
text: model.Valeur
|
||||
font.family: "Montserrat"
|
||||
fontSizeMode: Text.HorizontalFit;
|
||||
minimumPixelSize: 20;
|
||||
font.pixelSize: 50
|
||||
elide: Text.ElideRight
|
||||
wrapMode: Text.Wrap
|
||||
font.weight: Font.Bold
|
||||
// color: (model.Etat === 0) ? couleur_blanc_casse : couleur_rouge
|
||||
color: couleur_blanc_casse
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Valeur si unité :
|
||||
Rectangle {
|
||||
id: valeur_capteur_avec_unite
|
||||
anchors.top: nom_capteur.bottom
|
||||
width: parent.width
|
||||
height: parent.height - nom_capteur.height
|
||||
color: "transparent"
|
||||
visible: (model.Etat_systeme === 0) && (model.Unite !== "")
|
||||
|
||||
Text {
|
||||
id: valeur_actuelle
|
||||
anchors {
|
||||
verticalCenter: parent.verticalCenter
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
horizontalCenterOffset: -20
|
||||
}
|
||||
text: model.Valeur
|
||||
font.family: "Montserrat"
|
||||
font.pixelSize: 50
|
||||
font.weight: Font.Bold
|
||||
// color: (model.Etat === 0) ? couleur_blanc_casse : couleur_rouge
|
||||
color: couleur_blanc_casse
|
||||
}
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Unite :
|
||||
Text {
|
||||
anchors {
|
||||
baseline: valeur_actuelle.baseline
|
||||
left: valeur_actuelle.right
|
||||
leftMargin: 10
|
||||
}
|
||||
text: model.Unite
|
||||
font.pixelSize: 15
|
||||
color: couleur_gris_pale
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------
|
||||
// Zone de clic :
|
||||
MouseArea { // Zone d'interaction Paramètres du reservoir
|
||||
id: mouse_area_zone_parametres
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
shipheart_clic();
|
||||
stackView.push("capteur.qml", {"id_capteur": model.Cle_primaire})
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user