aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick3d/designer/ResourceLoaderSection.qml
blob: 4c0a7658d21c1679801c020e8ad4829503ecf697 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick 2.15
import QtQuick.Layouts 1.15
import HelperWidgets 2.0
import StudioTheme 1.0 as StudioTheme

Section {
    caption: qsTr("Resource Loader")
    width: parent.width

    SectionLayout {
        PropertyLabel {
            text: qsTr("Geometries")
            Layout.alignment: Qt.AlignTop
            Layout.topMargin: 5
            tooltip: qsTr("A list of custom geometries to be loaded and cached.")
        }

        SecondColumnLayout {
            EditableListView {
                backendValue: backendValues.geometries
                model: backendValues.geometries.expressionAsList
                Layout.fillWidth: true
                typeFilter: "QtQuick3D.Geometry"

                onAdd: function(value) { backendValues.geometries.idListAdd(value) }
                onRemove: function(idx) { backendValues.geometries.idListRemove(idx) }
                onReplace: function (idx, value) { backendValues.geometries.idListReplace(idx, value) }
            }

            ExpandingSpacer {}
        }

        PropertyLabel {
            text: qsTr("Mesh Sources")
            Layout.alignment: Qt.AlignTop
            Layout.topMargin: 5
            tooltip: qsTr("A list of mesh assets to be loaded and cached.")
        }

        SecondColumnLayout {

            ActionIndicator {
                    icon.color: extFuncLogic.color
                    icon.text: extFuncLogic.glyph
                    onClicked: extFuncLogic.show()
                    forceVisible: extFuncLogic.menuVisible
                ExtendedFunctionLogic {
                    id: extFuncLogic
                    backendValue: backendValues.meshSources
                }
            }

            // Placeholder until we can do list of value types: QDS-9090
            Label {
                text: qsTr("Currently only editable in QML.")
                Layout.fillWidth: true
                Layout.preferredWidth: StudioTheme.Values.singleControlColumnWidth
                Layout.minimumWidth: StudioTheme.Values.singleControlColumnWidth
                Layout.maximumWidth: StudioTheme.Values.singleControlColumnWidth
            }

            ExpandingSpacer {}
        }

        PropertyLabel {
            text: qsTr("Textures")
            Layout.alignment: Qt.AlignTop
            Layout.topMargin: 5
            tooltip: qsTr("A list of textures to be loaded and cached.")
        }

        SecondColumnLayout {
            EditableListView {
                backendValue: backendValues.textures
                model: backendValues.textures.expressionAsList
                Layout.fillWidth: true
                typeFilter: "QtQuick3D.Texture"

                onAdd: function(value) { backendValues.textures.idListAdd(value) }
                onRemove: function(idx) { backendValues.textures.idListRemove(idx) }
                onReplace: function (idx, value) { backendValues.textures.idListReplace(idx, value) }
            }

            ExpandingSpacer {}
        }
    }
}