1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import TestModel
Rectangle {
id: root
implicitWidth: 100 // hard-coded to make it easier to test the layout
implicitHeight: 25
clip: true
color: current || selected ? "lightgreen" : "white"
property alias text: label.text
readonly property real indent: 20
readonly property real padding: 5
// Assigned to by TreeView:
required property TreeView treeView
required property bool isTreeNode
required property bool expanded
required property int hasChildren
required property int depth
required property bool current
required property bool selected
TapHandler {
onTapped: treeView.toggleExpanded(row)
}
Text {
id: indicator
visible: root.isTreeNode && root.hasChildren
x: padding + (root.depth * root.indent)
text: root.expanded ? "▼" : "▶"
}
Text {
id: label
x: padding + (root.isTreeNode ? (root.depth + 1) * root.indent : 0)
width: root.width - root.padding - x
clip: true
text: model.display
}
}
|