memspyui/ui/hb/src/memspykernelobjectdetailview.cpp
changeset 31 e7a04a6385be
parent 17 4f2773374eff
--- a/memspyui/ui/hb/src/memspykernelobjectdetailview.cpp	Thu Jun 17 15:34:52 2010 +0300
+++ b/memspyui/ui/hb/src/memspykernelobjectdetailview.cpp	Thu Jun 24 14:55:55 2010 +0300
@@ -19,11 +19,49 @@
 
 #include "memspykernelobjectdetailview.h"
 
+MemSpyKernelObjectDetailModel::MemSpyKernelObjectDetailModel(const QStringList& details, QObject *parent) :
+    QAbstractListModel(parent),
+    mDetails(details)
+{
+
+}
+    
+int MemSpyKernelObjectDetailModel::rowCount(const QModelIndex &parent) const
+{
+    Q_UNUSED(parent);
+    return mDetails.count();
+}
+    
+QVariant MemSpyKernelObjectDetailModel::data(const QModelIndex &index, int role) const
+{
+    if (role == Qt::DisplayRole) {
+        
+        // convert from semicolon delimited line to two lines
+        return mDetails.at(index.row()).split(": ");
+    }
+    
+    return QVariant();
+}
+
+
 void MemSpyKernelObjectDetailView::initialize(const QVariantMap& params)
 {
-	MemSpyView::initialize(params);
+	setTitle("Details");
 	
-	setTitle("Details");
+	mTypeName = params["typeName"].toString();
+	mObjectName = params["objectName"].toString();
+	MemSpyView::initialize(params);
+		
 	QStringList items = params.value("details").toStringList();
-	mListView.setModel(new QStringListModel(items, this));
+	mListView.setModel(new MemSpyKernelObjectDetailModel(items, this));
 }
+
+bool MemSpyKernelObjectDetailView::isBreadCrumbVisible() const
+{
+    return true;
+}
+            
+QString MemSpyKernelObjectDetailView::getBreadCrumbText() const
+{
+    return tr("Kernel Objects > %1 > %2").arg(mTypeName).arg(mObjectName);
+}