import QtQuick 2.0 Rectangle { id: root width: 500 height: 600 property int duration: 10 property int count: grid.count Component { id: myDelegate Rectangle { id: wrapper property string nameData: name objectName: "wrapper" width: 80 height: 60 border.width: 1 Column { Text { text: index } Text { text: wrapper.x + ", " + wrapper.y } Text { id: textName objectName: "textName" text: name } } color: GridView.isCurrentItem ? "lightsteelblue" : "white" onXChanged: checkPos() onYChanged: checkPos() function checkPos() { if (Qt.point(x, y) == targetItems_transitionVia) model_targetItems_transitionVia.addItem(name, "") if (Qt.point(x, y) == displacedItems_transitionVia) model_displacedItems_transitionVia.addItem(name, "") } } } GridView { id: grid property int targetTransitionsDone property int displaceTransitionsDone property var targetTrans_items: new Object() property var targetTrans_targetIndexes: new Array() property var targetTrans_targetItems: new Array() property var displacedTrans_items: new Object() property var displacedTrans_targetIndexes: new Array() property var displacedTrans_targetItems: new Array() objectName: "grid" width: 240 height: 320 cellWidth: 80 cellHeight: 60 anchors.centerIn: parent model: testModel delegate: myDelegate // for QDeclarativeListProperty types function copyList(propList) { var temp = new Array() for (var i=0; i