17 |
17 |
18 #include <QStringListModel> |
18 #include <QStringListModel> |
19 |
19 |
20 #include "memspykernelobjectdetailview.h" |
20 #include "memspykernelobjectdetailview.h" |
21 |
21 |
|
22 MemSpyKernelObjectDetailModel::MemSpyKernelObjectDetailModel(const QStringList& details, QObject *parent) : |
|
23 QAbstractListModel(parent), |
|
24 mDetails(details) |
|
25 { |
|
26 |
|
27 } |
|
28 |
|
29 int MemSpyKernelObjectDetailModel::rowCount(const QModelIndex &parent) const |
|
30 { |
|
31 Q_UNUSED(parent); |
|
32 return mDetails.count(); |
|
33 } |
|
34 |
|
35 QVariant MemSpyKernelObjectDetailModel::data(const QModelIndex &index, int role) const |
|
36 { |
|
37 if (role == Qt::DisplayRole) { |
|
38 |
|
39 // convert from semicolon delimited line to two lines |
|
40 return mDetails.at(index.row()).split(": "); |
|
41 } |
|
42 |
|
43 return QVariant(); |
|
44 } |
|
45 |
|
46 |
22 void MemSpyKernelObjectDetailView::initialize(const QVariantMap& params) |
47 void MemSpyKernelObjectDetailView::initialize(const QVariantMap& params) |
23 { |
48 { |
|
49 setTitle("Details"); |
|
50 |
|
51 mTypeName = params["typeName"].toString(); |
|
52 mObjectName = params["objectName"].toString(); |
24 MemSpyView::initialize(params); |
53 MemSpyView::initialize(params); |
25 |
54 |
26 setTitle("Details"); |
|
27 QStringList items = params.value("details").toStringList(); |
55 QStringList items = params.value("details").toStringList(); |
28 mListView.setModel(new QStringListModel(items, this)); |
56 mListView.setModel(new MemSpyKernelObjectDetailModel(items, this)); |
29 } |
57 } |
|
58 |
|
59 bool MemSpyKernelObjectDetailView::isBreadCrumbVisible() const |
|
60 { |
|
61 return true; |
|
62 } |
|
63 |
|
64 QString MemSpyKernelObjectDetailView::getBreadCrumbText() const |
|
65 { |
|
66 return tr("Kernel Objects > %1 > %2").arg(mTypeName).arg(mObjectName); |
|
67 } |