Files
2026-04-29 07:19:21 +03:00

137 lines
4.3 KiB
QML

// Copyright (C) 2021 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("Particle Sprite Sequence")
width: parent.width
SectionLayout {
PropertyLabel {
text: qsTr("Frame Count")
tooltip: qsTr("Sets the amount of image frames in sprite.")
}
SecondColumnLayout {
SpinBox {
minimumValue: 0
maximumValue: 999999
decimals: 0
backendValue: backendValues.frameCount
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Frame Index")
tooltip: qsTr("Sets the initial index of the frame.")
}
SecondColumnLayout {
SpinBox {
minimumValue: 0
maximumValue: 999999
decimals: 0
backendValue: backendValues.frameIndex
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Interpolate")
tooltip: qsTr("Sets if the sprites are interpolated (blended) between frames to make the animation appear smoother.")
}
SecondColumnLayout {
CheckBox {
id: interpolateCheckBox
text: backendValues.interpolate.valueToString
backendValue: backendValues.interpolate
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Duration")
tooltip: qsTr("Sets the duration in milliseconds how long it takes for the sprite sequence to animate.")
}
SecondColumnLayout {
SpinBox {
minimumValue: -1
maximumValue: 999999
decimals: 0
backendValue: backendValues.duration
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Duration Variation")
tooltip: qsTr("Sets the duration variation in milliseconds.")
}
SecondColumnLayout {
SpinBox {
minimumValue: -999999
maximumValue: 999999
decimals: 0
backendValue: backendValues.durationVariation
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Random Start")
tooltip: qsTr("Sets if the animation should start from a random frame between 0 and frameCount - 1.")
}
SecondColumnLayout {
CheckBox {
id: randomStartCheckBox
text: backendValues.randomStart.valueToString
backendValue: backendValues.randomStart
implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
PropertyLabel {
text: qsTr("Animation Direction")
tooltip: qsTr("Sets the animation direction of the sequence.")
}
SecondColumnLayout {
ComboBox {
scope: "SpriteSequence3D"
model: ["Normal", "Reverse", "Alternate", "AlternateReverse", "SingleFrame"]
backendValue: backendValues.animationDirection
implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ StudioTheme.Values.actionIndicatorWidth
}
ExpandingSpacer {}
}
}
}