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

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