First upload, 18 controller version

This commit is contained in:
2026-04-14 15:23:56 +02:00
commit 8c55001a1c
3810 changed files with 764061 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,269 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import HelperWidgets
import QtQuick.Layouts
import StudioTheme 1.0 as StudioTheme
import QtQuick.Controls as Controls
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Bars")
SectionLayout {
PropertyLabel {
text: qsTr("Uniform Scaling")
tooltip: qsTr("Proportionally scale multiple series")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.multiSeriesUniform
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Thickness")
tooltip: qsTr("Thickness ratio between X and Z dimension")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.barThickness
minimumValue: 0.01
maximumValue: 100.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Spacing")
tooltip: qsTr("Bar spacing in the X and Z dimensions")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.barSpacing_width
minimumValue: 0.0
maximumValue: 10.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
ControlLabel {
text: qsTr("col")
width: StudioTheme.Values.actionIndicatorWidth
}
SpinBox {
backendValue: backendValues.barSpacing_height
minimumValue: 0.0
maximumValue: 10.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
ControlLabel {
text: qsTr("row")
width: StudioTheme.Values.actionIndicatorWidth
}
}
PropertyLabel {
text: qsTr("Relative Spacing")
tooltip: qsTr("Set bar spacing relative to thickness")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.barSpacingRelative
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Series Margin")
tooltip: qsTr("Margin between series columns in X and Z dimensions")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.barSeriesMargin_width
minimumValue: 0.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
ControlLabel {
text: qsTr("col")
width: StudioTheme.Values.actionIndicatorWidth
}
SpinBox {
backendValue: backendValues.barSeriesMargin_height
minimumValue: 0.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
ControlLabel {
text: qsTr("row")
width: StudioTheme.Values.actionIndicatorWidth
}
}
PropertyLabel {
text: qsTr("Floor Level")
tooltip: qsTr("Floor level in Y-axis data coordinates")
Layout.fillWidth: true
}
SecondColumnLayout {
LineEdit {
backendValue: backendValues.floorLevel
inputMethodHints: Qt.ImhFormattedNumbersOnly
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Selection Mode")
tooltip: qsTr("Bar selection mode")
Layout.fillWidth: true
}
SecondColumnLayout {
id: selectionLayout
property bool isInModel: backendValue.isInModel;
property bool isInSubState: backendValue.isInSubState;
property bool selectionChangedFlag: selectionChanged
property variant backendValue: backendValues.selectionMode
property variant valueFromBackend: backendValue.value
property string enumScope: "Graphs3D.SelectionFlag"
property string enumSeparator: " | "
property int checkedCount: 0
property bool item: false
property bool row: false
property bool column: false
property bool slice: false
property bool multi: false
function checkValue(checkedVariable, variableText, expressionBase) {
var expressionStr = expressionBase
if (checkedVariable) {
if (expressionStr !== "") {
expressionStr += enumSeparator
}
expressionStr += enumScope
expressionStr += "."
expressionStr += variableText
checkedCount++
}
return expressionStr
}
function composeSelectionMode() {
var expressionStr = ""
checkedCount = 0
expressionStr = checkValue(item, "Item", expressionStr)
expressionStr = checkValue(row, "Row", expressionStr)
expressionStr = checkValue(column, "Column", expressionStr)
expressionStr = checkValue(slice, "Slice", expressionStr)
expressionStr = checkValue(multi, "MultiSeries", expressionStr)
if (checkedCount === 0)
backendValue.expression = enumScope + ".None"
else
backendValue.expression = expressionStr
}
function evaluate() {
if (backendValue.value === undefined)
return
item = (backendValue.expression.indexOf("Item") !== -1)
row = (backendValue.expression.indexOf("Row") !== -1)
column = (backendValue.expression.indexOf("Column") !== -1)
slice = (backendValue.expression.indexOf("Slice") !== -1)
multi = (backendValue.expression.indexOf("MultiSeries") !== -1)
itemBox.checked = item
rowBox.checked = row
columnBox.checked = column
sliceBox.checked = slice
multiSeriesBox.checked = multi
}
onSelectionChangedFlagChanged: evaluate()
onIsInModelChanged: evaluate()
onIsInSubStateChanged: evaluate()
onBackendValueChanged: evaluate()
onValueFromBackendChanged: evaluate()
ColumnLayout {
anchors.fill: parent
Controls.CheckBox {
id: itemBox
text: "Item"
Layout.fillWidth: true
onClicked: {
selectionLayout.item = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: rowBox
text: "Row"
Layout.fillWidth: true
onClicked: {
selectionLayout.row = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: columnBox
text: "Column"
Layout.fillWidth: true
onClicked: {
selectionLayout.column = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: sliceBox
text: "Slice"
Layout.fillWidth: true
onClicked: {
selectionLayout.slice = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: multiSeriesBox
text: "MultiSeries"
Layout.fillWidth: true
onClicked: {
selectionLayout.multi = checked
selectionLayout.composeSelectionMode()
}
}
}
}
}
}
GraphsSection {}
GraphsCameraSection {}
}

View File

@@ -0,0 +1,183 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import HelperWidgets
import QtQuick.Layouts
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Camera")
SectionLayout {
PropertyLabel {
text: qsTr("Preset")
tooltip: qsTr("Camera preset")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.cameraPreset
model: ["NoPreset", "FrontLow", "Front", "FrontHigh", "LeftLow",
"Left", "LeftHigh", "RightLow", "Right", "RightHigh", "BehindLow",
"Behind", "BehindHigh", "IsometricLeft", "IsometricLeftHigh",
"IsometricRight", "IsometricRightHigh", "DirectlyAbove",
"DirectlyAboveCW45", "DirectlyAboveCCW45", "FrontBelow",
"LeftBelow", "RightBelow", "BehindBelow", "DirectlyBelow"]
Layout.fillWidth: true
scope: "Graphs3D"
}
}
PropertyLabel {
text: qsTr("Target")
tooltip: qsTr("Camera target position")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.cameraTargetPosition_x
minimumValue: -1.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
ControlLabel {
text: "X"
}
SpinBox {
backendValue: backendValues.cameraTargetPosition_y
minimumValue: -1.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
ControlLabel {
text:"Y"
}
SpinBox {
backendValue: backendValues.cameraTargetPosition_z
minimumValue: -1.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
ControlLabel {
text: "Z"
}
}
PropertyLabel {
text: qsTr("Zoom")
tooltip: qsTr("Camera zoom level")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.cameraZoomLevel
minimumValue: backendValues.minCameraZoomLevel
maximumValue: backendValues.maxCameraZoomLevel
stepSize: 1
decimals: 0
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Min Zoom")
tooltip: qsTr("Camera minimum zoom")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.minCameraZoomLevel
minimumValue: 0
maximumValue: backendValues.maxCameraZoomLevel
stepSize: 1
decimals: 0
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Max Zoom")
tooltip: qsTr("Camera maximum zoom")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.maxCameraZoomLevel
minimumValue: backendValues.minCameraZoomLevel
maximumValue: 500
stepSize: 1
decimals: 0
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("X Rotation")
tooltip: qsTr("Camera X rotation")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.cameraXRotation
minimumValue: -180
maximumValue: 180
stepSize: 1
decimals: 0
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Wrap X")
tooltip: qsTr("Wrap camera X rotation")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.wrapCameraXRotation
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Y Rotation")
tooltip: qsTr("Camera Y rotation")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.cameraYRotation
minimumValue: 0
maximumValue: 90
stepSize: 1
decimals: 0
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Wrap Y")
tooltip: qsTr("Wrap camera Y rotation")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.wrapCameraYRotation
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Orthographic")
tooltip: qsTr("Use orthographic camera")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.orthoProjection
Layout.fillWidth: true
}
}
}
}

View File

@@ -0,0 +1,125 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import HelperWidgets
import QtQuick.Layouts
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Graph")
SectionLayout {
PropertyLabel {
text: qsTr("Render Mode")
tooltip: qsTr("Rendering mode")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.renderingMode
model: ["Indirect", "DirectToBackground"]
Layout.fillWidth: true
scope: "Graphs3D"
}
}
PropertyLabel {
text: qsTr("Shadow Quality")
tooltip: qsTr("Quality and style of the shadows")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.shadowQuality
model: ["None", "Low", "Medium",
"High", "SoftLow", "SoftMedium",
"SoftHigh"]
Layout.fillWidth: true
scope: "Graphs3D"
}
}
PropertyLabel {
text: qsTr("Optimization")
tooltip: qsTr("Optimization hint")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.optimizationHint
model: ["Default", "Legacy"]
Layout.fillWidth: true
scope: "Graphs3D"
}
}
PropertyLabel {
text: qsTr("MSAA")
tooltip: qsTr("Multisample anti-aliasing sample count")
Layout.fillWidth: true
}
SpinBox {
backendValue: backendValues.msaaSamples
minimumValue: 0
maximumValue: 8
Layout.fillWidth: true
}
PropertyLabel {
text: qsTr("Aspect Ratio")
tooltip: qsTr("Horizontal to vertical aspect ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.aspectRatio
minimumValue: 0.1
maximumValue: 10.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Horizontal AR")
tooltip: qsTr("Horizontal aspect ratio")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.horizontalAspectRatio
minimumValue: 0.1
maximumValue: 10.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Margin")
tooltip: qsTr("Graph background margin")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.margin
minimumValue: -1.0
maximumValue: 100.0
stepSize: 0.1
decimals: 1
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Measure FPS")
tooltip: qsTr("Measure rendering speed as Frames Per Second")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.measureFps
Layout.fillWidth: true
}
}
}
}

