Merge pull request #9512 from sepalani/func-update

CodeViewWidget: Add WithDetailedUpdate to update CodeWidget
This commit is contained in:
Léo Lam
2021-02-14 16:30:05 +01:00
committed by GitHub
4 changed files with 21 additions and 7 deletions

View File

@ -442,8 +442,19 @@ void CodeViewWidget::SetAddress(u32 address, SetAddressUpdate update)
return;
m_address = address;
if (update == SetAddressUpdate::WithUpdate)
switch (update)
{
case SetAddressUpdate::WithoutUpdate:
return;
case SetAddressUpdate::WithUpdate:
// Update the CodeViewWidget
Update();
break;
case SetAddressUpdate::WithDetailedUpdate:
// Update the CodeWidget's views (code view, function calls/callers, ...)
emit UpdateCodeWidget();
break;
}
}
void CodeViewWidget::ReplaceAddress(u32 address, ReplaceWith replace)
@ -611,7 +622,7 @@ void CodeViewWidget::OnFollowBranch()
if (!branch_addr)
return;
SetAddress(branch_addr, SetAddressUpdate::WithUpdate);
SetAddress(branch_addr, SetAddressUpdate::WithDetailedUpdate);
}
void CodeViewWidget::OnRenameSymbol()
@ -785,7 +796,7 @@ void CodeViewWidget::mousePressEvent(QMouseEvent* event)
if (column(item) == CODE_VIEW_COLUMN_BREAKPOINT)
ToggleBreakpoint();
else
SetAddress(addr, SetAddressUpdate::WithUpdate);
SetAddress(addr, SetAddressUpdate::WithDetailedUpdate);
Update();
break;

View File

@ -25,7 +25,8 @@ public:
enum class SetAddressUpdate
{
WithUpdate,
WithoutUpdate
WithoutUpdate,
WithDetailedUpdate
};
explicit CodeViewWidget();
@ -49,6 +50,7 @@ signals:
void ShowMemory(u32 address);
void SymbolsChanged();
void BreakpointsChanged();
void UpdateCodeWidget();
private:
enum class ReplaceWith

View File

@ -170,6 +170,7 @@ void CodeWidget::ConnectWidgets()
connect(m_code_view, &CodeViewWidget::SymbolsChanged, this, &CodeWidget::UpdateSymbols);
connect(m_code_view, &CodeViewWidget::BreakpointsChanged, this,
[this] { emit BreakpointsChanged(); });
connect(m_code_view, &CodeViewWidget::UpdateCodeWidget, this, &CodeWidget::Update);
connect(m_code_view, &CodeViewWidget::RequestPPCComparison, this,
&CodeWidget::RequestPPCComparison);