aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/quickcontrols/testbench/controls/ScrollBar.qml
blob: d2124a53cb9f8ccaa322718696ccf7e329131540 (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
60
61
62
63
64
65
66
67
// 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: [
        ["vertical"],
        ["vertical", "disabled"],
        ["vertical", "interactive"],
        ["vertical", "interactive", "disabled"],
        ["horizontal"],
        ["horizontal", "disabled"],
        ["horizontal", "interactive"],
        ["horizontal", "interactive", "disabled"]
    ]

    property Component component: Frame {
        width: 100
        height: 100
        clip: true

        Label {
            text: "ABCDEFG\nHIJKLMN"
            font.pixelSize: 40
            x: -horizontalScrollBar.position * width
            y: -verticalScrollBar.position * height
        }

        ScrollBar {
            id: verticalScrollBar
            enabled: !is("disabled")
            orientation: Qt.Vertical
            interactive: is("interactive")
            visible: is("vertical")
            size: 0.3
            anchors.right: parent.right
            anchors.top: parent.top
            anchors.bottom: parent.bottom

            Binding {
                target: verticalScrollBar
                property: "active"
                value: verticalScrollBar.visible
            }
        }

        ScrollBar {
            id: horizontalScrollBar
            enabled: !is("disabled")
            orientation: Qt.Horizontal
            interactive: is("interactive")
            visible: is("horizontal")
            size: 0.3
            anchors.left: parent.left
            anchors.right: parent.right
            anchors.bottom: parent.bottom

            Binding {
                target: horizontalScrollBar
                property: "active"
                value: horizontalScrollBar.visible
            }
        }
    }
}