mirror of
https://gitlab.com/eql/EQL5.git
synced 2025-12-25 11:21:08 -08:00
63 lines
1.6 KiB
QML
63 lines
1.6 KiB
QML
import QtQuick 2.2
|
|
import QtQuick.Layouts 1.1
|
|
import QtQuick.Controls 1.2
|
|
import EQL5 1.0
|
|
|
|
ApplicationWindow {
|
|
id: window
|
|
objectName: "window"
|
|
visible: true
|
|
title: "Table View Example"
|
|
|
|
toolBar: ToolBar {
|
|
TextField {
|
|
id: search_box
|
|
placeholderText: "Search..."
|
|
width: window.width / 5 * 2
|
|
|
|
anchors.right: parent.right
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
|
|
onTextChanged: Lisp.call("table:filter", text)
|
|
}
|
|
}
|
|
|
|
TableView {
|
|
id: table_view
|
|
objectName: "table_view"
|
|
frameVisible: false
|
|
sortIndicatorVisible: true
|
|
anchors.fill: parent
|
|
|
|
Layout.minimumWidth: 400
|
|
Layout.minimumHeight: 240
|
|
Layout.preferredWidth: 600
|
|
Layout.preferredHeight: 400
|
|
|
|
function sort() { Lisp.call("table:sort-column", getColumn(sortIndicatorColumn).role, sortIndicatorOrder) }
|
|
|
|
Component.onCompleted: sort()
|
|
onSortIndicatorOrderChanged: sort()
|
|
onSortIndicatorColumnChanged: sort()
|
|
|
|
TableViewColumn {
|
|
id: title_column
|
|
title: "Title"
|
|
role: "title"
|
|
movable: false
|
|
resizable: false
|
|
width: table_view.viewport.width - author_column.width
|
|
}
|
|
|
|
TableViewColumn {
|
|
id: author_column
|
|
title: "Author"
|
|
role: "author"
|
|
movable: false
|
|
resizable: false
|
|
width: table_view.viewport.width / 3
|
|
}
|
|
|
|
model: sortFilterModel
|
|
}
|
|
}
|