Recalculate fits on state changes

This commit is contained in:
cncfanatics
2010-10-20 16:11:18 +02:00
parent 5ef0a8cded
commit d12f581d5b
2 changed files with 6 additions and 2 deletions

View File

@@ -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()))

View File

@@ -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,