Proxy models - mapping a table model to a tree model
-
Hi,
I'm working on implementing a TableView in QML, and my approach is to dynamically wrap a Repeater element within each row of a ListView like so:
@ListView {
model: VisualDataModel {
id: rowModel
model: myModel
delegate: Row {
Repeater {
model: mymodel
rootIndex: rowModel.modelIndex(index)
}
}
}
}@(That's not my actual code, I only included the bare essentials for illustrating my approach)
Using a custom model, essentially a Tree Model where each top-level item corresponds to a row of cells, it works like a simple tableview. However, I would like to have a proxy model between a regular table model and my QML component, to make using the component a breeze. After spending a day of trying various approaches, I cannot seem to be able to make it work with a proxy model approach (subclassing QAbstractProxyModel or QSortFilterProxyModel).
I'm currently working on a custom QAbstractItemModel subclass which acts as a proxy transformer as a replacement, but I'm wondering if anyone can tell me if it's actually accomplishable using QAbstractProxyModel? Using mapFromSource() and mapToSource() alone, I can't seem to be able to create the hierarchy I need (seeing as the top-level items in the model required for the QML component are dummy parents which don't have equivalents in the table model). Is it possible?
- Andreas