aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/pointerhandlers/qquickdraghandler/data/reparenting.qml
blob: 3545badd867b31c8b3fbb0c289719fa5656da079 (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
import QtQuick 2.8
import Qt.labs.handlers 1.0

Grid {
    id: root
    objectName: "root"
    property bool reparentOnDrag: true
    width: 200; height: 200
    columns: 3
    spacing: 10
    Repeater {
        model: 9
        anchors.fill: parent
        Item {
            id: gridPlaceholder
            objectName: "gridPlaceholder" + index
            width: 60
            height: 60
            Rectangle {
                id: icon
                border.color: "black"
                color: "beige"
                radius: 3
                width: 60
                height: 60
                onParentChanged :console.log("parent " + parent)
                anchors {
                    horizontalCenter: parent.horizontalCenter
                    verticalCenter: parent.verticalCenter
                }
                DragHandler {
                    id: dragArea
                }
                Text {
                    anchors.centerIn: parent
                    text: index + "@" + Math.round(icon.x) + "," + Math.round(icon.y)
                    font.pointSize: 8
                }
                states: [
                    State {
                        when: dragArea.dragging
                        AnchorChanges {
                            target: icon
                            anchors.horizontalCenter: undefined
                            anchors.verticalCenter: undefined
                        }
                        ParentChange {
                            target: root.reparentOnDrag ? icon : null
                            parent: root
                        }
                        PropertyChanges {
                            target: icon
                            color: "yellow"
                        }
                    }
                ]
            }
        }
    }
}