aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/quickcontrols/testbench/controls/SwipeDelegate.qml
blob: 36d683a8ac0e35a3ca2f5e973eecf0d22199aadf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick
import QtQuick.Controls

QtObject {
    property var supportedStates: [
        [],
        ["disabled"],
        ["pressed"],
        ["highlighted"],
        ["highlighted", "pressed"]
    ]

    property Component actionComponent: Component {
        Rectangle {
            color: SwipeDelegate.pressed ? "#333" : "#444"
            width: parent ? parent.width : 0
            height: parent ? parent.height: 0
            clip: true

            Label {
                text: "Test"
                color: "white"
                anchors.centerIn: parent
            }
        }
    }

    property Component component: SwipeDelegate {
        id: swipeDelegate
        text: "SwipeDelegate"
        enabled: !is("disabled")
        checkable: is("checkable")
        // Only set it if it's pressed, or the non-pressed examples will have no press effects
        down: is("pressed") ? true : undefined
        highlighted: is("highlighted")
        focusPolicy: Qt.StrongFocus

        swipe.left: actionComponent
        swipe.right: actionComponent
    }

    property Component exampleComponent: ListView {
        implicitWidth: 200
        implicitHeight: 200
        clip: true
        model: 20
        delegate: SwipeDelegate {
            width: parent.width
            text: "SwipeDelegate"
            focusPolicy: Qt.StrongFocus

            swipe.left: actionComponent
            swipe.right: actionComponent
        }
    }
}