import QtQuick 2.0
import QtQml.Models 2.12

ListView {
    id: root

    width: 200; height: 200

    orientation: (testHorizontal == true) ? Qt.Horizontal : Qt.Vertical
    layoutDirection: (testRightToLeft == true) ? Qt.RightToLeft : Qt.LeftToRight
    verticalLayoutDirection: (testBottomToTop == true) ? ListView.BottomToTop : ListView.TopToBottom

    model: ObjectModel {
        Rectangle {
            objectName: "red"
            width: 200; height: 200; color: "red"
            Text { text: parent.x + ", " + parent.y }
        }
        Grid {
            id: grid
            objectName: "positioner"
            columns: root.orientation == Qt.Vertical ? 1 : 2
            Repeater {
                id: rpt
                model: 1
                Rectangle {
                    width: 120; height: 120; color: "orange"; border.width: 1
                    Column {
                        Text { text: grid.x + ", " + grid.y }
                        Text { text: index }
                    }
                }
            }
        }
        Rectangle {
            objectName: "yellow"
            width: 200; height: 200; color: "yellow"
            Text { text: parent.x + ", " + parent.y }
        }
    }

    focus: true

    function incrementRepeater() {
        rpt.model += 1
    }

    function decrementRepeater() {
        rpt.model -= 1
    }

    Text { anchors.right: parent.right; anchors.bottom: parent.bottom; text: root.contentX + ", " + root.contentY }
}

