]> cloud.milkyroute.net Git - dolphin.git/blob - src/klistview.h
include cleanup
[dolphin.git] / src / klistview.h
1 /**
2 * This file is part of the KDE project
3 * Copyright (C) 2007 Rafael Fernández López <ereslibre@gmail.com>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 *
15 * You should have received a copy of the GNU Library General Public License
16 * along with this library; see the file COPYING.LIB. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
19 */
20
21 #ifndef __KLISTVIEW_H__
22 #define __KLISTVIEW_H__
23
24 #include <QtGui/QListView>
25
26 #include <libdolphin_export.h>
27
28 class KItemCategorizer;
29
30 class LIBDOLPHINPRIVATE_EXPORT KListView
31 : public QListView
32 {
33 Q_OBJECT
34
35 public:
36 KListView(QWidget *parent = 0);
37
38 ~KListView();
39
40 void setModel(QAbstractItemModel *model);
41
42 QRect visualRect(const QModelIndex &index) const;
43
44 KItemCategorizer *itemCategorizer() const;
45
46 void setItemCategorizer(KItemCategorizer *itemCategorizer);
47
48 virtual QModelIndex indexAt(const QPoint &point) const;
49
50 virtual int sizeHintForRow(int row) const;
51
52
53 protected:
54 virtual void drawNewCategory(const QString &category,
55 const QStyleOptionViewItem &option,
56 QPainter *painter);
57
58 virtual int categoryHeight(const QStyleOptionViewItem &option) const;
59
60 virtual void paintEvent(QPaintEvent *event);
61
62 virtual void setSelection(const QRect &rect,
63 QItemSelectionModel::SelectionFlags flags);
64
65 virtual void timerEvent(QTimerEvent *event);
66
67
68 protected Q_SLOTS:
69 virtual void rowsInserted(const QModelIndex &parent,
70 int start,
71 int end);
72
73 virtual void rowsAboutToBeRemoved(const QModelIndex &parent,
74 int start,
75 int end);
76
77 virtual void rowsInsertedArtifficial(const QModelIndex &parent,
78 int start,
79 int end);
80
81 virtual void rowsAboutToBeRemovedArtifficial(const QModelIndex &parent,
82 int start,
83 int end);
84
85 virtual void itemsLayoutChanged();
86
87
88 private:
89 class Private;
90 Private *d;
91 };
92
93 #endif // __KLISTVIEW_H__