#include <qxtconfigdialog_p.h>
Public Member Functions | |
QxtConfigDelegate (QObject *parent=0) | |
void | paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const |
QSize | sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const |
Public Attributes | |
bool | hover |
Definition at line 48 of file qxtconfigdialog_p.h.
QxtConfigDelegate::QxtConfigDelegate | ( | QObject * | parent = 0 ) |
Definition at line 74 of file qxtconfigdialog.cpp.
: QItemDelegate(parent), hover(true) { }
void QxtConfigDelegate::paint | ( | QPainter * | painter, |
const QStyleOptionViewItem & | option, | ||
const QModelIndex & | index | ||
) | const |
Definition at line 79 of file qxtconfigdialog.cpp.
References hover.
{ QStyleOptionViewItem opt = option; if (hover) { QPalette::ColorGroup cg = (option.state & QStyle::State_Enabled) ? QPalette::Normal : QPalette::Disabled; if (cg == QPalette::Normal && !(option.state & QStyle::State_Active)) cg = QPalette::Inactive; if (option.state & QStyle::State_Selected) painter->fillRect(opt.rect, option.palette.brush(cg, QPalette::Highlight)); else if ((option.state & QStyle::State_MouseOver) && (option.state & QStyle::State_Enabled)) { QColor color = option.palette.color(cg, QPalette::Highlight).light(); if (color == option.palette.color(cg, QPalette::Base)) color = option.palette.color(cg, QPalette::AlternateBase); painter->fillRect(opt.rect, color); } else painter->fillRect(opt.rect, option.palette.brush(cg, QPalette::Base)); opt.showDecorationSelected = false; opt.state &= ~QStyle::State_HasFocus; opt.state &= ~QStyle::State_Selected; } QItemDelegate::paint(painter, opt, index); }
QSize QxtConfigDelegate::sizeHint | ( | const QStyleOptionViewItem & | option, |
const QModelIndex & | index | ||
) | const |
Definition at line 107 of file qxtconfigdialog.cpp.
{ int margin = qApp->style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1; int textWidth = option.fontMetrics.width(index.data().toString()); int width = qMax(textWidth, option.decorationSize.width()) + 2 * margin; int height = option.fontMetrics.height() + option.decorationSize.height() + margin; return QSize(width, height); }
Definition at line 54 of file qxtconfigdialog_p.h.
Referenced by paint().