/*
* 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