aboutsummaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml
blob: 647711afe3aecb86aa1fc49ba9baf7b236b6df97 (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick 2.0

Rectangle {

    width: column.width + 100
    height: column.height + 100
    property int direction: Qt.application.layoutDirection

    Column {
        id: column
        spacing: 10
        anchors.centerIn: parent
        width: 230

        Text {
            text: "Row"
            anchors.horizontalCenter: parent.horizontalCenter
        }
        Row {
            layoutDirection: direction
            spacing: 10
            move: Transition {
                NumberAnimation {
                    properties: "x"
                }
            }
            Repeater {
                model: 4
                Loader {
                    property int value: index
                    sourceComponent: delegate
                }
            }
        }
        Text {
            text: "Grid"
            anchors.horizontalCenter: parent.horizontalCenter
        }
        Grid {
           layoutDirection: direction
           spacing: 10; columns: 4
           move: Transition {
               NumberAnimation {
                   properties: "x"
               }
           }
           Repeater {
               model: 11
               Loader {
                   property int value: index
                   sourceComponent: delegate
               }
            }
        }
        Text {
            text: "Flow"
            anchors.horizontalCenter: parent.horizontalCenter
        }
        Flow {
           layoutDirection: direction
           spacing: 10; width: parent.width
           move: Transition {
               NumberAnimation {
                   properties: "x"
               }
           }
           Repeater {
               model: 10
               Loader {
                   property int value: index
                   sourceComponent: delegate
               }
            }
        }
        Rectangle {
           height: 50; width: parent.width
           color: mouseArea.pressed ? "black" : "gray"
           Text {
                text: direction ? "Right to left" : "Left to right"
                color: "white"
                font.pixelSize: 16
                anchors.centerIn: parent
            }
            MouseArea {
                id: mouseArea
                onClicked: {
                    if (direction == Qt.LeftToRight) {
                        direction = Qt.RightToLeft;
                    } else {
                        direction = Qt.LeftToRight;
                    }
                }
                anchors.fill: parent
            }
        }
    }

    Component {
        id: delegate
        Rectangle {
            width: 50; height: 50
            color: Qt.rgba(0.8/(parent.value+1),0.8/(parent.value+1),0.8/(parent.value+1),1.0)
            Text {
                text: parent.parent.value+1
                color: "white"
                font.pixelSize: 20
                anchors.centerIn: parent
            }
        }
    }
}