Persist newly obtained register value to inspeciton window

This commit is contained in:
Nav
2021-09-21 21:17:03 +01:00
parent 2ef7fff79b
commit 073a9e8bb7
3 changed files with 17 additions and 3 deletions

View File

@@ -199,6 +199,12 @@ bool TargetRegisterInspectorWindow::registerSupported(const Targets::TargetRegis
return (descriptor.size > 0 && descriptor.size <= 8); return (descriptor.size > 0 && descriptor.size <= 8);
} }
void TargetRegisterInspectorWindow::setValue(const Targets::TargetMemoryBuffer& registerValue) {
this->registerValue = registerValue;
this->registerHistoryWidget->updateCurrentItemValue(this->registerValue);
this->registerHistoryWidget->selectCurrentItem();
}
void TargetRegisterInspectorWindow::onValueTextInputChanged(QString text) { void TargetRegisterInspectorWindow::onValueTextInputChanged(QString text) {
if (text.isEmpty()) { if (text.isEmpty()) {
text = "0"; text = "0";
@@ -276,9 +282,7 @@ void TargetRegisterInspectorWindow::refreshRegisterValue() {
for (const auto& targetRegister : targetRegisters) { for (const auto& targetRegister : targetRegisters) {
if (targetRegister.descriptor == this->registerDescriptor) { if (targetRegister.descriptor == this->registerDescriptor) {
this->registerValue = targetRegister.value; this->setValue(targetRegister.value);
this->registerHistoryWidget->updateCurrentItemValue(this->registerValue);
this->registerHistoryWidget->selectCurrentItem();
} }
} }
} }

View File

@@ -64,5 +64,7 @@ namespace Bloom::Widgets
); );
static bool registerSupported(const Targets::TargetRegisterDescriptor& descriptor); static bool registerSupported(const Targets::TargetRegisterDescriptor& descriptor);
void setValue(const Targets::TargetMemoryBuffer& registerValue);
}; };
} }

View File

@@ -82,6 +82,10 @@ void RegisterWidget::setRegisterValue(const Targets::TargetRegister& targetRegis
this->valueLabel->style()->polish(this->valueLabel); this->valueLabel->style()->polish(this->valueLabel);
this->valueLabel->setText(registerValue); this->valueLabel->setText(registerValue);
if (this->inspectWindow != nullptr) {
this->inspectWindow->setValue(targetRegister.value);
}
} }
void RegisterWidget::clearInlineValue() { void RegisterWidget::clearInlineValue() {
@@ -101,6 +105,10 @@ void RegisterWidget::openInspectionWindow() {
); );
} else { } else {
if (this->currentRegister.has_value()) {
this->inspectWindow->setValue(this->currentRegister->value);
}
this->inspectWindow->show(); this->inspectWindow->show();
} }
} }