Warning, /frameworks/kquickcharts/examples/charts/Legend.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2020 Arjen Hiemstra <ahiemstra@heimr.nl> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 import QtQuick 0008 import QtQuick.Controls 0009 import QtQuick.Layouts 0010 0011 import org.kde.kirigami as Kirigami 0012 import org.kde.kquickcontrols 0013 0014 import org.kde.quickcharts as Charts 0015 import org.kde.quickcharts.controls as ChartsControls 0016 0017 Kirigami.Page { 0018 title: "Legend" 0019 0020 ListModel { 0021 id: lineModel; 0022 dynamicRoles: true; 0023 0024 Component.onCompleted: { 0025 append({value1: 10, value2: 9, value3: 3}) 0026 append({value1: 10, value2: 5, value3: 17}) 0027 append({value1: 10, value2: 16, value3: 8}) 0028 append({value1: 10, value2: 12, value3: 11}) 0029 append({value1: 10, value2: 8, value3: 11}) 0030 } 0031 } 0032 0033 ColumnLayout { 0034 anchors.fill: parent 0035 anchors.margins: Kirigami.Units.largeSpacing 0036 spacing: Kirigami.Units.largeSpacing 0037 0038 Kirigami.AbstractCard { 0039 Layout.fillHeight: false 0040 Layout.fillWidth: true 0041 Layout.preferredHeight: 400 0042 Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter 0043 0044 contentItem: Item { 0045 Charts.PieChart { 0046 id: chart 0047 anchors { 0048 left: parent.left 0049 right: parent.right 0050 top: parent.top 0051 bottom: legend.top 0052 bottomMargin: Kirigami.Units.largeSpacing 0053 } 0054 0055 valueSources: [ 0056 Charts.ModelSource { roleName: "value1"; model: lineModel }, 0057 Charts.ModelSource { roleName: "value2"; model: lineModel }, 0058 Charts.ModelSource { roleName: "value3"; model: lineModel } 0059 ] 0060 0061 colorSource: Charts.ColorGradientSource { 0062 baseColor: Kirigami.Theme.highlightColor 0063 itemCount: lineModel.count * 3 0064 } 0065 nameSource: Charts.ArraySource { 0066 array: ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"] 0067 wrap: true 0068 } 0069 shortNameSource: Charts.ArraySource { 0070 array: ["I1", "I2", "I3", "I4", "I5"] 0071 wrap: true 0072 } 0073 0074 indexingMode: Charts.Chart.IndexAllValues 0075 } 0076 0077 ChartsControls.Legend { 0078 id: legend 0079 0080 anchors { 0081 left: parent.left 0082 right: parent.right 0083 bottom: parent.bottom 0084 } 0085 height: Math.min(implicitHeight, parent.height * 0.3); 0086 0087 chart: chart 0088 } 0089 } 0090 } 0091 } 0092 }