10 #include <QPushButton>
12 #include <QApplication>
13 #include <QMouseEvent>
17 : QItemDelegate( parent )
18 , mFeatureSelectionModel( NULL )
19 , mListModel( listModel )
20 , mCurrentFeatureEdited( false )
54 return QSize( option.rect.width(),
sIconSize );
59 QString text = index.model()->data( index, Qt::EditRole ).toString();
65 QStyleOptionViewItem iconOption;
67 QRect iconLayoutBounds( option.rect.x(), option.rect.y(), option.rect.height(), option.rect.height() );
82 QRect textLayoutBounds( iconLayoutBounds.x() + iconLayoutBounds.width(), option.rect.y(), option.rect.width() - ( iconLayoutBounds.x() + iconLayoutBounds.width() ), option.rect.height() );
84 QStyleOptionViewItem textOption;
85 textOption.state |= QStyle::State_Enabled;
86 if ( isEditSelection )
88 textOption.state |= QStyle::State_Selected;
93 textOption.font.setStyle( QFont::StyleItalic );
94 textOption.palette.setColor( QPalette::Text, Qt::darkGreen );
95 textOption.palette.setColor( QPalette::HighlightedText, Qt::darkGreen );
99 textOption.font.setStyle( QFont::StyleItalic );
100 textOption.palette.setColor( QPalette::Text, Qt::red );
101 textOption.palette.setColor( QPalette::HighlightedText, Qt::red );
104 drawDisplay( painter, textOption, textLayoutBounds, text );
105 drawDecoration( painter, iconOption, iconLayoutBounds, icon );
virtual bool isSelected(QgsFeatureId fid)
Returns the selection status of a given feature id.
virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
virtual QModelIndex mapToMaster(const QModelIndex &proxyIndex) const
static QIcon icon(QString icon)
static QPixmap getThemePixmap(const QString &theName)
Helper to get a theme icon as a pixmap.
static int const sIconSize
Element positionToElement(const QPoint &pos)
bool mCurrentFeatureEdited
Set to true if the current edit selection has been edited.
void setFeatureSelectionModel(QgsFeatureSelectionModel *featureSelectionModel)
QgsFeatureSelectionModel * mFeatureSelectionModel
QgsFeatureListModel * mListModel
virtual void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
void setCurrentFeatureEdited(bool state)
QgsFeatureListViewDelegate(QgsFeatureListModel *listModel, QObject *parent=0)
QItemSelectionModel * mEditSelectionModel
void setEditSelectionModel(QItemSelectionModel *editSelectionModel)