1 /*******************************************************************************
2 * Copyright (C) 2008 by Fredrik Höglund <fredrik@kde.org> *
4 * This library is free software; you can redistribute it and/or *
5 * modify it under the terms of the GNU Library General Public *
6 * License as published by the Free Software Foundation; either *
7 * version 2 of the License, or (at your option) any later version. *
9 * This library is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
12 * Library General Public License for more details. *
14 * You should have received a copy of the GNU Library General Public License *
15 * along with this library; see the file COPYING.LIB. If not, write to *
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *
17 * Boston, MA 02110-1301, USA. *
18 *******************************************************************************/
20 #ifndef KABSTRACTVIEWADAPTER_H
21 #define KABSTRACTVIEWADAPTER_H
25 class QAbstractItemModel
;
32 * Interface used by KFilePreviewGenerator to generate previews
33 * for files. The interface allows KFilePreviewGenerator to be
34 * independent from the view implementation.
36 class KAbstractViewAdapter
: public QObject
39 enum Signal
{ ScrollBarValueChanged
};
41 KAbstractViewAdapter(QObject
*parent
) : QObject(parent
) {}
42 virtual ~KAbstractViewAdapter() {}
43 virtual QAbstractItemModel
*model() const = 0;
44 virtual QSize
iconSize() const = 0;
45 virtual QPalette
palette() const = 0;
46 virtual QRect
visibleArea() const = 0;
47 virtual QRect
visualRect(const QModelIndex
&index
) const = 0;
48 virtual void connect(Signal signal
, QObject
*receiver
, const char *slot
) = 0;