summaryrefslogtreecommitdiff
path: root/tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml
blob: 8da3602aa53b9ea01f4983829a61d31d9eb35f80 (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
import QtQuick 1.0

Item {
    width: 400; height: 400;
    property int step: 0
    function tick()
    {
        step++;
        if(step == 1){
            row1.destroy(); //Not dynamically created, so is this valid?
        }else if(step == 2){
            r2a.destroy();
        }else if(step == 3){
            r2b.destroy();
        }else if(step == 4){
            r2c.destroy();
        }else if(step == 5){
            r3a.parent = row2;
        }else if(step == 6){
            r3b.parent = row2;
        }else if(step == 7){
            r3c.parent = row2;
        }else if(step == 8){
            row3.destroy();
        }else{
            repeater.model++;
        }
    }

    //Tests base positioner functionality, so just using row
    Row{
        id: row1
        Rectangle{id: r1a; width:20; height:20; color: "red"}
        Rectangle{id: r1b; width:20; height:20; color: "green"}
        Rectangle{id: r1c; width:20; height:20; color: "blue"}
    }
    Row{
        y:20
        id: row2
        move: Transition{NumberAnimation{properties:"x"}}
        Repeater{ 
            id: repeater 
            model: 0; 
            delegate: Component{ Rectangle { color: "yellow"; width:20; height:20;}}
        }
        Rectangle{id: r2a; width:20; height:20; color: "red"}
        Rectangle{id: r2b; width:20; height:20; color: "green"}
        Rectangle{id: r2c; width:20; height:20; color: "blue"}
    }
    Row{
        move: Transition{NumberAnimation{properties:"x"}}
        y:40
        id: row3
        Rectangle{id: r3a; width:20; height:20; color: "red"}
        Rectangle{id: r3b; width:20; height:20; color: "green"}
        Rectangle{id: r3c; width:20; height:20; color: "blue"}
    }
    Timer{
        interval: 500;
        running: true;
        repeat: true;
        onTriggered: tick();
    }
}