diff -r d8e625c87f33 -r e7a04a6385be memspyui/ui/hb/src/memspykernelobjectdetailview.cpp --- 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); +}