Всем привет,
Не могу догнать как сделать прокси-модель, которая отображала бы поддерево исходной модели.
Итак, к примеру - есть QAbstractItemModel:
A
-B
--C
--D
-E
--F
--G
Хочется в определённую вьюху отображать часть исходной модели, к примеру при выборе B:
B
-C
-D
Как вариант, пробую реализовать метод mapToSource прокси-модели следующим образом:
QModelIndex TRDeviceFilterModel::mapToSource(const QModelIndex &proxyIndex) const
{
if (proxyIndex == QModelIndex())
return m_root;
return QSortFilterProxyModel::mapToSource(proxyIndex);
}
Но что делать с mapFromSource? Как его реализовать? И вообще, правильно ли задачу выделения поддерева реализовывать именно так?
Ещё у меня начинаются какие-то проблемы с фильтрацией...
Если кто знает как это делается, прошу помощи. Или подскажите где посмотреть :)