diff options
author | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2015-04-07 15:52:12 +0200 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2015-04-16 09:06:16 +0000 |
commit | 235abf6486c221e4dc763b614ac33771abdd8f3f (patch) | |
tree | 979810fbb70d3c74a2d9ba3c68ce45363e5538d3 /tests/auto | |
parent | 564fdbc1985f6de95d68ed7c7e64614bf5fc7d76 (diff) | |
download | qtquickcontrols-235abf6486c221e4dc763b614ac33771abdd8f3f.tar.gz |
TreeView: Add indexAt() function
Change-Id: I6a8105d074fd71d9d0dff35d07ba1622093e1d4b
Task-number: QTBUG-45351
Reviewed-by: Filippo Cucchetto <filippocucchetto@gmail.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/controls/data/tst_treeview.qml | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_treeview.qml b/tests/auto/controls/data/tst_treeview.qml index 26f40494..458ddd75 100644 --- a/tests/auto/controls/data/tst_treeview.qml +++ b/tests/auto/controls/data/tst_treeview.qml @@ -754,5 +754,62 @@ Item { tree.destroy() } + + function test_indexAt() { + var component = Qt.createComponent("treeview/treeview_1.qml") + compare(component.status, Component.Ready) + var tree = component.createObject(container); + verify(tree !== null, "tree created is null") + waitForRendering(tree) + var model = tree.model + + // Sample each row and test + for (var row = 0; row < tree.__listView.count; row++) { + for (var x = 1; x < tree.getColumn(0).width; x += 10) { + var treeIndex = tree.indexAt(x, 50 * (row + 1) + 1) // offset by header height + var modelIndex = model.index(row, 0) + compare(treeIndex.row, modelIndex.row) + compare(treeIndex.column, modelIndex.column) + compare(treeIndex.internalId, modelIndex.internalId) + } + } + + // Hide header, test again + tree.headerVisible = false + for (row = 0; row < tree.__listView.count; row++) { + for (x = 1; x < tree.getColumn(0).width; x += 10) { + treeIndex = tree.indexAt(x, 50 * row + 1) + modelIndex = model.index(row, 0) + compare(treeIndex.row, modelIndex.row) + compare(treeIndex.column, modelIndex.column) + compare(treeIndex.internalId, modelIndex.internalId) + } + } + + // Test outside the view content area + modelIndex = model.index(-1,-1) + + treeIndex = tree.indexAt(-10, 55) + compare(treeIndex.row, modelIndex.row) + compare(treeIndex.column, modelIndex.column) + compare(treeIndex.internalId, modelIndex.internalId) + + treeIndex = tree.indexAt(-10, tree.getColumn(0).width + 10) + compare(treeIndex.row, modelIndex.row) + compare(treeIndex.column, modelIndex.column) + compare(treeIndex.internalId, modelIndex.internalId) + + treeIndex = tree.indexAt(10, -10) + compare(treeIndex.row, modelIndex.row) + compare(treeIndex.column, modelIndex.column) + compare(treeIndex.internalId, modelIndex.internalId) + + treeIndex = tree.indexAt(10, tree.__listView.contentHeight + 10) + compare(treeIndex.row, modelIndex.row) + compare(treeIndex.column, modelIndex.column) + compare(treeIndex.internalId, modelIndex.internalId) + + tree.destroy() + } } } |