diff -r e0ec97ec3cc4 -r 98924d2efce9 memspyui/ui/hb/src/memspykernelobjectdetailview.cpp --- a/memspyui/ui/hb/src/memspykernelobjectdetailview.cpp Wed Jun 23 18:13:31 2010 +0300 +++ b/memspyui/ui/hb/src/memspykernelobjectdetailview.cpp Tue Jul 06 14:17:03 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); +}