KD Chart API Documentation 3.1
Loading...
Searching...
No Matches
kdganttlistviewrowcontroller.cpp
Go to the documentation of this file.
1/****************************************************************************
2**
3** This file is part of the KD Chart library.
4**
5** SPDX-FileCopyrightText: 2001 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6**
7** SPDX-License-Identifier: MIT
8**
9****************************************************************************/
10
12#include "kdganttlistviewrowcontroller_p.h"
13
14#include <QAbstractProxyModel>
15#include <QScrollBar>
16
17#include <cassert>
18
19using namespace KDGantt;
20
29 : _d(new Private(lv, proxy))
30{
31}
32
34{
35 delete _d;
36 _d = nullptr;
37}
38
39#define d d_func()
40
42{
43 return d->listview->viewport()->y() - d->listview->frameWidth();
44}
45
47{
48 return d->listview->fontMetrics().height();
49}
50
52{
53 return d->listview->verticalScrollBar()->maximum() + d->listview->viewport()->height();
54}
55
57{
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();
61}
62
64{
65 Q_UNUSED(_idx);
66
67 return false;
68}
69
71{
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());
77}
78
80{
81 return d->proxy->mapFromSource(d->listview->indexAt(QPoint(1, height)));
82}
83
85{
86 const QModelIndex idx = d->proxy->mapToSource(_idx);
87 return d->proxy->mapFromSource(idx.sibling(idx.row() - 1, idx.column()));
88}
89
91{
92 const QModelIndex idx = d->proxy->mapToSource(_idx);
93 if (!idx.isValid() || idx.column() != 0)
94 return QModelIndex();
95 if (idx.model()->rowCount(idx.parent()) < idx.row() + 1)
96 return QModelIndex();
97 return d->proxy->mapFromSource(idx.sibling(idx.row() + 1, idx.column()));
98}
QModelIndex indexAbove(const QModelIndex &idx) const override
Span rowGeometry(const QModelIndex &idx) const override
QModelIndex indexBelow(const QModelIndex &idx) 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.
virtual int rowCount(const QModelIndex &parent) const const=0
int column() const const
bool isValid() const const
const QAbstractItemModel * model() const const
QModelIndex parent() const const
int row() const const
QModelIndex sibling(int row, int column) const const
int height() const const
QRect translated(int dx, int dy) const const
int y() const const

© 2001 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-chart/
Generated on Fri Apr 26 2024 00:04:57 for KD Chart API Documentation by doxygen 1.9.8