Warning, /plasma/libksysguard/faces/facepackages/piechart/contents/ui/PieChart.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2019 Marco Martin <mart@kde.org>
0003     SPDX-FileCopyrightText: 2019 David Edmundson <davidedmundson@kde.org>
0004     SPDX-FileCopyrightText: 2019 Arjen Hiemstra <ahiemstra@heimr.nl>
0005     SPDX-FileCopyrightText: 2019 Kai Uwe Broulik <kde@broulik.de>
0006 
0007     SPDX-License-Identifier: LGPL-2.0-or-later
0008 */
0009 
0010 import QtQuick
0011 import QtQuick.Layouts
0012 import org.kde.kirigami as Kirigami
0013 
0014 import org.kde.ksysguard.sensors as Sensors
0015 import org.kde.ksysguard.faces as Faces
0016 
0017 import org.kde.quickcharts as Charts
0018 import org.kde.quickcharts.controls as ChartControls
0019 
0020 
0021 ChartControls.PieChartControl {
0022     id: chart
0023 
0024     property alias headingSensor: sensor.sensorId
0025     property alias sensors: sensorsModel.sensors
0026     property alias sensorsModel: sensorsModel
0027 
0028     property int updateRateLimit
0029 
0030     Layout.minimumHeight: root.formFactor == Faces.SensorFace.Vertical ? width : Kirigami.Units.gridUnit
0031 
0032     leftPadding: 0
0033     rightPadding: 0
0034     topPadding: 0
0035     bottomPadding: 0
0036 
0037     readonly property real rangeFrom: root.controller.faceConfiguration.rangeFrom *
0038                                       root.controller.faceConfiguration.rangeFromMultiplier
0039 
0040     readonly property real rangeTo: root.controller.faceConfiguration.rangeTo *
0041                                     root.controller.faceConfiguration.rangeToMultiplier
0042 
0043     chart.smoothEnds: root.controller.faceConfiguration.smoothEnds
0044     chart.fromAngle: root.controller.faceConfiguration.fromAngle
0045     chart.toAngle: root.controller.faceConfiguration.toAngle
0046 
0047     range {
0048         from: chart.rangeFrom
0049         to: chart.rangeTo
0050         automatic: root.controller.faceConfiguration.rangeAuto
0051     }
0052 
0053     chart.backgroundColor: Qt.rgba(0.0, 0.0, 0.0, 0.2)
0054 
0055     valueSources: Charts.ModelSource {
0056         model: Sensors.SensorDataModel {
0057             id: sensorsModel
0058             sensors: root.controller.highPrioritySensorIds
0059             updateRateLimit: chart.updateRateLimit
0060             sensorLabels: root.controller.sensorLabels
0061         }
0062         roleName: "Value"
0063         indexColumns: true
0064     }
0065     chart.nameSource: Charts.ModelSource {
0066         roleName: "Name";
0067         model: valueSources[0].model;
0068         indexColumns: true
0069     }
0070     chart.shortNameSource: Charts.ModelSource {
0071         roleName: "ShortName";
0072         model: valueSources[0].model;
0073         indexColumns: true
0074     }
0075     chart.colorSource: root.colorSource
0076 
0077     Sensors.Sensor {
0078         id: sensor
0079         sensorId: root.controller.totalSensors.length > 0 ? root.controller.totalSensors[0] : ""
0080         updateRateLimit: chart.updateRateLimit
0081     }
0082 
0083     UsedTotalDisplay {
0084         anchors.fill: parent
0085 
0086         usedSensor: root.controller.totalSensors.length > 0 ? root.controller.totalSensors[0] : ""
0087         totalSensor: root.controller.totalSensors.length > 1 ? root.controller.totalSensors[1] : ""
0088 
0089         contentMargin: chart.chart.thickness
0090         updateRateLimit: chart.updateRateLimit
0091     }
0092 }
0093