aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlitemmodels/data/itemselection.qml
blob: 57cb6436e99b5077e3a246a524d851cb7eb5f541 (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
import Test 1.0

ItemModelsTest {
    property var itemSelection
    property int count
    property bool contains: false

    function range(top, bottom, left, right, parent) {
        if (parent === undefined)
            parent = invalidModelIndex()
        var topLeft = model.index(top, left, parent)
        var bottomRight = model.index(bottom, right, parent)
        return createItemSelectionRange(topLeft, bottomRight)
    }

    onModelChanged: {
        itemSelection = createItemSelection()
        itemSelection.prepend(range(0, 0, 0, 5))
        itemSelection.append(range(0, 5, 0, 0))
        for (var i = 0; i < 3; i++)
            itemSelection.insert(i, range(i, i + 1, i + 2, i + 3))

        var itemSelection2 = createItemSelection()
        for (i = 3; i < 6; i++)
            itemSelection2.select(model.index(i, i + 1), model.index(i + 2, i + 3))

        itemSelection.merge(itemSelection2, 2 /*ItemSelectionModel.Select*/)

        count = itemSelection.length
        contains = itemSelection.contains(model.index(0, 0))

        itemSelection.removeAt(3)
        itemSelection.removeFirst()
        itemSelection.removeLast()
    }
}