137 lines
4.3 KiB
QML
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 {}
|
|
}
|
|
}
|
|
}
|