12 #include "kdganttlistviewrowcontroller_p.h"
14 #include <QAbstractProxyModel>
29 : _d(new Private(lv, proxy))
43 return d->listview->viewport()->y() -
d->listview->frameWidth();
48 return d->listview->fontMetrics().height();
53 return d->listview->verticalScrollBar()->maximum() +
d->listview->viewport()->height();
58 const QModelIndex idx =
d->proxy->mapToSource(_idx);
59 assert(idx.isValid() ? (idx.model() ==
d->listview->model()) : (
true));
60 return d->listview->visualRect(idx).isValid();
72 const QModelIndex idx =
d->proxy->mapToSource(_idx);
73 assert(idx.isValid() ? (idx.model() ==
d->listview->model()) : (
true));
74 QRect r =
d->listview->visualRect(idx).translated(QPoint(0,
75 static_cast<Private::HackListView *
>(
d->listview)->verticalOffset()));
76 return Span(r.y(), r.height());
81 return d->proxy->mapFromSource(
d->listview->indexAt(QPoint(1, height)));
86 const QModelIndex idx =
d->proxy->mapToSource(_idx);
87 return d->proxy->mapFromSource(idx.sibling(idx.row() - 1, idx.column()));
92 const QModelIndex idx =
d->proxy->mapToSource(_idx);
93 if (!idx.isValid() || idx.column() != 0)
95 if (idx.model()->rowCount(idx.parent()) < idx.row() + 1)
97 return d->proxy->mapFromSource(idx.sibling(idx.row() + 1, idx.column()));
QModelIndex indexAbove(const QModelIndex &idx) const override
Span rowGeometry(const QModelIndex &idx) const override
int maximumItemHeight() const override
QModelIndex indexBelow(const QModelIndex &idx) const override
~ListViewRowController() override
int headerHeight() const override
int totalHeight() const override
ListViewRowController(QListView *lv, QAbstractProxyModel *proxy)
QModelIndex indexAt(int height) const override
bool isRowExpanded(const QModelIndex &idx) const override
bool isRowVisible(const QModelIndex &idx) const override
A class representing a start point and a length.