view ui/certificatetabledelegate.h @ 348:e6aa82466420

Use the table item delegate for certificates and make the model editable.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 10 Apr 2014 14:14:56 +0200
parents dde533ba4fcc
children 17e1c8f37d72
line wrap: on
line source
#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

http://wald.intevation.org/projects/trustbridge/