View File

@@ -0,0 +1,100 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import HelperWidgets
import QtQuick.Layouts
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Background Color")
ColorEditor {
caption: qsTr("Background Color")
backendValue: backendValues.backgroundColor
supportGradient: false
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Margins")
SectionLayout {
rows: 4
Label {
text: qsTr("Top")
tooltip: qsTr("The amount of empty space on the top of the graph.")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.marginTop
minimumValue: 0.0
maximumValue: 9999.0
stepSize: 1.0
decimals: 1
Layout.fillWidth: true
}
}
Label {
text: qsTr("Bottom")
tooltip: qsTr("The amount of empty space on the bottom of the graph.")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.marginBottom
minimumValue: 0.0
maximumValue: 9999.0
stepSize: 1.0
decimals: 1
Layout.fillWidth: true
}
}
Label {
text: qsTr("Left")
tooltip: qsTr("The amount of empty space on the left of the graph.")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.marginLeft
minimumValue: 0.0
maximumValue: 9999.0
stepSize: 1.0
decimals: 1
Layout.fillWidth: true
}
}
Label {
text: qsTr("Right")
tooltip: qsTr("The amount of empty space on the right of the graph.")
Layout.fillWidth: true
}
SecondColumnLayout {
SpinBox {
backendValue: backendValues.marginRight
minimumValue: 0.0
maximumValue: 9999.0
stepSize: 1.0
decimals: 1
Layout.fillWidth: true
}
}
}
}
}

