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

Method data

pcsx2-qt/Debugger/StackModel.cpp:25–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23}
24
25QVariant StackModel::data(const QModelIndex& index, int role) const
26{
27 size_t row = static_cast<size_t>(index.row());
28 if (row >= m_stackFrames.size())
29 return QVariant();
30
31 const auto& stackFrame = m_stackFrames[row];
32
33 if (role == Qt::DisplayRole)
34 {
35 switch (index.column())
36 {
37 case StackModel::ENTRY:
38 return QtUtils::FilledQStringFromValue(stackFrame.entry, 16);
39 case StackModel::ENTRY_LABEL:
40 return QString::fromStdString(m_cpu.GetSymbolGuardian().FunctionStartingAtAddress(stackFrame.entry).name);
41 case StackModel::PC:
42 return QtUtils::FilledQStringFromValue(stackFrame.pc, 16);
43 case StackModel::PC_OPCODE:
44 return m_cpu.disasm(stackFrame.pc, true).c_str();
45 case StackModel::SP:
46 return QtUtils::FilledQStringFromValue(stackFrame.sp, 16);
47 case StackModel::SIZE:
48 return QString::number(stackFrame.stackSize);
49 }
50 }
51 else if (role == Qt::UserRole)
52 {
53 const auto& stackFrame = m_stackFrames.at(index.row());
54 switch (index.column())
55 {
56 case StackModel::ENTRY:
57 return stackFrame.entry;
58 case StackModel::ENTRY_LABEL:
59 return QString::fromStdString(m_cpu.GetSymbolGuardian().FunctionStartingAtAddress(stackFrame.entry).name);
60 case StackModel::PC:
61 return stackFrame.pc;
62 case StackModel::PC_OPCODE:
63 return m_cpu.disasm(stackFrame.pc, true).c_str();
64 case StackModel::SP:
65 return stackFrame.sp;
66 case StackModel::SIZE:
67 return stackFrame.stackSize;
68 }
69 }
70
71 return QVariant();
72}
73
74QVariant StackModel::headerData(int section, Qt::Orientation orientation, int role) const
75{

Callers 15

wmainFunction · 0.45
StringViewToQStringFunction · 0.45
AbstractItemModelToCSVFunction · 0.45
getChangesCompleteMethod · 0.45
processUpdateMethod · 0.45
nativeEventMethod · 0.45

Calls 7

QVariantClass · 0.85
FilledQStringFromValueFunction · 0.85
disasmMethod · 0.80
atMethod · 0.80
sizeMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected