KNewStuff
itemsviewdelegate.h
Go to the documentation of this file.
00001 /* 00002 This file is part of KNewStuff2. 00003 Copyright (C) 2008 Jeremy Whiting <jpwhiting@kde.org> 00004 Copyright (C) 2010 Reza Fatahilah Shah <rshah0385@kireihana.com> 00005 Copyright (C) 2010 Frederik Gladhorn <gladhorn@kde.org> 00006 00007 This library is free software; you can redistribute it and/or 00008 modify it under the terms of the GNU Lesser General Public 00009 License as published by the Free Software Foundation; either 00010 version 2.1 of the License, or (at your option) any later version. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Lesser General Public License for more details. 00016 00017 You should have received a copy of the GNU Lesser General Public 00018 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00019 */ 00020 00021 #ifndef KNEWSTUFF3_UI_ITEMSVIEWDELEGATE_H 00022 #define KNEWSTUFF3_UI_ITEMSVIEWDELEGATE_H 00023 00024 #include "itemsviewbasedelegate.h" 00025 00026 namespace KNS3 00027 { 00028 00029 class ItemsViewDelegate: public ItemsViewBaseDelegate 00030 { 00031 Q_OBJECT 00032 public: 00033 explicit ItemsViewDelegate(QAbstractItemView* itemView, Engine* engine, QObject* parent = 0); 00034 ~ItemsViewDelegate(); 00035 00036 00037 // paint the item at index with all its attributes shown 00038 virtual void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const; 00039 00040 // get the list of widgets 00041 virtual QList<QWidget*> createItemWidgets() const; 00042 00043 // update the widgets 00044 virtual void updateItemWidgets(const QList<QWidget*> widgets, 00045 const QStyleOptionViewItem &option, 00046 const QPersistentModelIndex &index) const; 00047 00048 virtual QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const; 00049 }; 00050 } 00051 00052 #endif
KDE 4.6 API Reference