Handling programming mode enabled/disabled events in Insight

This commit is contained in:
Nav
2022-06-05 17:00:56 +01:00
parent f33d6062a4
commit ddf53ab0f8
8 changed files with 97 additions and 0 deletions

View File

@@ -85,6 +85,20 @@ namespace Bloom::Widgets
&TargetMemoryInspectionPane::onTargetStateChanged
);
QObject::connect(
&insightWorker,
&InsightWorker::programmingModeEnabled,
this,
&TargetMemoryInspectionPane::onProgrammingModeEnabled
);
QObject::connect(
&insightWorker,
&InsightWorker::programmingModeDisabled,
this,
&TargetMemoryInspectionPane::onProgrammingModeDisabled
);
QObject::connect(
this->hexViewerWidget->refreshButton,
&QToolButton::clicked,
@@ -295,4 +309,12 @@ namespace Bloom::Widgets
void TargetMemoryInspectionPane::onMemoryRegionsChange() {
this->hexViewerWidget->refreshRegions();
}
void TargetMemoryInspectionPane::onProgrammingModeEnabled() {
this->hexViewerWidget->setDisabled(true);
}
void TargetMemoryInspectionPane::onProgrammingModeDisabled() {
this->hexViewerWidget->setDisabled(this->targetState != Targets::TargetState::STOPPED);
}
}

View File

@@ -63,5 +63,7 @@ namespace Bloom::Widgets
void onMemoryRead(const Targets::TargetMemoryBuffer& buffer);
void openMemoryRegionManagerWindow();
void onMemoryRegionsChange();
void onProgrammingModeEnabled();
void onProgrammingModeDisabled();
};
}

View File

@@ -31,6 +31,20 @@ namespace Bloom::Widgets::InsightTargetWidgets
&TargetPackageWidget::onRegistersWritten
);
QObject::connect(
&(this->insightWorker),
&InsightWorker::programmingModeEnabled,
this,
&TargetPackageWidget::onProgrammingModeEnabled
);
QObject::connect(
&(this->insightWorker),
&InsightWorker::programmingModeDisabled,
this,
&TargetPackageWidget::onProgrammingModeDisabled
);
this->setDisabled(true);
}
@@ -85,6 +99,18 @@ namespace Bloom::Widgets::InsightTargetWidgets
}
}
void TargetPackageWidget::onProgrammingModeEnabled() {
if (this->targetState == TargetState::STOPPED) {
this->setDisabled(true);
}
}
void TargetPackageWidget::onProgrammingModeDisabled() {
if (this->targetState == TargetState::STOPPED) {
this->setDisabled(false);
}
}
void TargetPackageWidget::onRegistersWritten(Targets::TargetRegisters targetRegisters) {
if (this->targetState != TargetState::STOPPED) {
return;

View File

@@ -46,6 +46,8 @@ namespace Bloom::Widgets::InsightTargetWidgets
protected slots:
virtual void updatePinStates(const Targets::TargetPinStateMappingType& pinStatesByNumber);
void onTargetStateChanged(Targets::TargetState newState);
void onProgrammingModeEnabled();
void onProgrammingModeDisabled();
void onRegistersWritten(Targets::TargetRegisters targetRegisters);
};
}