| import QtQuick 2.0 |
| |
| Rectangle { |
| id: root |
| property int count: grid.count |
| property bool showHeader: false |
| property bool showFooter: false |
| property real cacheBuffer: 0 |
| property int added: -1 |
| property variant removed |
| property int lastKey: 0 |
| |
| width: 240 |
| height: 320 |
| color: "#ffffff" |
| resources: [ |
| Component { |
| id: myDelegate |
| Rectangle { |
| id: wrapper |
| objectName: "wrapper" |
| width: 80 |
| height: 60 |
| border.color: "blue" |
| property string name: model.name |
| Text { |
| text: index |
| } |
| Text { |
| x: 30 |
| text: wrapper.x + ", " + wrapper.y |
| font.pixelSize: 12 |
| } |
| Text { |
| y: 20 |
| id: textName |
| objectName: "textName" |
| text: name |
| } |
| Text { |
| y: 40 |
| id: textNumber |
| objectName: "textNumber" |
| text: number |
| } |
| color: GridView.isCurrentItem ? "lightsteelblue" : "white" |
| GridView.onAdd: root.added = index |
| GridView.onRemove: root.removed = name |
| } |
| }, |
| Component { |
| id: headerFooter |
| Rectangle { width: 30; height: 320; color: "blue" } |
| } |
| ] |
| GridView { |
| id: grid |
| objectName: "grid" |
| width: 240 |
| height: 320 |
| cellWidth: 80 |
| cellHeight: 60 |
| model: testModel |
| delegate: myDelegate |
| header: root.showHeader ? headerFooter : null |
| footer: root.showFooter ? headerFooter : null |
| cacheBuffer: root.cacheBuffer |
| focus: true |
| } |
| |
| Keys.onPressed: lastKey = event.key |
| } |