#include "cstyleddelegate.h" #include #include #include #include void cStyledDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { QStyleOptionViewItem options = option; initStyleOption(&options, index); bool bBold = index.data(STYLEDDELEGATE_BOLD).toBool(); bool bItalic = index.data(STYLEDDELEGATE_ITALIC).toBool(); QColor color = index.data(STYLEDDELEGATE_COLOR).value(); options.font.setBold(bBold); options.font.setItalic(bItalic); if(color.isValid()) options.palette.setColor(QPalette::Text, color); QStyledItemDelegate::paint(painter, options, index); } //QSize cStyledDelegate::sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const //{ // QStyleOptionViewItem options = option; // initStyleOption(&options, index); // QTextDocument doc; // doc.setHtml(options.text); // doc.setTextWidth(options.rect.width()); // return QSize(static_cast(doc.idealWidth()), static_cast(doc.size().height())); //}