File indexing completed on 2024-05-12 16:40:55

0001 /* This file is part of the KDE project
0002    Copyright (C) 2016 Jarosław Staniek <staniek@kde.org>
0003 
0004    Forked from kwidgetsaddons/src/kpageview_p.h:
0005    Copyright (C) 2006 Tobias Koenig (tokoe@kde.org)
0006    Copyright (C) 2007 Rafael Fernández López (ereslibre@kde.org)
0007 
0008    This library is free software; you can redistribute it and/or
0009    modify it under the terms of the GNU Library General Public
0010    License as published by the Free Software Foundation; either
0011    version 2 of the License, or (at your option) any later version.
0012 
0013    This library is distributed in the hope that it will be useful,
0014    but WITHOUT ANY WARRANTY; without even the implied warranty of
0015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0016    Library General Public License for more details.
0017 
0018    You should have received a copy of the GNU Library General Public License
0019    along with this library; see the file COPYING.LIB.  If not, write to
0020    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0021  * Boston, MA 02110-1301, USA.
0022 */
0023 
0024 #ifndef KEXILISTVIEW_P_H
0025 #define KEXILISTVIEW_P_H
0026 
0027 #include <QAbstractItemDelegate>
0028 #include <QItemSelectionModel>
0029 
0030 class KexiListViewDelegate : public QAbstractItemDelegate
0031 {
0032     Q_OBJECT
0033 
0034 public:
0035     explicit KexiListViewDelegate(QObject *parent = 0);
0036 
0037     void paint(QPainter *painter, const QStyleOptionViewItem &option,
0038                const QModelIndex &index) const override;
0039     QSize sizeHint(const QStyleOptionViewItem &option,
0040                    const QModelIndex &index) const override;
0041 
0042 private:
0043     void drawFocus(QPainter *, const QStyleOptionViewItem &, const QRect &) const;
0044 };
0045 
0046 class KexiListViewSelectionModel : public QItemSelectionModel
0047 {
0048     Q_OBJECT
0049 
0050 public:
0051     KexiListViewSelectionModel(QAbstractItemModel *model, QObject *parent);
0052 
0053 public Q_SLOTS:
0054     void clear() override;
0055     void select(const QModelIndex &index,
0056                 QItemSelectionModel::SelectionFlags command) override;
0057     void select(const QItemSelection &selection,
0058                 QItemSelectionModel::SelectionFlags command) override;
0059 };
0060 
0061 #endif