MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / data

Method data

pcsx2-qt/Debugger/ThreadModel.cpp:24–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22}
23
24QVariant ThreadModel::data(const QModelIndex& index, int role) const
25{
26 size_t row = static_cast<size_t>(index.row());
27 if (row >= m_threads.size())
28 return QVariant();
29
30 const BiosThread* thread = m_threads[row].get();
31
32 if (role == Qt::DisplayRole)
33 {
34 switch (index.column())
35 {
36 case ThreadModel::ID:
37 return thread->TID();
38 case ThreadModel::PC:
39 {
40 if (thread->Status() == ThreadStatus::THS_RUN)
41 return QtUtils::FilledQStringFromValue(m_cpu.getPC(), 16);
42
43 return QtUtils::FilledQStringFromValue(thread->PC(), 16);
44 }
45 case ThreadModel::ENTRY:
46 return QtUtils::FilledQStringFromValue(thread->EntryPoint(), 16);
47 case ThreadModel::PRIORITY:
48 return QString::number(thread->Priority());
49 case ThreadModel::STATE:
50 {
51 const auto& state = ThreadStateStrings.find(thread->Status());
52 if (state != ThreadStateStrings.end())
53 return state->second;
54
55 return tr("INVALID");
56 }
57 case ThreadModel::WAIT_TYPE:
58 {
59 const auto& waitType = ThreadWaitStrings.find(thread->Wait());
60 if (waitType != ThreadWaitStrings.end())
61 return waitType->second;
62
63 return tr("INVALID");
64 }
65 case ThreadModel::WAIT_ID:
66 return QtUtils::FilledQStringFromValue(thread->WaitId(), 16);
67 }
68 }
69 else if (role == Qt::UserRole)
70 {
71 switch (index.column())
72 {
73 case ThreadModel::ID:
74 return thread->TID();
75 case ThreadModel::PC:
76 {
77 if (thread->Status() == ThreadStatus::THS_RUN)
78 return m_cpu.getPC();
79
80 return thread->PC();
81 }

Callers

nothing calls this directly

Calls 14

QVariantClass · 0.85
FilledQStringFromValueFunction · 0.85
getPCMethod · 0.80
sizeMethod · 0.45
getMethod · 0.45
TIDMethod · 0.45
StatusMethod · 0.45
PCMethod · 0.45
EntryPointMethod · 0.45
PriorityMethod · 0.45
findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected