+
+void StringListDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
+{
+ if (option.state & QStyle::State_Editing) {
+ QRect rc(option.rect.x(), option.rect.y(), WIDTH, HEIGHT);
+ painter->fillRect(rc, option.palette.highlight());
+ }
+ else {
+ painter->save();
+ QRect rc(option.rect.x(), option.rect.y(), WIDTH, HEIGHT);
+ painter->fillRect(rc, (option.state & QStyle::State_Selected) ? option.palette.highlight() : option.palette.light() );
+ QString str = index.model()->data(index, Qt::DisplayRole).toString();
+ painter->setBrush(option.palette.foreground());
+ painter->drawText(rc, str);
+ painter->restore();
+ }
+}