File indexing completed on 2024-05-12 04:20:44

0001 /*
0002  * SPDX-FileCopyrightText: 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved.
0003  *
0004  * This file is part of the KGantt library.
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #ifndef KGANTTLISTVIEWROWCONTROLLER_H
0010 #define KGANTTLISTVIEWROWCONTROLLER_H
0011 
0012 #include "kganttabstractrowcontroller.h"
0013 
0014 QT_BEGIN_NAMESPACE
0015 class QAbstractProxyModel;
0016 class QListView;
0017 QT_END_NAMESPACE
0018 
0019 namespace KGantt {
0020 
0021 
0022     /*!\class ListViewRowController
0023      * This is an implementation of AbstractRowController that
0024      * aligns a gantt view with a QListView. Provided for
0025      * convenience for users who want to use View with QListView
0026      * instead of QTreeView.
0027      */
0028     class KGANTT_EXPORT ListViewRowController : public AbstractRowController {
0029         KGANTT_DECLARE_PRIVATE_BASE_POLYMORPHIC(ListViewRowController)
0030     public:
0031     ListViewRowController( QListView* lv, QAbstractProxyModel* proxy );
0032         ~ListViewRowController() override;
0033 
0034         /*reimp*/ int headerHeight() const override;
0035         /*reimp*/ int maximumItemHeight() const override;
0036         /*reimp*/ int totalHeight() const override;
0037         /*reimp*/ bool isRowVisible( const QModelIndex& idx ) const override;
0038         /*reimp*/ bool isRowExpanded( const QModelIndex& idx ) const override;
0039         /*reimp*/ Span rowGeometry( const QModelIndex& idx ) const override;
0040         /*reimp*/ QModelIndex indexAt( int height ) const override;
0041         /*reimp*/ QModelIndex indexAbove( const QModelIndex& idx ) const override;
0042         /*reimp*/ QModelIndex indexBelow( const QModelIndex& idx ) const override;
0043     };
0044 }
0045 
0046 #endif /* KGANTTLISTVIEWROWCONTROLLER_H */
0047