Moved refreshing of target pin states, upon an IO port update event, to target package widget class.

Functionality for the target package widget is now completely contained within the TargetPackageWidget class (and derivations).
This commit is contained in:
Nav
2021-09-04 18:07:12 +01:00
parent dd25fc9bf2
commit 10a737e90c
2 changed files with 8 additions and 8 deletions

View File

@@ -23,15 +23,11 @@ TargetPackageWidget::TargetPackageWidget(
this->connect( this->connect(
&(this->insightWorker), &(this->insightWorker),
&InsightWorker::targetPinStatesUpdated, &InsightWorker::targetIoPortsUpdated,
this, this,
[this] (int variantId, const Targets::TargetPinStateMappingType& pinStatesByNumber) { [this] {
if (variantId == this->targetVariant.id) { if (this->targetState == TargetState::STOPPED) {
this->updatePinStates(pinStatesByNumber); this->refreshPinStates();
if (this->targetState == TargetState::STOPPED && !this->isEnabled()) {
this->setDisabled(false);
}
} }
} }
); );

View File

@@ -33,5 +33,9 @@ namespace Bloom::Widgets::InsightTargetWidgets
public: public:
TargetPackageWidget(Targets::TargetVariant targetVariant, InsightWorker& insightWorker, QWidget* parent); TargetPackageWidget(Targets::TargetVariant targetVariant, InsightWorker& insightWorker, QWidget* parent);
virtual void refreshPinStates(std::optional<std::function<void(void)>> callback = std::nullopt); virtual void refreshPinStates(std::optional<std::function<void(void)>> callback = std::nullopt);
virtual void setTargetState(Targets::TargetState targetState) {
this->targetState = targetState;
}
}; };
} }