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);
}
void TargetRegisterInspectorWindow::setValue(const Targets::TargetMemoryBuffer& registerValue) {
this->registerValue = registerValue;
this->registerHistoryWidget->updateCurrentItemValue(this->registerValue);
this->registerHistoryWidget->selectCurrentItem();
}
void TargetRegisterInspectorWindow::onValueTextInputChanged(QString text) {
if (text.isEmpty()) {
text = "0";
@@ -276,9 +282,7 @@ void TargetRegisterInspectorWindow::refreshRegisterValue() {
for (const auto& targetRegister : targetRegisters) {
if (targetRegister.descriptor == this->registerDescriptor) {
this->registerValue = targetRegister.value;
this->registerHistoryWidget->updateCurrentItemValue(this->registerValue);
this->registerHistoryWidget->selectCurrentItem();
this->setValue(targetRegister.value);
}
}
}

View File

@@ -64,5 +64,7 @@ namespace Bloom::Widgets
);
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->setText(registerValue);
if (this->inspectWindow != nullptr) {
this->inspectWindow->setValue(targetRegister.value);
}
}
void RegisterWidget::clearInlineValue() {
@@ -101,6 +105,10 @@ void RegisterWidget::openInspectionWindow() {
);
} else {
if (this->currentRegister.has_value()) {
this->inspectWindow->setValue(this->currentRegister->value);
}
this->inspectWindow->show();
}
}