diff options
Diffstat (limited to 'tests/manual/treeview/sidebyside/data/treeview.qml')
-rw-r--r-- | tests/manual/treeview/sidebyside/data/treeview.qml | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/tests/manual/treeview/sidebyside/data/treeview.qml b/tests/manual/treeview/sidebyside/data/treeview.qml index 6587e11f6e..a6fd99b076 100644 --- a/tests/manual/treeview/sidebyside/data/treeview.qml +++ b/tests/manual/treeview/sidebyside/data/treeview.qml @@ -48,6 +48,7 @@ ApplicationWindow { visible: true property alias treeView: treeView + property var selectedIndex: undefined UICallback { id: callback } @@ -92,6 +93,16 @@ ApplicationWindow { treeView.model.removeRows(index.row, 1, index.parent); } } + Button { + text: "Expand to" + enabled: selectedIndex != undefined + onClicked: { + treeView.expandToIndex(selectedIndex); + treeView.forceLayout() + let row = treeView.rowAtIndex(selectedIndex) + treeView.positionViewAtRow(row, Qt.AlignVCenter) + } + } } TreeView { @@ -114,15 +125,28 @@ ApplicationWindow { id: testModel } - Rectangle { - anchors.fill: parent - color: "white" - z: -1 - } - Component { id: treeViewDelegate TreeViewDelegate { + TapHandler { + acceptedModifiers: Qt.ControlModifier + onTapped: { + if (treeView.isExpanded(row)) + treeView.collapseRecursively(row) + else + treeView.expandRecursively(row) + } + } + TapHandler { + acceptedModifiers: Qt.ShiftModifier + onTapped: selectedIndex = treeView.modelIndex(row, 0) + } + Rectangle { + anchors.fill: parent + border.color: "red" + border.width: 1 + visible: treeView.modelIndex(row, column) === selectedIndex + } } } |