From 2f13a2a029cfdcfc7df0df10d24bcb2271f91f07 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 13 Feb 2020 16:11:36 +0100 Subject: QmlDesigner: Add property editor sheets for animations Task-number: QDS-1613 Change-Id: I38bd2274983ec063af625f924f61cfb262e24d1f Reviewed-by: Leena Miettinen Reviewed-by: Tim Jenssen --- .../QtQuick/AnimationSection.qml | 104 +++++++++++++++++++++ .../QtQuick/AnimationTargetSection.qml | 70 ++++++++++++++ .../QtQuick/ColorAnimationSpecifics.qml | 62 ++++++++++++ .../QtQuick/NumberAnimationSpecifics.qml | 84 +++++++++++++++++ .../QtQuick/ParallelAnimationSpecifics.qml | 37 ++++++++ .../QtQuick/PauseAnimationSpecifics.qml | 36 +++++++ .../QtQuick/PropertyActionSpecifics.qml | 60 ++++++++++++ .../QtQuick/PropertyAnimationSpecifics.qml | 40 ++++++++ .../QtQuick/ScriptActionSpecifics.qml | 37 ++++++++ .../QtQuick/SequentialAnimationSpecifics.qml | 37 ++++++++ 10 files changed, 567 insertions(+) create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationSection.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationTargetSection.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColorAnimationSpecifics.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/NumberAnimationSpecifics.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ParallelAnimationSpecifics.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PauseAnimationSpecifics.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyActionSpecifics.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyAnimationSpecifics.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ScriptActionSpecifics.qml create mode 100644 share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/SequentialAnimationSpecifics.qml diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationSection.qml new file mode 100644 index 0000000000..23c801eca3 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationSection.qml @@ -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 + } + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationTargetSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationTargetSection.qml new file mode 100644 index 0000000000..e614a6563b --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/AnimationTargetSection.qml @@ -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 + } + + } +} diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColorAnimationSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColorAnimationSpecifics.qml new file mode 100644 index 0000000000..26a38d4211 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ColorAnimationSpecifics.qml @@ -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 { + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/NumberAnimationSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/NumberAnimationSpecifics.qml new file mode 100644 index 0000000000..19f159526b --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/NumberAnimationSpecifics.qml @@ -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 { + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ParallelAnimationSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ParallelAnimationSpecifics.qml new file mode 100644 index 0000000000..f78de15475 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ParallelAnimationSpecifics.qml @@ -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 + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PauseAnimationSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PauseAnimationSpecifics.qml new file mode 100644 index 0000000000..dd826dfb34 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PauseAnimationSpecifics.qml @@ -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 { + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyActionSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyActionSpecifics.qml new file mode 100644 index 0000000000..7d64f22612 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyActionSpecifics.qml @@ -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 + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyAnimationSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyAnimationSpecifics.qml new file mode 100644 index 0000000000..271f6bae67 --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/PropertyAnimationSpecifics.qml @@ -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 { + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ScriptActionSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ScriptActionSpecifics.qml new file mode 100644 index 0000000000..848364901a --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/ScriptActionSpecifics.qml @@ -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 + } +} + diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/SequentialAnimationSpecifics.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/SequentialAnimationSpecifics.qml new file mode 100644 index 0000000000..848364901a --- /dev/null +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/QtQuick/SequentialAnimationSpecifics.qml @@ -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 + } +} + -- cgit v1.2.1