]> git.cworth.org Git - apitrace/blobdiff - gui/apicalldelegate.cpp
some color in the list
[apitrace] / gui / apicalldelegate.cpp
diff --git a/gui/apicalldelegate.cpp b/gui/apicalldelegate.cpp
new file mode 100644 (file)
index 0000000..43c96e9
--- /dev/null
@@ -0,0 +1,40 @@
+#include "apicalldelegate.h"
+
+#include "apitracecall.h"
+
+#include <QDebug>
+#include <QPainter>
+#include <QStaticText>
+
+ApiCallDelegate::ApiCallDelegate(QWidget *parent)
+    : QStyledItemDelegate(parent)
+{
+}
+
+void ApiCallDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
+                            const QModelIndex &index) const
+{
+    ApiTraceCall *call = static_cast<ApiTraceCall*>(index.internalPointer());
+    if (call) {
+        QStaticText text = call->staticText();
+        //text.setTextWidth(option.rect.width());
+        painter->drawStaticText(option.rect.topLeft(), text);
+    } else{
+        QStyledItemDelegate::paint(painter, option, index);
+    }
+}
+
+QSize ApiCallDelegate::sizeHint(const QStyleOptionViewItem &option,
+                                const QModelIndex &index) const
+{
+    ApiTraceCall *call = static_cast<ApiTraceCall*>(index.internalPointer());
+    if (call) {
+        QStaticText text = call->staticText();
+        //text.setTextWidth(option.rect.width());
+        return text.size().toSize();
+    }
+    return QStyledItemDelegate::sizeHint(option, index);
+}
+
+
+#include "apicalldelegate.moc"