|  | 
 | /* | 
 |  * Copyright 2012 Google Inc. | 
 |  * | 
 |  * Use of this source code is governed by a BSD-style license that can be | 
 |  * found in the LICENSE file. | 
 |  */ | 
 |  | 
 |  | 
 | #ifndef SKLISTWIDGET_H_ | 
 | #define SKLISTWIDGET_H_ | 
 |  | 
 | #include <QAbstractItemDelegate> | 
 | #include <QPainter> | 
 |  | 
 | /** \class SkListWidget | 
 |  | 
 |     This widget contains the draw commands. | 
 |  */ | 
 | class SkListWidget : public QAbstractItemDelegate { | 
 | public: | 
 |     enum IndexStyle { | 
 |         kIndex_IndexStyle, | 
 |         kOffset_IndexStyle, | 
 |     }; | 
 |  | 
 |     /** | 
 |         Constructs the list widget with the specified parent for layout purposes. | 
 |         @param parent  The parent container of this widget | 
 |      */ | 
 |     SkListWidget(QObject* parent = NULL) : fIndexStyle(kIndex_IndexStyle) {} | 
 |  | 
 |     virtual ~SkListWidget() {} | 
 |  | 
 |     /** | 
 |         Draws the current state of the widget. Overriden from QWidget. | 
 |      */ | 
 |     void paint(QPainter* painter, const QStyleOptionViewItem& option, | 
 |                const QModelIndex& index ) const; | 
 |  | 
 |     /** | 
 |         Returns the default size of the widget. Overriden from QWidget. | 
 |      */ | 
 |     QSize sizeHint(const QStyleOptionViewItem& option, | 
 |                    const QModelIndex& index) const; | 
 |  | 
 |  | 
 |     void setIndexStyle(IndexStyle indexStyle) { | 
 |         fIndexStyle = indexStyle; | 
 |     } | 
 |  | 
 | protected: | 
 |     IndexStyle fIndexStyle; | 
 | }; | 
 |  | 
 | #endif |