diff options
Diffstat (limited to 'tests/manual/rectangle/corners.qml')
-rw-r--r-- | tests/manual/rectangle/corners.qml | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/tests/manual/rectangle/corners.qml b/tests/manual/rectangle/corners.qml new file mode 100644 index 0000000000..87dbbefcaf --- /dev/null +++ b/tests/manual/rectangle/corners.qml @@ -0,0 +1,221 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick +import QtQuick.Controls +import QtQuick.Dialogs +import QtQuick.Layouts + +Item { + id: root + width: 600 + height: 400 + + component ResettablePropertySlider: RowLayout { + property alias setCheckBox: checkBox + property alias valueSlider: slider + + CheckBox { + id: checkBox + text: "Set" + } + Slider { + id: slider + from: 0 + value: 25 + to: 200 + enabled: checkBox.checked + + Layout.fillWidth: true + } + } + + RowLayout { + anchors.fill: parent + + GridLayout { + columns: 2 + rowSpacing: 10 + + Label { + text: "radius" + } + Slider { + id: radiusSlider + from: 0 + value: 25 + to: 200 + } + + Label { + text: "topLeftRadius" + } + ResettablePropertySlider { + id: topLeftRadiusSlider + } + + Label { + text: "topRightRadius" + } + ResettablePropertySlider { + id: topRightRadiusSlider + } + + Label { + text: "bottomLeftRadius" + } + ResettablePropertySlider { + id: bottomLeftRadiusSlider + } + + Label { + text: "bottomRightRadius" + } + ResettablePropertySlider { + id: bottomRightRadiusSlider + } + + Label { + text: "border.width" + } + Slider { + id: borderWidthSlider + from: 0 + value: 15 + to: 100 + + Layout.fillWidth: true + } + + Label { + text: "border alpha" + } + Slider { + id: borderAlphaSlider + from: 0 + value: 1 + to: 1 + + Layout.fillWidth: true + } + + Label { + text: "opacity" + } + Slider { + id: opacitySlider + from: 0 + value: 1 + to: 1 + + Layout.fillWidth: true + } + + Label { + text: "gradient" + } + ComboBox { + id: gradientComboBox + model: ListModel { + id: model + ListElement { text: "NoGradient" } + ListElement { text: "LowFreq" } + ListElement { text: "HighFreq" } + } + + Layout.fillWidth: true + + readonly property var gradients: [undefined, lowFGrad, highFGrad] + + property var lowFGrad: Gradient { + orientation: Qt.Horizontal + GradientStop { position: 0.0; color: "green" } + GradientStop { position: 0.33; color: "blue" } + GradientStop { position: 0.66; color: "red" } + GradientStop { position: 1.0; color: "yellow" } + } + + property var highFGrad: Gradient { + orientation: Qt.Horizontal + GradientStop { position: 0.00; color: "yellow" } + GradientStop { position: 0.05; color: "red" } + GradientStop { position: 0.10; color: "yellow" } + GradientStop { position: 0.15; color: "red" } + GradientStop { position: 0.20; color: "yellow" } + GradientStop { position: 0.25; color: "red" } + GradientStop { position: 0.30; color: "yellow" } + GradientStop { position: 0.35; color: "red" } + GradientStop { position: 0.40; color: "yellow" } + GradientStop { position: 0.45; color: "red" } + GradientStop { position: 0.50; color: "yellow" } + GradientStop { position: 0.55; color: "red" } + GradientStop { position: 0.60; color: "yellow" } + GradientStop { position: 0.65; color: "red" } + GradientStop { position: 0.70; color: "yellow" } + GradientStop { position: 0.75; color: "red" } + GradientStop { position: 0.80; color: "yellow" } + GradientStop { position: 0.85; color: "red" } + GradientStop { position: 0.90; color: "yellow" } + GradientStop { position: 0.95; color: "red" } + GradientStop { position: 1.00; color: "yellow" } + } + } + + Label { + text: "rotation" + } + Slider { + id: rotationSlider + from: 0 + value: 0 + to: 10 + + Layout.fillWidth: true + } + } + + Rectangle { + id: rect1 + color: colorDialog.selectedColor + border.color: borderColorDialog.alphaAdjusted + border.width: borderWidthSlider.value + radius: radiusSlider.value + topLeftRadius: topLeftRadiusSlider.setCheckBox.checked ? topLeftRadiusSlider.valueSlider.value : undefined + topRightRadius: topRightRadiusSlider.setCheckBox.checked ? topRightRadiusSlider.valueSlider.value : undefined + bottomLeftRadius: bottomLeftRadiusSlider.setCheckBox.checked ? bottomLeftRadiusSlider.valueSlider.value : undefined + bottomRightRadius: bottomRightRadiusSlider.setCheckBox.checked ? bottomRightRadiusSlider.valueSlider.value : undefined + antialiasing: true + opacity: opacitySlider.value + rotation: rotationSlider.value + gradient: gradientComboBox.gradients[gradientComboBox.currentIndex] + + Layout.preferredWidth: root.width / 2 + Layout.fillWidth: true + Layout.fillHeight: true + Layout.margins: 32 + + TapHandler { + onTapped: colorDialog.open() + } + + TapHandler { + acceptedButtons: Qt.RightButton + onTapped: borderColorDialog.open() + } + } + + ColorDialog { + id: colorDialog + selectedColor: "khaki" + } + + ColorDialog { + id: borderColorDialog + selectedColor: "sienna" + property color alphaAdjusted: Qt.rgba(selectedColor.r, + selectedColor.g, + selectedColor.b, + borderAlphaSlider.value) + } + } +} |