Warning, /frameworks/qqc2-desktop-style/tests/HeaderViews.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2023 Marco Martin <mart@kde.org>
0003
0004 SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later
0005 */
0006
0007 import QtQuick
0008 import QtQuick.Layouts 1.4
0009 import QtQuick.Controls 2.15 as QQC2
0010 import org.kde.kirigami as Kirigami
0011 import org.kde.plasma.components 3 as PC3
0012 import Qt.labs.qmlmodels 1.0
0013
0014 GridLayout {
0015 id: root
0016 width: 500
0017 height: 300
0018 rows: 2
0019 columns: 2
0020 rowSpacing: 0
0021 columnSpacing: 0
0022
0023 Item {}
0024 QQC2.HorizontalHeaderView {
0025 syncView: table
0026 Layout.fillWidth: true
0027 }
0028 QQC2.VerticalHeaderView {
0029 syncView: table
0030 Layout.fillWidth: true
0031 }
0032 TableView {
0033 id: table
0034 Layout.fillWidth: true
0035 Layout.fillHeight: true
0036 alternatingRows: true
0037
0038 selectionModel: ItemSelectionModel {}
0039
0040 model: TableModel {
0041 TableModelColumn { display: "A" }
0042 TableModelColumn { display: "B" }
0043 TableModelColumn { display: "C" }
0044 TableModelColumn { display: "D" }
0045
0046 rows: [
0047 {
0048 A: "A1",
0049 B: "B1",
0050 C: "C1",
0051 D: "D1"
0052 },
0053 {
0054 A: "A2",
0055 B: "B2",
0056 C: "C2",
0057 D: "D2"
0058 },
0059 {
0060 A: "A3",
0061 B: "B3",
0062 C: "C3",
0063 D: "D3"
0064 }
0065 ]
0066 }
0067 delegate: QQC2.ItemDelegate {
0068 required property var model
0069 required property bool selected
0070 text: model.display
0071 checkable: true
0072 checked: selected
0073 highlighted: checked
0074 onClicked: {
0075 table.selectionModel.select(table.model.index(model.row, model.column), checked ? ItemSelectionModel.Select : ItemSelectionModel.Deselect)
0076 }
0077 }
0078 }
0079
0080 }
0081