aboutsummaryrefslogtreecommitdiffstats
path: root/tests/testapplications/listview/alteredViews.qml
blob: 6d41f2a49dbd07c79306e000a400fefe0207d484 (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
115
116
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick 2.0

Rectangle {
    width: 300
    height: 400

    ListView {
        id: listview
        model: model1
        delegate: delegate1
        anchors.fill: parent
        anchors.margins: 20
    }

    Component {
        id: delegate1
        Rectangle {
            height: listview.orientation == ListView.Horizontal ? 260 : 50
            Behavior on height { NumberAnimation { duration: 500 } }
            width: listview.orientation == ListView.Horizontal ? 50 : 260
            Behavior on width { NumberAnimation { duration: 500 } }
            border.color: "black"
            Text {
                anchors.centerIn: parent; color: "black"; text: model.name
                rotation: listview.orientation == ListView.Horizontal ? -90 : 0
                Behavior on rotation { NumberAnimation { duration: 500 } }

            }
        }
    }

    Component {
        id: delegate2
        Rectangle {
            height: listview.orientation == ListView.Horizontal ? 260 : 50
            Behavior on height { NumberAnimation { duration: 500 } }
            width: listview.orientation == ListView.Horizontal ? 50 : 260
            Behavior on width { NumberAnimation { duration: 500 } }
            color: "goldenrod"; border.color: "black"
            Text {
                anchors.centerIn: parent; color: "royalblue"; text: model.name
                rotation: listview.orientation == ListView.Horizontal ? -90 : 0
                Behavior on rotation { NumberAnimation { duration: 1500 } }
            }
        }

    }

    Column {
        Rectangle {
            height: 50
            width: 50
            color: "blue"
            border.color: "orange"
            Text {
                anchors.centerIn: parent
                text: "Mod"
            }
            MouseArea {
                anchors.fill: parent
                onClicked: listview.model = listview.model == model2 ? model1 : model2
            }
        }

        Rectangle {
            height: 50
            width: 50
            color: "blue"
            border.color: "orange"
            Text {
                anchors.centerIn: parent
                text: "Del"
            }
            MouseArea {
                anchors.fill: parent
                onClicked: listview.delegate = listview.delegate == delegate2 ? delegate1 : delegate2
            }
        }

        Rectangle {
            height: 50
            width: 50
            color: "blue"
            border.color: "orange"
            Text {
                anchors.centerIn: parent
                text: "Ori"
            }
            MouseArea {
                anchors.fill: parent
                onClicked: listview.orientation = listview.orientation == ListView.Horizontal ? ListView.Vertical : ListView.Horizontal
            }
        }
    }

    ListModel {
        id: model1
        ListElement { name: "model1_1" }
        ListElement { name: "model1_2" }
        ListElement { name: "model1_3" }
        ListElement { name: "model1_4" }
        ListElement { name: "model1_5" }
    }

    ListModel {
        id: model2
        ListElement { name: "model2_1" }
        ListElement { name: "model2_2" }
        ListElement { name: "model2_3" }
        ListElement { name: "model2_4" }
        ListElement { name: "model2_5" }
    }
}