From d12f581d5b534b0bae3f7348394ae9c019b3d515 Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Wed, 20 Oct 2010 16:11:18 +0200 Subject: [PATCH] Recalculate fits on state changes --- gui/fittingView.py | 3 ++- service/fit.py | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gui/fittingView.py b/gui/fittingView.py index 693423617..bebf1c388 100644 --- a/gui/fittingView.py +++ b/gui/fittingView.py @@ -178,6 +178,7 @@ class FittingView(d.Display): col = self.getColumn(event.Position) if col == self.getColIndex(ModuleState): sFit = service.Fit.getInstance() - sFit.toggleModulesState(self.mods[self.GetItemData(row)], self.getSelectedMods(), "right" if event.Button == 3 else "left") + fitID = self.mainFrame.getActiveFit() + sFit.toggleModulesState(fitID, self.mods[self.GetItemData(row)], self.getSelectedMods(), "right" if event.Button == 3 else "left") wx.PostEvent(self.mainFrame, FitChanged(fitID=self.mainFrame.getActiveFit())) diff --git a/service/fit.py b/service/fit.py index 6ff2d633f..93676944d 100644 --- a/service/fit.py +++ b/service/fit.py @@ -292,7 +292,7 @@ class Fit(object): for fit in fits: eos.db.save(fit) - def toggleModulesState(self, base, modules, click): + def toggleModulesState(self, fitID, base, modules, click): proposedState = self.__getProposedState(base, click) if proposedState != base.state: base.state = proposedState @@ -301,6 +301,9 @@ class Fit(object): mod.state = self.__getProposedState(mod, click, proposedState) eos.db.commit() + fit = eos.db.getFit(fitID) + fit.clear() + fit.calculateModifiedAttributes() # Old state : New State transitionMap = {State.OVERHEATED: State.ACTIVE,