]> git.cworth.org Git - apitrace/blobdiff - gui/apicalldelegate.cpp
add lots of quirks and details view
[apitrace] / gui / apicalldelegate.cpp
index 43c96e9906f6af0db3fee4556d82733bad934d0c..a681c7549008b84fab16385831c7cfcdb4e8ab8e 100644 (file)
@@ -5,6 +5,7 @@
 #include <QDebug>
 #include <QPainter>
 #include <QStaticText>
+#include <QStyle>
 
 ApiCallDelegate::ApiCallDelegate(QWidget *parent)
     : QStyledItemDelegate(parent)
@@ -14,10 +15,11 @@ ApiCallDelegate::ApiCallDelegate(QWidget *parent)
 void ApiCallDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
                             const QModelIndex &index) const
 {
-    ApiTraceCall *call = static_cast<ApiTraceCall*>(index.internalPointer());
+    ApiTraceCall *call = index.data().value<ApiTraceCall*>();
     if (call) {
         QStaticText text = call->staticText();
         //text.setTextWidth(option.rect.width());
+        QStyledItemDelegate::paint(painter, option, index);
         painter->drawStaticText(option.rect.topLeft(), text);
     } else{
         QStyledItemDelegate::paint(painter, option, index);
@@ -27,7 +29,7 @@ void ApiCallDelegate::paint(QPainter *painter, const QStyleOptionViewItem &optio
 QSize ApiCallDelegate::sizeHint(const QStyleOptionViewItem &option,
                                 const QModelIndex &index) const
 {
-    ApiTraceCall *call = static_cast<ApiTraceCall*>(index.internalPointer());
+    ApiTraceCall *call = index.data().value<ApiTraceCall*>();
     if (call) {
         QStaticText text = call->staticText();
         //text.setTextWidth(option.rect.width());