View File

@@ -0,0 +1,66 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import HelperWidgets
import QtQuick.Layouts
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Scatter")
SectionLayout {
PropertyLabel {
text: qsTr("Polar Coordinates")
tooltip: qsTr("Use polar coordinates")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
id: polarCheckbox
backendValue: backendValues.polar
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Label Offset")
tooltip: qsTr("Normalized horizontal radial label offset")
Layout.fillWidth: true
visible: polarCheckbox.checked
}
SecondColumnLayout {
visible: polarCheckbox.checked
SpinBox {
backendValue: backendValues.radialLabelOffset
minimumValue: 0.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Selection Mode")
tooltip: qsTr("Scatter item selection mode")
Layout.fillWidth: true
}
SecondColumnLayout {
ComboBox {
backendValue: backendValues.selectionMode
model: ["None", "Item"]
Layout.fillWidth: true
scope: "Graphs3D"
}
}
}
}
GraphsSection {}
GraphsCameraSection {}
}

View File

@@ -0,0 +1,192 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import HelperWidgets
import QtQuick.Layouts
import QtQuick.Controls as Controls
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("Surface")
SectionLayout {
PropertyLabel {
text: qsTr("Flip Grid")
tooltip: qsTr("Flip horizontal grid")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
backendValue: backendValues.flipHorizontalGrid
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Polar Coordinates")
tooltip: qsTr("Use polar coordinates")
Layout.fillWidth: true
}
SecondColumnLayout {
CheckBox {
id: polarCheckbox
backendValue: backendValues.polar
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Label Offset")
tooltip: qsTr("Normalized horizontal radial label offset")
Layout.fillWidth: true
visible: polarCheckbox.checked
}
SecondColumnLayout {
visible: polarCheckbox.checked
SpinBox {
backendValue: backendValues.radialLabelOffset
minimumValue: 0.0
maximumValue: 1.0
stepSize: 0.01
decimals: 2
Layout.fillWidth: true
}
}
PropertyLabel {
text: qsTr("Selection Mode")
tooltip: qsTr("Surface point selection mode")
Layout.fillWidth: true
}
SecondColumnLayout {
id: selectionLayout
property bool isInModel: backendValue.isInModel;
property bool isInSubState: backendValue.isInSubState;
property bool selectionChangedFlag: selectionChanged
property variant backendValue: backendValues.selectionMode
property variant valueFromBackend: backendValue.value
property string enumScope: "Graphs3D.SelectionFlag"
property string enumSeparator: " | "
property int checkedCount: 0
property bool item: false
property bool row: false
property bool column: false
property bool slice: false
property bool multi: false
function checkValue(checkedVariable, variableText, expressionBase) {
var expressionStr = expressionBase
if (checkedVariable) {
if (expressionStr !== "") {
expressionStr += enumSeparator
}
expressionStr += enumScope
expressionStr += "."
expressionStr += variableText
checkedCount++
}
return expressionStr
}
function composeSelectionMode() {
var expressionStr = ""
checkedCount = 0
expressionStr = checkValue(item, "Item", expressionStr)
expressionStr = checkValue(row, "Row", expressionStr)
expressionStr = checkValue(column, "Column", expressionStr)
expressionStr = checkValue(slice, "Slice", expressionStr)
expressionStr = checkValue(multi, "MultiSeries", expressionStr)
if (checkedCount === 0)
backendValue.expression = enumScope + ".None"
else
backendValue.expression = expressionStr
}
function evaluate() {
if (backendValue.value === undefined)
return
item = (backendValue.expression.indexOf("Item") !== -1)
row = (backendValue.expression.indexOf("Row") !== -1)
column = (backendValue.expression.indexOf("Column") !== -1)
slice = (backendValue.expression.indexOf("Slice") !== -1)
multi = (backendValue.expression.indexOf("MultiSeries") !== -1)
itemBox.checked = item
rowBox.checked = row
columnBox.checked = column
sliceBox.checked = slice
multiSeriesBox.checked = multi
}
onSelectionChangedFlagChanged: evaluate()
onIsInModelChanged: evaluate()
onIsInSubStateChanged: evaluate()
onBackendValueChanged: evaluate()
onValueFromBackendChanged: evaluate()
ColumnLayout {
anchors.fill: parent
Controls.CheckBox {
id: itemBox
text: "Item"
Layout.fillWidth: true
onClicked: {
selectionLayout.item = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: rowBox
text: "Row"
Layout.fillWidth: true
onClicked: {
selectionLayout.row = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: columnBox
text: "Column"
Layout.fillWidth: true
onClicked: {
selectionLayout.column = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: sliceBox
text: "Slice"
Layout.fillWidth: true
onClicked: {
selectionLayout.slice = checked
selectionLayout.composeSelectionMode()
}
}
Controls.CheckBox {
id: multiSeriesBox
text: "MultiSeries"
Layout.fillWidth: true
onClicked: {
selectionLayout.multi = checked
selectionLayout.composeSelectionMode()
}
}
}
}
}
}
GraphsSection {}
GraphsCameraSection {}
}

View File

@@ -0,0 +1,20 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtGraphs
GraphsView {
width: 300
height: 300
AreaSeries {
name: "AreaSeries"
upperSeries: LineSeries {
XYPoint { x: 0; y: 1.5 }
XYPoint { x: 1; y: 3 }
XYPoint { x: 3; y: 4.3 }
XYPoint { x: 6; y: 1.1 }
}
}
}

View File

@@ -0,0 +1,17 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtGraphs
GraphsView {
width: 300
height: 300
BarSeries {
id: barSeries
BarSet { id: set1; label: "Set1"; values: [2, 2, 3] }
BarSet { id: set2; label: "Set2"; values: [5, 1, 2] }
BarSet { id: set3; label: "Set3"; values: [3, 5, 8] }
}
}

View File

@@ -0,0 +1,23 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import QtGraphs
Bars3D {
width: 300
height: 300
Bar3DSeries {
ItemModelBarDataProxy {
itemModel: ListModel {
ListElement{ row: "row 1"; column: "column 1"; value: "1"; }
ListElement{ row: "row 1"; column: "column 2"; value: "2"; }
ListElement{ row: "row 1"; column: "column 3"; value: "3"; }
}
rowRole: "row"
columnRole: "column"
valueRole: "value"
}
}
}

View File

@@ -0,0 +1,18 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtGraphs
GraphsView {
width: 300
height: 300
LineSeries {
id: lineSeries
XYPoint { x: 0; y: 2 }
XYPoint { x: 1; y: 1.2 }
XYPoint { x: 2; y: 3.3 }
XYPoint { x: 5; y: 2.1 }
}
}

View File

@@ -0,0 +1,17 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtGraphs
GraphsView {
width: 300
height: 300
PieSeries {
id: pieSeries
PieSlice { label: "Slice1"; value: 13.5 }
PieSlice { label: "Slice2"; value: 10.9 }
PieSlice { label: "Slice3"; value: 8.6 }
}
}

View File

@@ -0,0 +1,23 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import QtGraphs
Scatter3D {
width: 300
height: 300
Scatter3DSeries {
ItemModelScatterDataProxy {
itemModel: ListModel {
ListElement{ x: "1"; y: "2"; z: "3"; }
ListElement{ x: "2"; y: "3"; z: "4"; }
ListElement{ x: "3"; y: "4"; z: "1"; }
}
xPosRole: "x"
yPosRole: "y"
zPosRole: "z"
}
}
}

View File

@@ -0,0 +1,18 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtGraphs
GraphsView {
width: 300
height: 300
ScatterSeries {
id: lineSeries
XYPoint { x: 1; y: 1 }
XYPoint { x: 2; y: 4 }
XYPoint { x: 4; y: 2 }
XYPoint { x: 5; y: 5 }
}
}

View File

@@ -0,0 +1,18 @@
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtGraphs
GraphsView {
width: 300
height: 300
SplineSeries {
id: splineSeries
XYPoint { x: 1; y: 1 }
XYPoint { x: 2; y: 4 }
XYPoint { x: 4; y: 2 }
XYPoint { x: 5; y: 5 }
}
}

View File

@@ -0,0 +1,24 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
import QtGraphs
Surface3D {
width: 300
height: 300
Surface3DSeries {
ItemModelSurfaceDataProxy {
itemModel: ListModel {
ListElement{ row: "1"; column: "1"; y: "1"; }
ListElement{ row: "1"; column: "2"; y: "2"; }
ListElement{ row: "2"; column: "1"; y: "3"; }
ListElement{ row: "2"; column: "2"; y: "4"; }
}
rowRole: "row"
columnRole: "column"
yPosRole: "y"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,44 @@
MetaInfo {
Type {
name: "QtGraphs.Bars3D"
icon: "images/bars3d-icon16.png"
ItemLibraryEntry {
name: "Bars3D"
category: "Qt Graphs"
libraryIcon: "images/bars3d-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/Bars3D.qml" }
}
}
Type {
name: "QtGraphs.Scatter3D"
icon: "images/scatter3d-icon16.png"
ItemLibraryEntry {
name: "Scatter3D"
category: "Qt Graphs"
libraryIcon: "images/scatter3d-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/Scatter3D.qml" }
}
}
Type {
name: "QtGraphs.Surface3D"
icon: "images/surface3d-icon16.png"
ItemLibraryEntry {
name: "Surface3D"
category: "Qt Graphs"
libraryIcon: "images/surface3d-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/Surface3D.qml" }
}
}
}

View File

@@ -0,0 +1,86 @@
MetaInfo {
Type {
name: "QtGraphs.GraphsView"
icon: "images/areaseries-icon16.png"
ItemLibraryEntry {
name: "Area"
category: "Qt Graphs - GraphsView"
libraryIcon: "images/areaseries-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/AreaSeries.qml" }
}
}
Type {
name: "QtGraphs.GraphsView"
icon: "images/barseries-icon16.png"
ItemLibraryEntry {
name: "Bar"
category: "Qt Graphs - GraphsView"
libraryIcon: "images/barseries-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/BarSeries.qml" }
}
}
Type {
name: "QtGraphs.GraphsView"
icon: "images/lineseries-icon16.png"
ItemLibraryEntry {
name: "Line"
category: "Qt Graphs - GraphsView"
libraryIcon: "images/lineseries-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/LineSeries.qml" }
}
}
Type {
name: "QtGraphs.GraphsView"
icon: "images/pieseries-icon16.png"
ItemLibraryEntry {
name: "Pie"
category: "Qt Graphs - GraphsView"
libraryIcon: "images/pieseries-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/PieSeries.qml" }
}
}
Type {
name: "QtGraphs.GraphsView"
icon: "images/scatterseries-icon16.png"
ItemLibraryEntry {
name: "Scatter"
category: "Qt Graphs - GraphsView"
libraryIcon: "images/scatterseries-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/ScatterSeries.qml" }
}
}
Type {
name: "QtGraphs.GraphsView"
icon: "images/splineseries-icon16.png"
ItemLibraryEntry {
name: "Spline"
category: "Qt Graphs - GraphsView"
libraryIcon: "images/splineseries-icon.png"
version: "1.0"
requiredImport: "QtGraphs"
QmlSource { source: "default/SplineSeries.qml" }
}
}
}

View File

@@ -0,0 +1,10 @@
module QtGraphs
linktarget Qt6::Graphsplugin
optional plugin graphsplugin
classname QtGraphsPlugin
typeinfo Graphs.qmltypes
depends QtQuick
depends QtQuick3D
prefer :/qt-project.org/imports/QtGraphs/
depends QtQuick