Mercurial > trustbridge
diff ui/certificatetabledelegate.h @ 347:dde533ba4fcc
Added table item delegate for certificates.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 10 Apr 2014 14:13:34 +0200 |
parents | |
children | 17e1c8f37d72 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/certificatetabledelegate.h Thu Apr 10 14:13:34 2014 +0200 @@ -0,0 +1,50 @@ +#ifndef CERTIFICATETABLEDELEGATE_H +#define CERTIFICATETABLEDELEGATE_H +/** + * @file certificatetabledelegate.h + * @brief Item delegate drawing custom certificate items in table views. + * + */ + +#include <QStyledItemDelegate> + +class CertificateTableDelegate : public QStyledItemDelegate +{ +Q_OBJECT + +public: + CertificateTableDelegate(QWidget *parent = 0) : QStyledItemDelegate(parent){} + + /** + * @brief Renders the delegate using the given painter and options. + * + * @param painter The painter to draw the item. + * @param option The style options. + * @param index The model index of the item to draw. + */ + void paint(QPainter *painter, const QStyleOptionViewItem &option, + const QModelIndex &index) const; + QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, + const QModelIndex &index) const; + + void setEditorData(QWidget *editor, const QModelIndex &index) const; + void setModelData(QWidget *editor, QAbstractItemModel *model, + const QModelIndex &index) const; + + void updateEditorGeometry(QWidget *editor, + const QStyleOptionViewItem &option, const QModelIndex &index) const; +private: + + /** + * @brief Draw the item using the given parameters. + * + * @param painter The painter to draw the item. + * @param option The style options. + * @param index The model index of the item to draw. + * @param icon The icon to display. + * @param font The font used to draw text. + */ + QWidget *drawComboBox(QWidget *parent, const QStyleOptionViewItem &option, + const QModelIndex &index) const; +}; +#endif