53 return QVariant(); |
53 return QVariant(); |
54 } |
54 } |
55 |
55 |
56 void MemSpyKernelObjectView::initialize(const QVariantMap& params) |
56 void MemSpyKernelObjectView::initialize(const QVariantMap& params) |
57 { |
57 { |
58 MemSpyView::initialize(params); |
|
59 |
|
60 QStringList list = QStringList() << "Threads" << "Processes" << "Chunks" << "Libraries" << |
58 QStringList list = QStringList() << "Threads" << "Processes" << "Chunks" << "Libraries" << |
61 "Semaphores" << "Mutexes" << "Timers" << "Servers" << "Sessions" << "Logical Devices" << |
59 "Semaphores" << "Mutexes" << "Timers" << "Servers" << "Sessions" << "Logical Devices" << |
62 "Physical Devices" << "Logical Channels" << "Change Notifiers" << "Undertakers" << |
60 "Physical Devices" << "Logical Channels" << "Change Notifiers" << "Undertakers" << |
63 "Message Queues" << "Property Refs." << "Conditional Vars."; |
61 "Message Queues" << "Property Refs." << "Conditional Vars."; |
64 |
62 |
65 int type = params.value("type").toInt(); |
63 int type = params.value("type").toInt(); |
66 |
64 |
67 setTitle(list.at(type)); |
65 setTitle(list.at(type)); |
68 |
66 |
|
67 MemSpyView::initialize(params); |
|
68 |
69 //mListView.setModel(new MemSpyKernelObjectTypeModel(mEngine, this)); |
69 //mListView.setModel(new MemSpyKernelObjectTypeModel(mEngine, this)); |
70 mListView.setModel(new MemSpyKernelObjectModel(mEngine, type, this)); |
70 mListView.setModel(new MemSpyKernelObjectModel(mEngine, type, this)); |
71 |
71 |
72 connect(&mListView, SIGNAL(activated(QModelIndex)), this, SLOT(itemClicked(QModelIndex))); |
72 connect(&mListView, SIGNAL(activated(QModelIndex)), this, SLOT(itemClicked(QModelIndex))); |
73 } |
73 } |
74 |
74 |
|
75 bool MemSpyKernelObjectView::isBreadCrumbVisible() const |
|
76 { |
|
77 return true; |
|
78 } |
|
79 |
|
80 QString MemSpyKernelObjectView::getBreadCrumbText() const |
|
81 { |
|
82 return tr("Kernel Objects"); |
|
83 } |
|
84 |
|
85 |
75 void MemSpyKernelObjectView::itemClicked(const QModelIndex& index) |
86 void MemSpyKernelObjectView::itemClicked(const QModelIndex& index) |
76 { |
87 { |
77 QVariantMap map; |
88 QVariantMap map; |
78 map.insert("details", getDetails(static_cast<MemSpyKernelObject*>(qVariantValue<void*>(index.data(Qt::UserRole))))); |
89 map.insert("details", getDetails(static_cast<MemSpyKernelObject*>(qVariantValue<void*>(index.data(Qt::UserRole))))); |
|
90 map.insert("typeName", title()); |
|
91 map.insert("objectName", static_cast<MemSpyKernelObject*>(qVariantValue<void*>(index.data(Qt::UserRole)))->nameDetail()); |
79 mViewManager.showView(KernelObjectDetailView, map); |
92 mViewManager.showView(KernelObjectDetailView, map); |
80 } |
93 } |
81 |
94 |
82 QStringList MemSpyKernelObjectView::getDetails(MemSpyKernelObject *object) |
95 QStringList MemSpyKernelObjectView::getDetails(MemSpyKernelObject *object) |
83 { |
96 { |