QmlDesigner: Add property editor sheets for animations

Task-number: QDS-1613
Change-Id: I38bd2274983ec063af625f924f61cfb262e24d1f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Thomas Hartmann
2020-02-13 16:11:36 +01:00
parent 02e62602e7
commit 2f13a2a029
10 changed files with 567 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Section {
id: section
caption: qsTr("Animation")
anchors.left: parent.left
anchors.right: parent.right
property bool showDuration: true
SectionLayout {
Label {
text: qsTr("Running")
tooltip: qsTr("Sets whether the animation should run to completion when it is stopped.")
}
CheckBox {
text: backendValues.running.valueToString
backendValue: backendValues.running
}
Label {
text: qsTr("Paused")
tooltip: qsTr("Sets whether the animation is currently paused.")
}
CheckBox {
text: backendValues.paused.valueToString
backendValue: backendValues.paused
}
Label {
text: qsTr("Loops")
tooltip: qsTr("Sets the number of times the animation should play.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
minimumValue: -1
backendValue: backendValues.loops
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
}
}
Label {
visible: section.showDuration
text: qsTr("Duration")
tooltip: qsTr("Sets the duration of the animation, in milliseconds.")
}
SecondColumnLayout {
visible: section.showDuration
SpinBox {
maximumValue: 9999999
minimumValue: -9999999
backendValue: backendValues.duration
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Always Run To End")
tooltip: qsTr("Sets whether the animation should run to completion when it is stopped.")
}
CheckBox {
text: backendValues.alwaysRunToEnd.valueToString
backendValue: backendValues.alwaysRunToEnd
}
}
}

View File

@@ -0,0 +1,70 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Section {
id: section
caption: qsTr("Animation Targets")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Target")
tooltip: qsTr("Sets the target to animate the properties of.")
}
SecondColumnLayout {
ItemFilterComboBox {
typeFilter: "QtQuick.QtObject"
validator: RegExpValidator { regExp: /(^$|^[a-z_]\w*)/ }
backendValue: backendValues.target
Layout.fillWidth: true
}
ExpandingSpacer {
}
}
Label {
text: qsTr("Property")
tooltip: qsTr("Sets the property to animate.")
}
LineEdit {
backendValue: backendValues.property
Layout.fillWidth: true
}
Label {
text: qsTr("Properties")
tooltip: qsTr("Sets the properties to animate.")
}
LineEdit {
backendValue: backendValues.properties
Layout.fillWidth: true
}
}
}

View File

@@ -0,0 +1,62 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("To Color")
ColorEditor {
backendValue: backendValues.to
supportGradient: false
}
}
Section {
anchors.left: parent.left
anchors.right: parent.right
caption: qsTr("From Color")
ColorEditor {
backendValue: backendValues.from
supportGradient: false
}
}
AnimationTargetSection {
}
AnimationSection {
}
}

View File

@@ -0,0 +1,84 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
caption: qsTr("Number Animation")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("From")
tooltip: qsTr("Sets the starting value for the animation.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
minimumValue: -1
backendValue: backendValues.from
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
}
}
Label {
text: qsTr("To")
tooltip: qsTr("Sets the end value for the animation.")
}
SecondColumnLayout {
SpinBox {
maximumValue: 9999999
minimumValue: -1
backendValue: backendValues.to
Layout.fillWidth: true
Layout.maximumWidth: 100
}
ExpandingSpacer {
}
}
}
}
AnimationTargetSection {
}
AnimationSection {
}
}

View File

@@ -0,0 +1,37 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationSection {
showDuration: false
}
}

View File

@@ -0,0 +1,36 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationSection {
}
}

View File

@@ -0,0 +1,60 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
Section {
id: section
caption: qsTr("Property Action")
anchors.left: parent.left
anchors.right: parent.right
SectionLayout {
Label {
text: qsTr("Value")
tooltip: qsTr("Sets the value of the property.")
}
LineEdit {
backendValue: backendValues.value
Layout.fillWidth: true
}
}
}
AnimationTargetSection {
}
AnimationSection {
showDuration: false
}
}

View File

@@ -0,0 +1,40 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationTargetSection {
}
AnimationSection {
}
}

View File

@@ -0,0 +1,37 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationSection {
showDuration: false
}
}

View File

@@ -0,0 +1,37 @@
/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
import HelperWidgets 2.0
import QtQuick 2.1
import QtQuick.Layouts 1.1
Column {
anchors.left: parent.left
anchors.right: parent.right
AnimationSection {
showDuration: false
}
}