diff options
Diffstat (limited to 'GUIModel/Meter/Meter.qml')
-rw-r--r-- | GUIModel/Meter/Meter.qml | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/GUIModel/Meter/Meter.qml b/GUIModel/Meter/Meter.qml new file mode 100644 index 0000000..b1a4a78 --- /dev/null +++ b/GUIModel/Meter/Meter.qml @@ -0,0 +1,169 @@ +/* + * Copyright (c) 2020,2021 Panasonic Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +import QtQuick 2.14 +import QtGraphicalEffects 1.14 + +Item { + id: meter + property real speedValue: 0 + property real tachoValue: 0 + property real chargeValue:100 + + onSpeedValueChanged: { + speedGuage.speedValue = speedValue + speedNeedle.speedValue = speedValue + digitalSpeed.speedValue = speedValue + } + + onTachoValueChanged: { + tachometer.tachoValue = tachoValue + } + onChargeValueChanged: { + chargeGuage.chargeValue = chargeValue + } + + + Item { + id: meterParts + property var easing: Easing.InOutQuad + Component.onCompleted: { + testAnim.start() + } + + Connections{ + target: rootItem + onTransNormalToAdas:{ + / *nop */ + } + + onTransAdasToMap:{ + / *nop */ + } + + onTransMapToNormal:{ + / *nop */ + } + } + + Sideline { + id: sideline + } + + Ring { + id: ring + } + + ChargeGuage { + id: chargeGuage + } + + SpeedGuage { + id: speedGuage + } + + SpeedNeedle { + id: speedNeedle + } + + Tachometer { + id: tachometer + } + + Ready { + id: ready + } + + Mask { + id: mask + } + + DigitalSpeed { + id: digitalSpeed + } + + ParallelAnimation{ + id: testAnim + SequentialAnimation{ + id: testAnimSpeed + loops: Animation.Infinite + NumberAnimation { + target: meter + property: "speedValue" + duration: 1000 + easing.type: Easing.InOutQuad + to: 300 + } + NumberAnimation{ + duration: 5000 + } + + NumberAnimation { + target: meter + property: "speedValue" + duration: 5000 + easing.type: Easing.InOutQuad + to: 0 + } + } + + SequentialAnimation{ + id: testAnimTacho + loops: Animation.Infinite + NumberAnimation { + target: meter + property: "tachoValue" + duration: 500 + easing.type: Easing.InOutQuad + to: 8000 + } + NumberAnimation { + target: meter + property: "tachoValue" + duration: 2500 + easing.type: Easing.InOutQuad + to: 0 + } + } + SequentialAnimation{ + id: testAnimCharge + loops: Animation.Infinite + NumberAnimation { + target: meter + property: "chargeValue" + duration: 10000 + easing.type: Easing.Linear + to: 0 + } + NumberAnimation { + target: meter + property: "chargeValue" + duration: 10000 + easing.type: Easing.Linear + to: 100 + } + } + } + } +} + + |