Persist newly obtained register value to inspeciton window
This commit is contained in:
@@ -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();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user