| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- // Copyright (C) 2024 The Qt Company Ltd.
- // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
- import QtQuick
- import QtQuick.Controls
- import QtQuick.Layouts
- import QtQuick3D
- import Qt.labs.platform
- Pane {
- id: root
- required property InstanceListEntry instanceEntry
- required property Model targetModel
- ColumnLayout {
- CheckBox {
- id: enableInstCheckBox
- text: qsTr("Enable Instancing")
- onCheckStateChanged: {
- targetModel.enableInstancing = checkState == Qt.Checked
- }
- }
- ColumnLayout {
- visible: targetModel.enableInstancing
- RowLayout {
- Label {
- text: qsTr("Color")
- Layout.fillWidth: true
- }
- Button {
- id: colorButton
- text: qsTr("Instancing Color")
- Layout.fillWidth: true
- background: Rectangle {
- radius: 10
- color: root.instanceEntry.color
- }
- onClicked: {
- colorDialog.open()
- }
- }
- ColorDialog {
- id: colorDialog
- currentColor: root.instanceEntry.color
- onAccepted: root.instanceEntry.color = color
- }
- }
- RowLayout {
- Label {
- text: qsTr("CustomData.x")
- Layout.fillWidth: true
- }
- TextField {
- id: customXInput
- Layout.fillWidth: true
- validator: DoubleValidator { locale: "C" }
- onEditingFinished: {
- if (acceptableInput)
- root.instanceEntry.customData.x = parseFloat(text)
- }
- }
- }
- RowLayout {
- Label {
- text: qsTr("CustomData.y")
- Layout.fillWidth: true
- }
- TextField {
- id: customYInput
- Layout.fillWidth: true
- validator: DoubleValidator { locale: "C" }
- onEditingFinished: {
- if (acceptableInput)
- root.instanceEntry.customData.y = parseFloat(text)
- }
- }
- }
- RowLayout {
- Label {
- text: qsTr("CustomData.z")
- Layout.fillWidth: true
- }
- TextField {
- id: customZInput
- Layout.fillWidth: true
- validator: DoubleValidator { locale: "C" }
- onEditingFinished: {
- if (acceptableInput)
- root.instanceEntry.customData.z = parseFloat(text)
- }
- }
- }
- RowLayout {
- Label {
- text: qsTr("CustomData.w")
- Layout.fillWidth: true
- }
- TextField {
- id: customWInput
- Layout.fillWidth: true
- validator: DoubleValidator { locale: "C" }
- onEditingFinished: {
- if (acceptableInput)
- root.instanceEntry.customData.w = parseFloat(text)
- }
- }
- }
- }
- }
- }
|