mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-06 18:40:36 +00:00
Qt/Debugger: Split register misc state info to separate panels
This commit is contained in:
parent
1231274e0f
commit
9024ba69b4
@ -84,16 +84,23 @@ debugger_frame::debugger_frame(std::shared_ptr<gui_settings> settings, QWidget *
|
|||||||
hbox_b_main->addWidget(m_choice_units);
|
hbox_b_main->addWidget(m_choice_units);
|
||||||
hbox_b_main->addStretch();
|
hbox_b_main->addStretch();
|
||||||
|
|
||||||
//Registers
|
// Misc state
|
||||||
|
m_misc_state = new QTextEdit(this);
|
||||||
|
m_misc_state->setLineWrapMode(QTextEdit::NoWrap);
|
||||||
|
m_misc_state->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
|
||||||
|
|
||||||
|
// Registers
|
||||||
m_regs = new QTextEdit(this);
|
m_regs = new QTextEdit(this);
|
||||||
m_regs->setLineWrapMode(QTextEdit::NoWrap);
|
m_regs->setLineWrapMode(QTextEdit::NoWrap);
|
||||||
m_regs->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
|
m_regs->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
|
||||||
|
|
||||||
m_debugger_list->setFont(m_mono);
|
m_debugger_list->setFont(m_mono);
|
||||||
|
m_misc_state->setFont(m_mono);
|
||||||
m_regs->setFont(m_mono);
|
m_regs->setFont(m_mono);
|
||||||
|
|
||||||
m_right_splitter = new QSplitter(this);
|
m_right_splitter = new QSplitter(this);
|
||||||
m_right_splitter->setOrientation(Qt::Vertical);
|
m_right_splitter->setOrientation(Qt::Vertical);
|
||||||
|
m_right_splitter->addWidget(m_misc_state);
|
||||||
m_right_splitter->addWidget(m_regs);
|
m_right_splitter->addWidget(m_regs);
|
||||||
m_right_splitter->addWidget(m_breakpoint_list);
|
m_right_splitter->addWidget(m_breakpoint_list);
|
||||||
m_right_splitter->setStretchFactor(0, 1);
|
m_right_splitter->setStretchFactor(0, 1);
|
||||||
@ -416,22 +423,30 @@ void debugger_frame::DoUpdate()
|
|||||||
}
|
}
|
||||||
|
|
||||||
ShowPC();
|
ShowPC();
|
||||||
WriteRegs();
|
WritePanels();
|
||||||
}
|
}
|
||||||
|
|
||||||
void debugger_frame::WriteRegs()
|
void debugger_frame::WritePanels()
|
||||||
{
|
{
|
||||||
const auto cpu = this->cpu.lock();
|
const auto cpu = this->cpu.lock();
|
||||||
|
|
||||||
if (!cpu)
|
if (!cpu)
|
||||||
{
|
{
|
||||||
|
m_misc_state->clear();
|
||||||
m_regs->clear();
|
m_regs->clear();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int loc = m_regs->verticalScrollBar()->value();
|
int loc;
|
||||||
|
|
||||||
|
loc = m_regs->verticalScrollBar()->value();
|
||||||
|
m_misc_state->clear();
|
||||||
|
m_misc_state->setText(qstr(cpu->dump_misc()));
|
||||||
|
m_misc_state->verticalScrollBar()->setValue(loc);
|
||||||
|
|
||||||
|
loc = m_regs->verticalScrollBar()->value();
|
||||||
m_regs->clear();
|
m_regs->clear();
|
||||||
m_regs->setText(qstr(cpu->dump()));
|
m_regs->setText(qstr(cpu->dump_regs()));
|
||||||
m_regs->verticalScrollBar()->setValue(loc);
|
m_regs->verticalScrollBar()->setValue(loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ class debugger_frame : public custom_dock_widget
|
|||||||
debugger_list* m_debugger_list;
|
debugger_list* m_debugger_list;
|
||||||
QSplitter* m_right_splitter;
|
QSplitter* m_right_splitter;
|
||||||
QFont m_mono;
|
QFont m_mono;
|
||||||
|
QTextEdit* m_misc_state;
|
||||||
QTextEdit* m_regs;
|
QTextEdit* m_regs;
|
||||||
QPushButton* m_go_to_addr;
|
QPushButton* m_go_to_addr;
|
||||||
QPushButton* m_go_to_pc;
|
QPushButton* m_go_to_pc;
|
||||||
@ -65,7 +66,7 @@ public:
|
|||||||
|
|
||||||
u32 GetPc() const;
|
u32 GetPc() const;
|
||||||
void DoUpdate();
|
void DoUpdate();
|
||||||
void WriteRegs();
|
void WritePanels();
|
||||||
void EnableButtons(bool enable);
|
void EnableButtons(bool enable);
|
||||||
void ShowGotoAddressDialog();
|
void ShowGotoAddressDialog();
|
||||||
u64 EvaluateExpression(const QString& expression);
|
u64 EvaluateExpression(const QString& expression);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user