[VDE] Consolidate statistical analysis into a separate object (#6392)

* [VDE] Consolidate statistical analysis into a separate object so multiple widgets can re-use calculations and calculation is only performed once on data change.

* [VDE] Lint.

* [VDE] Move struct up to not confuse compiler.

* [VDE] NoDiscards

* [VDE] Move variables

* [VDE] Lint.
This commit is contained in:
BruebachL 2025-12-02 13:51:08 +01:00 committed by GitHub
parent 364d0ca52b
commit f0ebd28148
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 215 additions and 202 deletions

View file

@ -17,20 +17,19 @@ DeckAnalyticsWidget::DeckAnalyticsWidget(QWidget *parent, DeckListModel *_deckLi
container->setLayout(containerLayout);
scrollArea->setWidget(container);
manaCurveWidget = new ManaCurveWidget(this, deckListModel);
deckListStatisticsAnalyzer = new DeckListStatisticsAnalyzer(this, deckListModel);
manaCurveWidget = new ManaCurveWidget(this, deckListStatisticsAnalyzer);
containerLayout->addWidget(manaCurveWidget);
manaDevotionWidget = new ManaDevotionWidget(this, deckListModel);
manaDevotionWidget = new ManaDevotionWidget(this, deckListStatisticsAnalyzer);
containerLayout->addWidget(manaDevotionWidget);
manaBaseWidget = new ManaBaseWidget(this, deckListModel);
manaBaseWidget = new ManaBaseWidget(this, deckListStatisticsAnalyzer);
containerLayout->addWidget(manaBaseWidget);
}
void DeckAnalyticsWidget::refreshDisplays(DeckListModel *_deckModel)
void DeckAnalyticsWidget::refreshDisplays()
{
deckListModel = _deckModel;
manaCurveWidget->setDeckModel(_deckModel);
manaDevotionWidget->setDeckModel(_deckModel);
manaBaseWidget->setDeckModel(_deckModel);
deckListStatisticsAnalyzer->update();
}