From fa2bceaff9e1e32882725cf7a9f0f68b57c4ec8f Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Tue, 30 Apr 2019 13:21:39 +0300 Subject: [PATCH] Allow recalculating fit without changing slot layout (e.g. when t3c subs added/removed) --- gui/fitCommands/calc/module/localRemove.py | 6 +- gui/fitCommands/calc/module/localReplace.py | 5 +- gui/fitCommands/gui/booster/add.py | 8 +- gui/fitCommands/gui/booster/changeMeta.py | 7 +- gui/fitCommands/gui/booster/remove.py | 8 +- .../gui/booster/sideEffectToggleState.py | 8 +- gui/fitCommands/gui/booster/toggleStates.py | 8 +- gui/fitCommands/gui/commandFit/add.py | 8 +- gui/fitCommands/gui/commandFit/remove.py | 8 +- .../gui/commandFit/toggleStates.py | 8 +- gui/fitCommands/gui/fitRestrictionToggle.py | 7 +- gui/fitCommands/gui/implant/add.py | 15 +- gui/fitCommands/gui/implant/changeLocation.py | 8 +- gui/fitCommands/gui/implant/changeMeta.py | 7 +- gui/fitCommands/gui/implant/remove.py | 8 +- gui/fitCommands/gui/implant/setAdd.py | 8 +- gui/fitCommands/gui/implant/toggleStates.py | 8 +- gui/fitCommands/gui/itemsRebase.py | 5 +- gui/fitCommands/gui/localDrone/add.py | 8 +- .../gui/localDrone/changeAmount.py | 8 +- gui/fitCommands/gui/localDrone/changeMetas.py | 7 +- gui/fitCommands/gui/localDrone/remove.py | 8 +- gui/fitCommands/gui/localDrone/stackSplit.py | 7 +- gui/fitCommands/gui/localDrone/stacksMerge.py | 7 +- .../gui/localDrone/toggleStates.py | 8 +- .../gui/localFighter/abilityToggleState.py | 8 +- gui/fitCommands/gui/localFighter/add.py | 8 +- .../gui/localFighter/changeAmount.py | 8 +- .../gui/localFighter/changeMetas.py | 7 +- gui/fitCommands/gui/localFighter/remove.py | 8 +- .../gui/localFighter/toggleStates.py | 8 +- gui/fitCommands/gui/localModule/add.py | 8 +- .../gui/localModule/changeCharges.py | 8 +- .../gui/localModule/changeMetas.py | 7 +- .../gui/localModule/changeSpool.py | 8 +- .../gui/localModule/changeStates.py | 8 +- gui/fitCommands/gui/localModule/clone.py | 7 +- gui/fitCommands/gui/localModule/fillAdd.py | 8 +- gui/fitCommands/gui/localModule/fillClone.py | 5 +- .../gui/localModule/mutatedConvert.py | 7 +- .../gui/localModule/mutatedImport.py | 8 +- .../gui/localModule/mutatedRevert.py | 7 +- gui/fitCommands/gui/localModule/remove.py | 5 +- gui/fitCommands/gui/localModule/replace.py | 8 +- .../localModuleCargo/cargoToLocalModule.py | 7 +- .../localModuleCargo/localModuleToCargo.py | 8 +- gui/fitCommands/gui/projectedChangeStates.py | 8 +- gui/fitCommands/gui/projectedDrone/add.py | 8 +- .../gui/projectedDrone/changeAmount.py | 8 +- .../gui/projectedDrone/changeMetas.py | 7 +- .../projectedFighter/abilityToggleState.py | 8 +- gui/fitCommands/gui/projectedFighter/add.py | 8 +- .../gui/projectedFighter/changeAmount.py | 8 +- .../gui/projectedFighter/changeMetas.py | 7 +- gui/fitCommands/gui/projectedFit/add.py | 8 +- .../gui/projectedFit/changeAmount.py | 8 +- gui/fitCommands/gui/projectedModule/add.py | 8 +- .../gui/projectedModule/changeCharges.py | 8 +- .../gui/projectedModule/changeMetas.py | 7 +- .../gui/projectedModule/changeSpool.py | 8 +- gui/fitCommands/gui/projectedRemove.py | 8 +- gui/fitCommands/gui/shipModeChange.py | 8 +- service/fit.py | 21 +- service/fitDeprecated.py | 605 ------------------ service/port/dna.py | 4 +- service/port/eft.py | 8 +- service/port/esi.py | 4 +- service/port/xml.py | 4 +- 68 files changed, 375 insertions(+), 745 deletions(-) delete mode 100644 service/fitDeprecated.py diff --git a/gui/fitCommands/calc/module/localRemove.py b/gui/fitCommands/calc/module/localRemove.py index 276534d82..502b484e4 100644 --- a/gui/fitCommands/calc/module/localRemove.py +++ b/gui/fitCommands/calc/module/localRemove.py @@ -61,12 +61,12 @@ class CalcRemoveLocalModulesCommand(wx.Command): if len(self.savedSubInfos) > 0: for position, modInfo in self.savedSubInfos.items(): cmd = CalcReplaceLocalModuleCommand( - fitID=self.fitID, position=position, newModInfo=modInfo, commit=False, fill=False) + fitID=self.fitID, position=position, newModInfo=modInfo, commit=False) results.append(cmd.Do()) - sFit.recalc(fit, fill=False) + sFit.recalc(fit) for position, modInfo in self.savedModInfos.items(): cmd = CalcReplaceLocalModuleCommand( - fitID=self.fitID, position=position, newModInfo=modInfo, commit=False, fill=False) + fitID=self.fitID, position=position, newModInfo=modInfo, commit=False) results.append(cmd.Do()) if not any(results): return False diff --git a/gui/fitCommands/calc/module/localReplace.py b/gui/fitCommands/calc/module/localReplace.py index 7a8f5f1d1..dbcc7c651 100644 --- a/gui/fitCommands/calc/module/localReplace.py +++ b/gui/fitCommands/calc/module/localReplace.py @@ -12,7 +12,7 @@ pyfalog = Logger(__name__) class CalcReplaceLocalModuleCommand(wx.Command): - def __init__(self, fitID, position, newModInfo, unloadInvalidCharges=False, commit=True, fill=True): + def __init__(self, fitID, position, newModInfo, unloadInvalidCharges=False, commit=True): wx.Command.__init__(self, True, 'Replace Module') self.fitID = fitID self.position = position @@ -20,7 +20,6 @@ class CalcReplaceLocalModuleCommand(wx.Command): self.oldModInfo = None self.unloadInvalidCharges = unloadInvalidCharges self.commit = commit - self.fill = fill self.savedStateCheckChanges = None self.savedRemovedDummies = None self.unloadedCharge = None @@ -63,7 +62,7 @@ class CalcReplaceLocalModuleCommand(wx.Command): # Need to flush because checkStates sometimes relies on module->fit # relationship via .owner attribute, which is handled by SQLAlchemy eos.db.flush() - self.savedRemovedDummies = sFit.recalc(fit, fill=self.fill) + self.savedRemovedDummies = sFit.recalc(fit) self.savedStateCheckChanges = sFit.checkStates(fit, newMod) if self.commit: eos.db.commit() diff --git a/gui/fitCommands/gui/booster/add.py b/gui/fitCommands/gui/booster/add.py index b3b34434b..9c8db0b00 100644 --- a/gui/fitCommands/gui/booster/add.py +++ b/gui/fitCommands/gui/booster/add.py @@ -18,12 +18,16 @@ class GuiAddBoosterCommand(wx.Command): def Do(self): cmd = CalcAddBoosterCommand(fitID=self.fitID, boosterInfo=BoosterInfo(itemID=self.itemID)) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/booster/changeMeta.py b/gui/fitCommands/gui/booster/changeMeta.py index 0f48cdb6d..3167993ec 100644 --- a/gui/fitCommands/gui/booster/changeMeta.py +++ b/gui/fitCommands/gui/booster/changeMeta.py @@ -26,12 +26,15 @@ class GuiChangeBoosterMetaCommand(wx.Command): info.itemID = self.newItemID cmd = CalcAddBoosterCommand(fitID=self.fitID, boosterInfo=info) success = self.internalHistory.submit(cmd) - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/booster/remove.py b/gui/fitCommands/gui/booster/remove.py index fdd40a27d..2732938c3 100644 --- a/gui/fitCommands/gui/booster/remove.py +++ b/gui/fitCommands/gui/booster/remove.py @@ -23,13 +23,17 @@ class GuiRemoveBoostersCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/booster/sideEffectToggleState.py b/gui/fitCommands/gui/booster/sideEffectToggleState.py index d09e788c6..bffb6741c 100644 --- a/gui/fitCommands/gui/booster/sideEffectToggleState.py +++ b/gui/fitCommands/gui/booster/sideEffectToggleState.py @@ -19,12 +19,16 @@ class GuiToggleBoosterSideEffectStateCommand(wx.Command): def Do(self): cmd = CalcToggleBoosterSideEffectStateCommand(fitID=self.fitID, position=self.position, effectID=self.effectID) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/booster/toggleStates.py b/gui/fitCommands/gui/booster/toggleStates.py index 6cafec36f..8b2d6b469 100644 --- a/gui/fitCommands/gui/booster/toggleStates.py +++ b/gui/fitCommands/gui/booster/toggleStates.py @@ -19,12 +19,16 @@ class GuiToggleBoosterStatesCommand(wx.Command): def Do(self): cmd = CalcToggleBoosterStatesCommand(fitID=self.fitID, mainPosition=self.mainPosition, positions=self.positions) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/commandFit/add.py b/gui/fitCommands/gui/commandFit/add.py index 031041cc9..88d4b792d 100644 --- a/gui/fitCommands/gui/commandFit/add.py +++ b/gui/fitCommands/gui/commandFit/add.py @@ -18,12 +18,16 @@ class GuiAddCommandFitCommand(wx.Command): def Do(self): cmd = CalcAddCommandCommand(fitID=self.fitID, commandFitID=self.commandFitID) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/commandFit/remove.py b/gui/fitCommands/gui/commandFit/remove.py index 4424adbbb..4fefc2985 100644 --- a/gui/fitCommands/gui/commandFit/remove.py +++ b/gui/fitCommands/gui/commandFit/remove.py @@ -23,13 +23,17 @@ class GuiRemoveCommandFitsCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/commandFit/toggleStates.py b/gui/fitCommands/gui/commandFit/toggleStates.py index 1eaf94736..3cbc90330 100644 --- a/gui/fitCommands/gui/commandFit/toggleStates.py +++ b/gui/fitCommands/gui/commandFit/toggleStates.py @@ -22,12 +22,16 @@ class GuiToggleCommandFitStatesCommand(wx.Command): mainCommandFitID=self.mainCommandFitID, commandFitIDs=self.commandFitIDs) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/fitRestrictionToggle.py b/gui/fitCommands/gui/fitRestrictionToggle.py index a1419001d..b9b0d788f 100644 --- a/gui/fitCommands/gui/fitRestrictionToggle.py +++ b/gui/fitCommands/gui/fitRestrictionToggle.py @@ -16,7 +16,8 @@ class GuiToggleFittingRestrictionsCommand(wx.Command): self.fitID = fitID def Do(self): - fit = Fit.getInstance().getFit(self.fitID) + sFit = Fit.getInstance() + fit = sFit.getFit(self.fitID) fit.ignoreRestrictions = not fit.ignoreRestrictions success = True @@ -30,7 +31,8 @@ class GuiToggleFittingRestrictionsCommand(wx.Command): success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success @@ -41,5 +43,6 @@ class GuiToggleFittingRestrictionsCommand(wx.Command): success = self.internalHistory.undoAll() eos.db.commit() sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/implant/add.py b/gui/fitCommands/gui/implant/add.py index 2dbf5b712..9acfae7eb 100644 --- a/gui/fitCommands/gui/implant/add.py +++ b/gui/fitCommands/gui/implant/add.py @@ -28,16 +28,21 @@ class GuiAddImplantCommand(wx.Command): successSource = False cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=ImplantInfo(itemID=self.itemID), commit=False) successImplant = self.internalHistory.submit(cmd) - eos.db.commit() - sFit.recalc(fit) - wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) # Acceptable behavior when we already have passed implant and just switch source, or # when we have source and add implant, but not if we do not change anything - return successSource or successImplant + success = successSource or successImplant + eos.db.commit() + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) + wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) + return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/implant/changeLocation.py b/gui/fitCommands/gui/implant/changeLocation.py index e966f7f9d..e87471add 100644 --- a/gui/fitCommands/gui/implant/changeLocation.py +++ b/gui/fitCommands/gui/implant/changeLocation.py @@ -18,12 +18,16 @@ class GuiChangeImplantLocationCommand(wx.Command): def Do(self): cmd = CalcChangeImplantLocationCommand(fitID=self.fitID, source=self.source) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/implant/changeMeta.py b/gui/fitCommands/gui/implant/changeMeta.py index 2987ae694..7d778343c 100644 --- a/gui/fitCommands/gui/implant/changeMeta.py +++ b/gui/fitCommands/gui/implant/changeMeta.py @@ -26,12 +26,15 @@ class GuiChangeImplantMetaCommand(wx.Command): info.itemID = self.newItemID cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=info) success = self.internalHistory.submit(cmd) - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/implant/remove.py b/gui/fitCommands/gui/implant/remove.py index 0beb0543b..cb4ebc4ee 100644 --- a/gui/fitCommands/gui/implant/remove.py +++ b/gui/fitCommands/gui/implant/remove.py @@ -23,13 +23,17 @@ class GuiRemoveImplantsCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) eos.db.commit() + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/implant/setAdd.py b/gui/fitCommands/gui/implant/setAdd.py index 02d490c5b..4e335deb2 100644 --- a/gui/fitCommands/gui/implant/setAdd.py +++ b/gui/fitCommands/gui/implant/setAdd.py @@ -22,7 +22,9 @@ class GuiAddImplantSetCommand(wx.Command): cmd = CalcAddImplantCommand(fitID=self.fitID, implantInfo=ImplantInfo(itemID=itemID), commit=False) results.append(self.internalHistory.submit(cmd)) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) # Some might fail, as we already might have these implants return any(results) @@ -30,6 +32,8 @@ class GuiAddImplantSetCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/implant/toggleStates.py b/gui/fitCommands/gui/implant/toggleStates.py index 03939276f..923415582 100644 --- a/gui/fitCommands/gui/implant/toggleStates.py +++ b/gui/fitCommands/gui/implant/toggleStates.py @@ -19,12 +19,16 @@ class GuiToggleImplantStatesCommand(wx.Command): def Do(self): cmd = CalcToggleImplantStatesCommand(fitID=self.fitID, mainPosition=self.mainPosition, positions=self.positions) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/itemsRebase.py b/gui/fitCommands/gui/itemsRebase.py index 00cbae666..8be52a681 100644 --- a/gui/fitCommands/gui/itemsRebase.py +++ b/gui/fitCommands/gui/itemsRebase.py @@ -65,12 +65,15 @@ class GuiRebaseItemsCommand(wx.Command): self.internalHistory.submitBatch(cmdRemove, cmdAdd) eos.db.commit() sFit.recalc(fit) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return len(self.internalHistory) > 0 def Undo(self): + sFit = Fit.getInstance() success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localDrone/add.py b/gui/fitCommands/gui/localDrone/add.py index 74f775e5c..4a1607c76 100644 --- a/gui/fitCommands/gui/localDrone/add.py +++ b/gui/fitCommands/gui/localDrone/add.py @@ -19,12 +19,16 @@ class GuiAddLocalDroneCommand(wx.Command): def Do(self): cmd = CalcAddLocalDroneCommand(fitID=self.fitID, droneInfo=DroneInfo(itemID=self.itemID, amount=self.amount, amountActive=0)) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localDrone/changeAmount.py b/gui/fitCommands/gui/localDrone/changeAmount.py index 8b6e349de..2834c8e95 100644 --- a/gui/fitCommands/gui/localDrone/changeAmount.py +++ b/gui/fitCommands/gui/localDrone/changeAmount.py @@ -25,12 +25,16 @@ class GuiChangeLocalDroneAmountCommand(wx.Command): else: cmd = CalcRemoveLocalDroneCommand(fitID=self.fitID, position=self.position, amount=math.inf) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localDrone/changeMetas.py b/gui/fitCommands/gui/localDrone/changeMetas.py index 57b5d2010..0127b7e87 100644 --- a/gui/fitCommands/gui/localDrone/changeMetas.py +++ b/gui/fitCommands/gui/localDrone/changeMetas.py @@ -43,13 +43,16 @@ class GuiChangeLocalDroneMetasCommand(wx.Command): results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd)) success = any(results) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localDrone/remove.py b/gui/fitCommands/gui/localDrone/remove.py index abe97167d..d30d002ed 100644 --- a/gui/fitCommands/gui/localDrone/remove.py +++ b/gui/fitCommands/gui/localDrone/remove.py @@ -28,13 +28,17 @@ class GuiRemoveLocalDronesCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localDrone/stackSplit.py b/gui/fitCommands/gui/localDrone/stackSplit.py index c6300ccd7..5062ad020 100644 --- a/gui/fitCommands/gui/localDrone/stackSplit.py +++ b/gui/fitCommands/gui/localDrone/stackSplit.py @@ -40,13 +40,16 @@ class GuiSplitLocalDroneStackCommand(wx.Command): commit=False)) success = self.internalHistory.submitBatch(*commands) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localDrone/stacksMerge.py b/gui/fitCommands/gui/localDrone/stacksMerge.py index 0677fdb2a..ac25384e2 100644 --- a/gui/fitCommands/gui/localDrone/stacksMerge.py +++ b/gui/fitCommands/gui/localDrone/stacksMerge.py @@ -41,13 +41,16 @@ class GuiMergeLocalDroneStacksCommand(wx.Command): commit=False)) success = self.internalHistory.submitBatch(*commands) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localDrone/toggleStates.py b/gui/fitCommands/gui/localDrone/toggleStates.py index 656e2a1a6..4f5b595d0 100644 --- a/gui/fitCommands/gui/localDrone/toggleStates.py +++ b/gui/fitCommands/gui/localDrone/toggleStates.py @@ -22,12 +22,16 @@ class GuiToggleLocalDroneStatesCommand(wx.Command): mainPosition=self.mainPosition, positions=self.positions) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localFighter/abilityToggleState.py b/gui/fitCommands/gui/localFighter/abilityToggleState.py index 6c8d1bed7..3c509a6ed 100644 --- a/gui/fitCommands/gui/localFighter/abilityToggleState.py +++ b/gui/fitCommands/gui/localFighter/abilityToggleState.py @@ -25,12 +25,16 @@ class GuiToggleLocalFighterAbilityStateCommand(wx.Command): positions=self.positions, effectID=self.effectID) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localFighter/add.py b/gui/fitCommands/gui/localFighter/add.py index a0664cf54..37cee084d 100644 --- a/gui/fitCommands/gui/localFighter/add.py +++ b/gui/fitCommands/gui/localFighter/add.py @@ -18,12 +18,16 @@ class GuiAddLocalFighterCommand(wx.Command): def Do(self): cmd = CalcAddLocalFighterCommand(fitID=self.fitID, fighterInfo=FighterInfo(itemID=self.itemID)) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localFighter/changeAmount.py b/gui/fitCommands/gui/localFighter/changeAmount.py index 39fb60fd3..ed88fe469 100644 --- a/gui/fitCommands/gui/localFighter/changeAmount.py +++ b/gui/fitCommands/gui/localFighter/changeAmount.py @@ -23,12 +23,16 @@ class GuiChangeLocalFighterAmountCommand(wx.Command): else: cmd = CalcRemoveLocalFighterCommand(fitID=self.fitID, position=self.position) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localFighter/changeMetas.py b/gui/fitCommands/gui/localFighter/changeMetas.py index 0e264a908..ef4016ddf 100644 --- a/gui/fitCommands/gui/localFighter/changeMetas.py +++ b/gui/fitCommands/gui/localFighter/changeMetas.py @@ -39,13 +39,16 @@ class GuiChangeLocalFighterMetasCommand(wx.Command): results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd)) success = any(results) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localFighter/remove.py b/gui/fitCommands/gui/localFighter/remove.py index d48c7efa6..0f47a8133 100644 --- a/gui/fitCommands/gui/localFighter/remove.py +++ b/gui/fitCommands/gui/localFighter/remove.py @@ -23,13 +23,17 @@ class GuiRemoveLocalFightersCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localFighter/toggleStates.py b/gui/fitCommands/gui/localFighter/toggleStates.py index 887ecf5d6..0ef093ea8 100644 --- a/gui/fitCommands/gui/localFighter/toggleStates.py +++ b/gui/fitCommands/gui/localFighter/toggleStates.py @@ -22,12 +22,16 @@ class GuiToggleLocalFighterStatesCommand(wx.Command): mainPosition=self.mainPosition, positions=self.positions) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localModule/add.py b/gui/fitCommands/gui/localModule/add.py index c6e3101e9..1b9e8072f 100644 --- a/gui/fitCommands/gui/localModule/add.py +++ b/gui/fitCommands/gui/localModule/add.py @@ -18,7 +18,9 @@ class GuiAddLocalModuleCommand(wx.Command): def Do(self): cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=ModuleInfo(itemID=self.itemID)) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.itemID) @@ -28,7 +30,9 @@ class GuiAddLocalModuleCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.itemID) diff --git a/gui/fitCommands/gui/localModule/changeCharges.py b/gui/fitCommands/gui/localModule/changeCharges.py index fb60ef55f..15b8f10a3 100644 --- a/gui/fitCommands/gui/localModule/changeCharges.py +++ b/gui/fitCommands/gui/localModule/changeCharges.py @@ -19,12 +19,16 @@ class GuiChangeLocalModuleChargesCommand(wx.Command): def Do(self): cmd = CalcChangeModuleChargesCommand(fitID=self.fitID, projected=False, chargeMap={p: self.chargeItemID for p in self.positions}) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localModule/changeMetas.py b/gui/fitCommands/gui/localModule/changeMetas.py index a74ce3d50..fe0bda8ed 100644 --- a/gui/fitCommands/gui/localModule/changeMetas.py +++ b/gui/fitCommands/gui/localModule/changeMetas.py @@ -43,7 +43,8 @@ class GuiChangeLocalModuleMetasCommand(wx.Command): return False success = self.internalHistory.submitBatch(*commands) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) events = [] if success and self.replacedItemIDs: events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.replacedItemIDs)) @@ -58,7 +59,9 @@ class GuiChangeLocalModuleMetasCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) events = [] if success: events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.newItemID)) diff --git a/gui/fitCommands/gui/localModule/changeSpool.py b/gui/fitCommands/gui/localModule/changeSpool.py index e75efa7bf..3bd4fac75 100644 --- a/gui/fitCommands/gui/localModule/changeSpool.py +++ b/gui/fitCommands/gui/localModule/changeSpool.py @@ -25,12 +25,16 @@ class GuiChangeLocalModuleSpoolCommand(wx.Command): spoolType=self.spoolType, spoolAmount=self.spoolAmount) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localModule/changeStates.py b/gui/fitCommands/gui/localModule/changeStates.py index 17acf267c..a37d375d4 100644 --- a/gui/fitCommands/gui/localModule/changeStates.py +++ b/gui/fitCommands/gui/localModule/changeStates.py @@ -24,12 +24,16 @@ class GuiChangeLocalModuleStatesCommand(wx.Command): positions=self.positions, click=self.click) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localModule/clone.py b/gui/fitCommands/gui/localModule/clone.py index 95c5e8b69..0429ab31d 100644 --- a/gui/fitCommands/gui/localModule/clone.py +++ b/gui/fitCommands/gui/localModule/clone.py @@ -24,7 +24,8 @@ class GuiCloneLocalModuleCommand(wx.Command): cmd = CalcCloneLocalModuleCommand(fitID=self.fitID, srcPosition=self.srcPosition, dstPosition=self.dstPosition) success = self.internalHistory.submit(cmd) fit = sFit.getFit(self.fitID) - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) self.savedItemID = fit.modules[self.srcPosition].itemID if success and self.savedItemID is not None: event = GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.savedItemID) @@ -35,7 +36,9 @@ class GuiCloneLocalModuleCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) if success and self.savedItemID is not None: event = GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.savedItemID) else: diff --git a/gui/fitCommands/gui/localModule/fillAdd.py b/gui/fitCommands/gui/localModule/fillAdd.py index 4ff5c044c..fb7e6f372 100644 --- a/gui/fitCommands/gui/localModule/fillAdd.py +++ b/gui/fitCommands/gui/localModule/fillAdd.py @@ -25,7 +25,9 @@ class GuiFillWithNewLocalModulesCommand(wx.Command): break added_modules += 1 eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) success = added_modules > 0 wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), @@ -37,7 +39,9 @@ class GuiFillWithNewLocalModulesCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.itemID) diff --git a/gui/fitCommands/gui/localModule/fillClone.py b/gui/fitCommands/gui/localModule/fillClone.py index 60f501db3..8c09e07c4 100644 --- a/gui/fitCommands/gui/localModule/fillClone.py +++ b/gui/fitCommands/gui/localModule/fillClone.py @@ -31,6 +31,7 @@ class GuiFillWithClonedLocalModulesCommand(wx.Command): added_modules += 1 eos.db.commit() sFit.recalc(self.fitID) + sFit.fill(self.fitID) success = added_modules > 0 wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), @@ -42,7 +43,9 @@ class GuiFillWithClonedLocalModulesCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.savedItemID) diff --git a/gui/fitCommands/gui/localModule/mutatedConvert.py b/gui/fitCommands/gui/localModule/mutatedConvert.py index d8db12430..dd6680a11 100644 --- a/gui/fitCommands/gui/localModule/mutatedConvert.py +++ b/gui/fitCommands/gui/localModule/mutatedConvert.py @@ -38,12 +38,15 @@ class GuiConvertMutatedLocalModuleCommand(wx.Command): spoolType=mod.spoolType, spoolAmount=mod.spoolAmount)) success = self.internalHistory.submit(cmd) - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localModule/mutatedImport.py b/gui/fitCommands/gui/localModule/mutatedImport.py index ef67e263e..c91dbc52a 100644 --- a/gui/fitCommands/gui/localModule/mutatedImport.py +++ b/gui/fitCommands/gui/localModule/mutatedImport.py @@ -22,7 +22,9 @@ class GuiImportLocalMutatedModuleCommand(wx.Command): def Do(self): cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=self.newModInfo) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.newModInfo.itemID)) @@ -30,7 +32,9 @@ class GuiImportLocalMutatedModuleCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.newModInfo.itemID)) diff --git a/gui/fitCommands/gui/localModule/mutatedRevert.py b/gui/fitCommands/gui/localModule/mutatedRevert.py index 658d680b9..115e68e97 100644 --- a/gui/fitCommands/gui/localModule/mutatedRevert.py +++ b/gui/fitCommands/gui/localModule/mutatedRevert.py @@ -33,12 +33,15 @@ class GuiRevertMutatedLocalModuleCommand(wx.Command): spoolType=mod.spoolType, spoolAmount=mod.spoolAmount)) success = self.internalHistory.submit(cmd) - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/localModule/remove.py b/gui/fitCommands/gui/localModule/remove.py index 58e9ce973..e01a8cfcd 100644 --- a/gui/fitCommands/gui/localModule/remove.py +++ b/gui/fitCommands/gui/localModule/remove.py @@ -23,6 +23,7 @@ class GuiRemoveLocalModuleCommand(wx.Command): cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=self.positions) success = self.internalHistory.submit(cmd) sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.savedTypeIDs) @@ -32,7 +33,9 @@ class GuiRemoveLocalModuleCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.savedTypeIDs) diff --git a/gui/fitCommands/gui/localModule/replace.py b/gui/fitCommands/gui/localModule/replace.py index 94c86124f..02d41224e 100644 --- a/gui/fitCommands/gui/localModule/replace.py +++ b/gui/fitCommands/gui/localModule/replace.py @@ -25,7 +25,9 @@ class GuiReplaceLocalModuleCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.itemID) @@ -36,7 +38,9 @@ class GuiReplaceLocalModuleCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.itemID) diff --git a/gui/fitCommands/gui/localModuleCargo/cargoToLocalModule.py b/gui/fitCommands/gui/localModuleCargo/cargoToLocalModule.py index c6ad3ec7c..e31ebfc0b 100644 --- a/gui/fitCommands/gui/localModuleCargo/cargoToLocalModule.py +++ b/gui/fitCommands/gui/localModuleCargo/cargoToLocalModule.py @@ -138,7 +138,8 @@ class GuiCargoToLocalModuleCommand(wx.Command): else: return False eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) events = [] if self.removedModItemID is not None: events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.removedModItemID)) @@ -153,7 +154,9 @@ class GuiCargoToLocalModuleCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) events = [] if self.addedModItemID is not None: events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.addedModItemID)) diff --git a/gui/fitCommands/gui/localModuleCargo/localModuleToCargo.py b/gui/fitCommands/gui/localModuleCargo/localModuleToCargo.py index 624c07a6b..0efd5356c 100644 --- a/gui/fitCommands/gui/localModuleCargo/localModuleToCargo.py +++ b/gui/fitCommands/gui/localModuleCargo/localModuleToCargo.py @@ -116,7 +116,9 @@ class GuiLocalModuleToCargoCommand(wx.Command): commit=False)) success = self.internalHistory.submitBatch(*commands) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) events = [] if self.removedModItemID is not None: events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.removedModItemID)) @@ -131,7 +133,9 @@ class GuiLocalModuleToCargoCommand(wx.Command): def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) events = [] if self.addedModItemID is not None: events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.addedModItemID)) diff --git a/gui/fitCommands/gui/projectedChangeStates.py b/gui/fitCommands/gui/projectedChangeStates.py index f3d2fced6..7bace6554 100644 --- a/gui/fitCommands/gui/projectedChangeStates.py +++ b/gui/fitCommands/gui/projectedChangeStates.py @@ -88,13 +88,17 @@ class GuiChangeProjectedItemStatesCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedDrone/add.py b/gui/fitCommands/gui/projectedDrone/add.py index c3c776969..ee2ace5fa 100644 --- a/gui/fitCommands/gui/projectedDrone/add.py +++ b/gui/fitCommands/gui/projectedDrone/add.py @@ -18,12 +18,16 @@ class GuiAddProjectedDroneCommand(wx.Command): def Do(self): cmd = CalcAddProjectedDroneCommand(fitID=self.fitID, droneInfo=DroneInfo(itemID=self.itemID, amount=1, amountActive=1)) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedDrone/changeAmount.py b/gui/fitCommands/gui/projectedDrone/changeAmount.py index 3da19047c..ef966f693 100644 --- a/gui/fitCommands/gui/projectedDrone/changeAmount.py +++ b/gui/fitCommands/gui/projectedDrone/changeAmount.py @@ -25,12 +25,16 @@ class GuiChangeProjectedDroneAmountCommand(wx.Command): else: cmd = CalcRemoveProjectedDroneCommand(fitID=self.fitID, itemID=self.itemID, amount=math.inf) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedDrone/changeMetas.py b/gui/fitCommands/gui/projectedDrone/changeMetas.py index b7695d9c1..286872be6 100644 --- a/gui/fitCommands/gui/projectedDrone/changeMetas.py +++ b/gui/fitCommands/gui/projectedDrone/changeMetas.py @@ -37,13 +37,16 @@ class GuiChangeProjectedDroneMetasCommand(wx.Command): results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd)) success = any(results) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedFighter/abilityToggleState.py b/gui/fitCommands/gui/projectedFighter/abilityToggleState.py index 3d1f278ad..d39548faf 100644 --- a/gui/fitCommands/gui/projectedFighter/abilityToggleState.py +++ b/gui/fitCommands/gui/projectedFighter/abilityToggleState.py @@ -25,12 +25,16 @@ class GuiToggleProjectedFighterAbilityStateCommand(wx.Command): positions=self.positions, effectID=self.effectID) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedFighter/add.py b/gui/fitCommands/gui/projectedFighter/add.py index ba75398fc..a095e8197 100644 --- a/gui/fitCommands/gui/projectedFighter/add.py +++ b/gui/fitCommands/gui/projectedFighter/add.py @@ -18,12 +18,16 @@ class GuiAddProjectedFighterCommand(wx.Command): def Do(self): cmd = CalcAddProjectedFighterCommand(fitID=self.fitID, fighterInfo=FighterInfo(itemID=self.itemID)) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedFighter/changeAmount.py b/gui/fitCommands/gui/projectedFighter/changeAmount.py index 3835adc57..b62baa357 100644 --- a/gui/fitCommands/gui/projectedFighter/changeAmount.py +++ b/gui/fitCommands/gui/projectedFighter/changeAmount.py @@ -23,12 +23,16 @@ class GuiChangeProjectedFighterAmountCommand(wx.Command): else: cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=self.position) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedFighter/changeMetas.py b/gui/fitCommands/gui/projectedFighter/changeMetas.py index 05ee73a84..cdc8464f7 100644 --- a/gui/fitCommands/gui/projectedFighter/changeMetas.py +++ b/gui/fitCommands/gui/projectedFighter/changeMetas.py @@ -33,13 +33,16 @@ class GuiChangeProjectedFighterMetasCommand(wx.Command): results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd)) success = any(results) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedFit/add.py b/gui/fitCommands/gui/projectedFit/add.py index 87ec79587..a6054fc35 100644 --- a/gui/fitCommands/gui/projectedFit/add.py +++ b/gui/fitCommands/gui/projectedFit/add.py @@ -19,12 +19,16 @@ class GuiAddProjectedFitCommand(wx.Command): def Do(self): cmd = CalcAddProjectedFitCommand(fitID=self.fitID, projectedFitID=self.projectedFitID, amount=self.amount) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedFit/changeAmount.py b/gui/fitCommands/gui/projectedFit/changeAmount.py index 7c7a315a5..07a34d412 100644 --- a/gui/fitCommands/gui/projectedFit/changeAmount.py +++ b/gui/fitCommands/gui/projectedFit/changeAmount.py @@ -25,12 +25,16 @@ class GuiChangeProjectedFitAmountCommand(wx.Command): else: cmd = CalcRemoveProjectedFitCommand(fitID=self.fitID, projectedFitID=self.projectedFitID, amount=math.inf) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedModule/add.py b/gui/fitCommands/gui/projectedModule/add.py index 58319d44c..b7ae32174 100644 --- a/gui/fitCommands/gui/projectedModule/add.py +++ b/gui/fitCommands/gui/projectedModule/add.py @@ -18,12 +18,16 @@ class GuiAddProjectedModuleCommand(wx.Command): def Do(self): cmd = CalcAddProjectedModuleCommand(fitID=self.fitID, modInfo=ModuleInfo(itemID=self.itemID)) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedModule/changeCharges.py b/gui/fitCommands/gui/projectedModule/changeCharges.py index 754df15d3..7c2816365 100644 --- a/gui/fitCommands/gui/projectedModule/changeCharges.py +++ b/gui/fitCommands/gui/projectedModule/changeCharges.py @@ -19,12 +19,16 @@ class GuiChangeProjectedModuleChargesCommand(wx.Command): def Do(self): cmd = CalcChangeModuleChargesCommand(fitID=self.fitID, projected=True, chargeMap={p: self.chargeItemID for p in self.positions}) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedModule/changeMetas.py b/gui/fitCommands/gui/projectedModule/changeMetas.py index 4eeb96412..d85e80521 100644 --- a/gui/fitCommands/gui/projectedModule/changeMetas.py +++ b/gui/fitCommands/gui/projectedModule/changeMetas.py @@ -33,13 +33,16 @@ class GuiChangeProjectedModuleMetasCommand(wx.Command): results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd)) success = any(results) eos.db.commit() - sFit.recalc(fit) + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedModule/changeSpool.py b/gui/fitCommands/gui/projectedModule/changeSpool.py index 819232ce9..021a6e941 100644 --- a/gui/fitCommands/gui/projectedModule/changeSpool.py +++ b/gui/fitCommands/gui/projectedModule/changeSpool.py @@ -25,12 +25,16 @@ class GuiChangeProjectedModuleSpoolCommand(wx.Command): spoolType=self.spoolType, spoolAmount=self.spoolAmount) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/projectedRemove.py b/gui/fitCommands/gui/projectedRemove.py index a0c872ffb..29f703987 100644 --- a/gui/fitCommands/gui/projectedRemove.py +++ b/gui/fitCommands/gui/projectedRemove.py @@ -57,13 +57,17 @@ class GuiRemoveProjectedItemsCommand(wx.Command): results.append(self.internalHistory.submit(cmd)) success = any(results) eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() eos.db.commit() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/gui/fitCommands/gui/shipModeChange.py b/gui/fitCommands/gui/shipModeChange.py index 3e5624e64..c407b2510 100644 --- a/gui/fitCommands/gui/shipModeChange.py +++ b/gui/fitCommands/gui/shipModeChange.py @@ -18,12 +18,16 @@ class GuiChangeShipModeCommand(wx.Command): def Do(self): cmd = CalcChangeShipModeCommand(fitID=self.fitID, itemID=self.itemID) success = self.internalHistory.submit(cmd) - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success def Undo(self): success = self.internalHistory.undoAll() - Fit.getInstance().recalc(self.fitID) + sFit = Fit.getInstance() + sFit.recalc(self.fitID) + sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success diff --git a/service/fit.py b/service/fit.py index 5e9b8cb1c..0132f183a 100644 --- a/service/fit.py +++ b/service/fit.py @@ -34,7 +34,6 @@ from eos.saveddata.fit import Fit as FitType from eos.saveddata.ship import Ship as es_Ship from service.character import Character from service.damagePattern import DamagePattern -from service.fitDeprecated import FitDeprecated from service.settings import SettingsProvider from utils.deprecated import deprecated @@ -56,7 +55,7 @@ class DeferRecalc: # inherits from FitDeprecated so that I can move all the dead shit, but not affect functionality -class Fit(FitDeprecated): +class Fit: instance = None processors = {} @@ -178,6 +177,7 @@ class Fit(FitDeprecated): fit.implantLocation = ImplantLocation.CHARACTER if useCharImplants else ImplantLocation.FIT eos.db.save(fit) self.recalc(fit) + self.fill(fit) return fit.ID @staticmethod @@ -281,6 +281,7 @@ class Fit(FitDeprecated): if not fit.calculated: self.recalc(fit) + self.fill(fit) def getFit(self, fitID, projected=False, basic=False): """ @@ -307,7 +308,7 @@ class Fit(FitDeprecated): for fitP in fit.projectedFits: self.getFit(fitP.ID, projected=True) self.recalc(fit) - fit.fill() + self.fill(fit) # this will loop through modules and set their restriction flag (set in m.fit()) if fit.ignoreRestrictions: @@ -357,6 +358,7 @@ class Fit(FitDeprecated): fit = eos.db.getFit(fitID) fit.character = self.character = eos.db.getCharacter(charID) self.recalc(fit) + self.fill(fit) @staticmethod def getTargetResists(fitID): @@ -469,8 +471,9 @@ class Fit(FitDeprecated): fit = eos.db.getFit(fitID) eos.db.commit() self.recalc(fit) + self.fill(fit) - def recalc(self, fit, fill=True): + def recalc(self, fit): if isinstance(fit, int): fit = self.getFit(fit) start_time = time() @@ -480,9 +483,9 @@ class Fit(FitDeprecated): fit.clear() fit.calculateModifiedAttributes() - if fill: - removedDummies = fit.fill() - else: - removedDummies = {} pyfalog.info("=" * 10 + "recalc time: " + str(time() - start_time) + "=" * 10) - return removedDummies + + def fill(self, fit): + if isinstance(fit, int): + fit = self.getFit(fit) + return fit.fill() diff --git a/service/fitDeprecated.py b/service/fitDeprecated.py deleted file mode 100644 index f964d7702..000000000 --- a/service/fitDeprecated.py +++ /dev/null @@ -1,605 +0,0 @@ -# =============================================================================== -# Copyright (C) 2010 Diego Duclos -# -# This file is part of pyfa. -# -# pyfa is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# pyfa is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with pyfa. If not, see . -# =============================================================================== - -import copy -from logbook import Logger - -import eos.db -from eos.saveddata.booster import Booster as es_Booster -from eos.saveddata.cargo import Cargo as es_Cargo - -from eos.saveddata.drone import Drone as es_Drone -from eos.saveddata.fighter import Fighter as es_Fighter -from eos.saveddata.implant import Implant as es_Implant -from eos.saveddata.module import Module as es_Module -from eos.const import FittingModuleState -from eos.saveddata.fit import Fit as FitType -from utils.deprecated import deprecated - -pyfalog = Logger(__name__) - - -class FitDeprecated(object): - - @staticmethod - @deprecated - def renameFit(fitID, newName): - pyfalog.debug("Renaming fit ({0}) to: {1}", fitID, newName) - fit = eos.db.getFit(fitID) - old_name = fit.name - fit.name = newName - eos.db.commit() - return old_name, newName - - @deprecated - def toggleImplantSource(self, fitID, source): - pyfalog.debug("Toggling implant source for fit ID: {0}", fitID) - fit = eos.db.getFit(fitID) - fit.implantSource = source - - eos.db.commit() - self.recalc(fit) - return True - - @deprecated - def toggleDrone(self, fitID, i): - pyfalog.debug("Toggling drones for fit ID: {0}", fitID) - fit = eos.db.getFit(fitID) - d = fit.drones[i] - if d.amount == d.amountActive: - d.amountActive = 0 - else: - d.amountActive = d.amount - - eos.db.commit() - self.recalc(fit) - return True - - @deprecated - def removeDrone(self, fitID, i, numDronesToRemove=1, recalc=True): - pyfalog.debug("Removing {0} drones for fit ID: {1}", numDronesToRemove, fitID) - fit = eos.db.getFit(fitID) - d = fit.drones[i] - d.amount -= numDronesToRemove - if d.amountActive > 0: - d.amountActive -= numDronesToRemove - - if d.amount == 0: - del fit.drones[i] - - eos.db.commit() - if recalc: - self.recalc(fit) - return True - - @deprecated - def changeAmount(self, fitID, projected_fit, amount): - """Change amount of projected fits""" - pyfalog.debug("Changing fit ({0}) for projected fit ({1}) to new amount: {2}", fitID, - projected_fit.getProjectionInfo(fitID), amount) - fit = eos.db.getFit(fitID) - amount = min(20, max(1, amount)) # 1 <= a <= 20 - projectionInfo = projected_fit.getProjectionInfo(fitID) - if projectionInfo: - projectionInfo.amount = amount - - eos.db.commit() - self.recalc(fit) - - @deprecated - def changeActiveFighters(self, fitID, fighter, amount): - pyfalog.debug("Changing active fighters ({0}) for fit ({1}) to amount: {2}", fighter.itemID, fitID, amount) - fit = eos.db.getFit(fitID) - fighter.amountActive = amount - - eos.db.commit() - self.recalc(fit) - - @deprecated - def addDrone(self, fitID, itemID, numDronesToAdd=1, recalc=True): - pyfalog.debug("Adding {0} drones ({1}) to fit ID: {2}", numDronesToAdd, itemID, fitID) - if fitID is None: - return False - - fit = eos.db.getFit(fitID) - item = eos.db.getItem(itemID, eager=("attributes", "group.category")) - if item.category.name == "Drone": - drone = None - for d in fit.drones.find(item): - if d is not None and d.amountActive == 0 and d.amount < max(5, fit.extraAttributes["maxActiveDrones"]): - drone = d - break - - if drone is None: - drone = es_Drone(item) - if drone.fits(fit) is True: - fit.drones.append(drone) - else: - return False - drone.amount += numDronesToAdd - eos.db.commit() - if recalc: - self.recalc(fit) - return True - else: - return False - - @deprecated - def removeImplant(self, fitID, position, recalc=True): - pyfalog.debug("Removing implant from position ({0}) for fit ID: {1}", position, fitID) - if fitID is None: - return False - - fit = eos.db.getFit(fitID) - implant = fit.implants[position] - fit.implants.remove(implant) - if recalc: - self.recalc(fit) - return True - - @deprecated - def addBooster(self, fitID, itemID, recalc=True): - pyfalog.debug("Adding booster ({0}) to fit ID: {1}", itemID, fitID) - if fitID is None: - return False - - fit = eos.db.getFit(fitID) - item = eos.db.getItem(itemID, eager="attributes") - try: - booster = es_Booster(item) - except ValueError: - pyfalog.warning("Invalid item: {0}", itemID) - return False - - fit.boosters.append(booster) - if recalc: - self.recalc(fit) - return True - - @deprecated - def removeBooster(self, fitID, position, recalc=True): - pyfalog.debug("Removing booster from position ({0}) for fit ID: {1}", position, fitID) - if fitID is None: - return False - - fit = eos.db.getFit(fitID) - booster = fit.boosters[position] - fit.boosters.remove(booster) - if recalc: - self.recalc(fit) - return True - - @deprecated - def project(self, fitID, thing): - pyfalog.debug("Projecting fit ({0}) onto: {1}", fitID, thing) - if fitID is None: - return - - fit = eos.db.getFit(fitID) - - if isinstance(thing, int): - thing = eos.db.getItem(thing, - eager=("attributes", "group.category")) - - if isinstance(thing, es_Module): - thing = copy.deepcopy(thing) - fit.projectedModules.append(thing) - elif isinstance(thing, FitType): - if thing in fit.projectedFits: - return - - fit.projectedFitDict[thing.ID] = thing - - # this bit is required -- see GH issue # 83 - eos.db.saveddata_session.flush() - eos.db.saveddata_session.refresh(thing) - elif thing.category.name == "Drone": - drone = None - for d in fit.projectedDrones.find(thing): - if d is None or d.amountActive == d.amount or d.amount >= 5: - drone = d - break - - if drone is None: - drone = es_Drone(thing) - fit.projectedDrones.append(drone) - - drone.amount += 1 - elif thing.category.name == "Fighter": - fighter = es_Fighter(thing) - fit.projectedFighters.append(fighter) - elif thing.group.name in es_Module.SYSTEM_GROUPS: - module = es_Module(thing) - module.state = FittingModuleState.ONLINE - fit.projectedModules.append(module) - else: - try: - module = es_Module(thing) - except ValueError: - return False - module.state = FittingModuleState.ACTIVE - if not module.canHaveState(module.state, fit): - module.state = FittingModuleState.OFFLINE - fit.projectedModules.append(module) - - eos.db.commit() - self.recalc(fit) - return True - - @deprecated - def addCommandFit(self, fitID, thing): - pyfalog.debug("Projecting command fit ({0}) onto: {1}", fitID, thing) - if fitID is None: - return - - fit = eos.db.getFit(fitID) - - if thing in fit.commandFits: - return - - fit.commandFitDict[thing.ID] = thing - - # this bit is required -- see GH issue # 83 - eos.db.saveddata_session.flush() - eos.db.saveddata_session.refresh(thing) - - eos.db.commit() - self.recalc(fit) - return True - - @deprecated - def toggleCommandFit(self, fitID, thing): - pyfalog.debug("Toggle command fit ({0}) for: {1}", fitID, thing) - fit = eos.db.getFit(fitID) - commandInfo = thing.getCommandInfo(fitID) - if commandInfo: - commandInfo.active = not commandInfo.active - - eos.db.commit() - self.recalc(fit) - - @deprecated - def removeCommand(self, fitID, thing): - pyfalog.debug("Removing command projection from fit ({0}) for: {1}", fitID, thing) - fit = eos.db.getFit(fitID) - del fit.commandFitDict[thing.ID] - - eos.db.commit() - self.recalc(fit) - - @deprecated - def removeModule(self, fitID, positions): - """Removes modules based on a number of positions.""" - pyfalog.debug("Removing module from position ({0}) for fit ID: {1}", positions, fitID) - fit = eos.db.getFit(fitID) - - # Convert scalar value to list - if not isinstance(positions, list): - positions = [positions] - - modulesChanged = False - for x in positions: - if not fit.modules[x].isEmpty: - fit.modules.free(x) - modulesChanged = True - - # if no modules have changes, report back None - if not modulesChanged: - return None - - numSlots = len(fit.modules) - self.recalc(fit) - self.checkStates(fit, None) - fit.fill() - eos.db.commit() - return numSlots != len(fit.modules) - - @deprecated - def changeModule(self, fitID, position, newItemID, recalc=True): - fit = eos.db.getFit(fitID) - - # We're trying to add a charge to a slot, which won't work. Instead, try to add the charge to the module in that slot. - if self.isAmmo(newItemID): - module = fit.modules[position] - if not module.isEmpty: - self.setAmmo(fitID, newItemID, [module]) - return True - - pyfalog.debug("Changing position of module from position ({0}) for fit ID: {1}", position, fitID) - - item = eos.db.getItem(newItemID, eager=("attributes", "group.category")) - - # Dummy it out in case the next bit fails - fit.modules.free(position) - - try: - m = es_Module(item) - except ValueError: - pyfalog.warning("Invalid item: {0}", newItemID) - return False - - if m.fits(fit): - m.owner = fit - fit.modules.replace(position, m) - if m.isValidState(FittingModuleState.ACTIVE): - m.state = FittingModuleState.ACTIVE - - if recalc: - # As some items may affect state-limiting attributes of the ship, calculate new attributes first - self.recalc(fit) - # Then, check states of all modules and change where needed. This will recalc if needed - self.checkStates(fit, m) - - fit.fill() - eos.db.commit() - - return m - else: - return None - - @deprecated - def moveCargoToModule(self, fitID, moduleIdx, cargoIdx, copyMod=False): - """ - Moves cargo to fitting window. Can either do a copy, move, or swap with current module - If we try to copy/move into a spot with a non-empty module, we swap instead. - To avoid redundancy in converting Cargo item, this function does the - sanity checks as opposed to the GUI View. This is different than how the - normal .swapModules() does things, which is mostly a blind swap. - """ - - fit = eos.db.getFit(fitID) - module = fit.modules[moduleIdx] - cargo = fit.cargo[cargoIdx] - - # We're trying to move a charge from cargo to a slot - try to add charge to dst module. Don't do anything with - # the charge in the cargo (don't respect move vs copy) - if self.isAmmo(cargo.item.ID): - if not module.isEmpty: - self.setAmmo(fitID, cargo.item.ID, [module]) - return - - pyfalog.debug("Moving cargo item to module for fit ID: {0}", fitID) - - # Gather modules and convert Cargo item to Module, silently return if not a module - try: - cargoP = es_Module(cargo.item) - cargoP.owner = fit - if cargoP.isValidState(FittingModuleState.ACTIVE): - cargoP.state = FittingModuleState.ACTIVE - except: - pyfalog.warning("Invalid item: {0}", cargo.item) - return - - if cargoP.slot != module.slot: # can't swap modules to different racks - return - - # remove module that we are trying to move cargo to - fit.modules.remove(module) - - if not cargoP.fits(fit): # if cargo doesn't fit, rollback and return - fit.modules.insert(moduleIdx, module) - return - - fit.modules.insert(moduleIdx, cargoP) - - if not copyMod: # remove existing cargo if not cloning - if cargo.amount == 1: - fit.cargo.remove(cargo) - else: - cargo.amount -= 1 - - if not module.isEmpty: # if module is placeholder, we don't want to convert/add it - moduleItem = module.item if not module.item.isAbyssal else module.baseItem - for x in fit.cargo.find(moduleItem): - x.amount += 1 - break - else: - moduleP = es_Cargo(moduleItem) - moduleP.amount = 1 - fit.cargo.insert(cargoIdx, moduleP) - - eos.db.commit() - self.recalc(fit) - - @staticmethod - @deprecated - def swapModules(fitID, src, dst): - pyfalog.debug("Swapping modules from source ({0}) to destination ({1}) for fit ID: {1}", src, dst, fitID) - fit = eos.db.getFit(fitID) - # Gather modules - srcMod = fit.modules[src] - dstMod = fit.modules[dst] - - # To swap, we simply remove mod and insert at destination. - fit.modules.remove(srcMod) - fit.modules.insert(dst, srcMod) - fit.modules.remove(dstMod) - fit.modules.insert(src, dstMod) - - eos.db.commit() - - @deprecated - def cloneModule(self, fitID, src, dst): - """ - Clone a module from src to dst - This will overwrite dst! Checking for empty module must be - done at a higher level - """ - pyfalog.debug("Cloning modules from source ({0}) to destination ({1}) for fit ID: {1}", src, dst, fitID) - fit = eos.db.getFit(fitID) - # Gather modules - srcMod = fit.modules[src] - dstMod = fit.modules[dst] # should be a placeholder module - - new = copy.deepcopy(srcMod) - new.owner = fit - if new.fits(fit): - # insert copy if module meets hardpoint restrictions - fit.modules.remove(dstMod) - fit.modules.insert(dst, new) - - eos.db.commit() - self.recalc(fit) - - @deprecated - def addCargo(self, fitID, itemID, amount=1, replace=False): - """ - Adds cargo via typeID of item. If replace = True, we replace amount with - given parameter, otherwise we increment - """ - pyfalog.debug("Adding cargo ({0}) fit ID: {1}", itemID, fitID) - - if fitID is None: - return False - - fit = eos.db.getFit(fitID) - item = eos.db.getItem(itemID) - cargo = None - - # adding from market - for x in fit.cargo.find(item): - if x is not None: - # found item already in cargo, use previous value and remove old - cargo = x - fit.cargo.remove(x) - break - - if cargo is None: - # if we don't have the item already in cargo, use default values - cargo = es_Cargo(item) - - fit.cargo.append(cargo) - if replace: - cargo.amount = amount - else: - cargo.amount += amount - - self.recalc(fit) - eos.db.commit() - - return True - - @deprecated - def addFighter(self, fitID, itemID, recalc=True): - pyfalog.debug("Adding fighters ({0}) to fit ID: {1}", itemID, fitID) - if fitID is None: - return False - - fit = eos.db.getFit(fitID) - item = eos.db.getItem(itemID, eager=("attributes", "group.category")) - if item.category.name == "Fighter": - fighter = None - ''' - for d in fit.fighters.find(item): - if d is not None and d.amountActive == 0 and d.amount < max(5, fit.extraAttributes["maxActiveDrones"]): - drone = d - break - ''' - if fighter is None: - fighter = es_Fighter(item) - used = fit.getSlotsUsed(fighter.slot) - total = fit.getNumSlots(fighter.slot) - - if used >= total: - fighter.active = False - - if fighter.fits(fit) is True: - fit.fighters.append(fighter) - else: - return False - - eos.db.commit() - if recalc: - self.recalc(fit) - return True - else: - return False - - @deprecated - def removeFighter(self, fitID, i, recalc=True): - pyfalog.debug("Removing fighters from fit ID: {0}", fitID) - fit = eos.db.getFit(fitID) - f = fit.fighters[i] - fit.fighters.remove(f) - - eos.db.commit() - if recalc: - self.recalc(fit) - return True - - @deprecated - def toggleFighter(self, fitID, i): - pyfalog.debug("Toggling fighters for fit ID: {0}", fitID) - fit = eos.db.getFit(fitID) - f = fit.fighters[i] - f.active = not f.active - - eos.db.commit() - self.recalc(fit) - return True - - @deprecated - def toggleImplant(self, fitID, i): - pyfalog.debug("Toggling implant for fit ID: {0}", fitID) - fit = eos.db.getFit(fitID) - implant = fit.implants[i] - implant.active = not implant.active - - eos.db.commit() - self.recalc(fit) - return True - - @deprecated - def toggleBooster(self, fitID, i): - pyfalog.debug("Toggling booster for fit ID: {0}", fitID) - fit = eos.db.getFit(fitID) - booster = fit.boosters[i] - booster.active = not booster.active - - eos.db.commit() - self.recalc(fit) - return True - - @deprecated - def setAmmo(self, fitID, ammoID, modules, recalc=True): - pyfalog.debug("Set ammo for fit ID: {0}", fitID) - if fitID is None: - return - - fit = eos.db.getFit(fitID) - ammo = eos.db.getItem(ammoID) if ammoID else None - - for mod in modules: - if mod.isValidCharge(ammo): - mod.charge = ammo - - if recalc: - self.recalc(fit) - - @deprecated - def setMode(self, fitID, mode): - pyfalog.debug("Set mode for fit ID: {0}", fitID) - if fitID is None: - return - - fit = eos.db.getFit(fitID) - fit.mode = mode - eos.db.commit() - - self.recalc(fit) diff --git a/service/port/dna.py b/service/port/dna.py index 9b1a5ecee..d4661c1b8 100644 --- a/service/port/dna.py +++ b/service/port/dna.py @@ -112,7 +112,9 @@ def importDna(string): moduleList.append(m) # Recalc to get slot numbers correct for T3 cruisers - svcFit.getInstance().recalc(f) + sFit = svcFit.getInstance() + sFit.recalc(f) + sFit.fill(f) for module in moduleList: if module.fits(f): diff --git a/service/port/eft.py b/service/port/eft.py index b6c57967f..257c585a2 100644 --- a/service/port/eft.py +++ b/service/port/eft.py @@ -253,7 +253,9 @@ def importEft(lines): elif m.fits(fit): m.owner = fit fit.modules.replaceRackPosition(i, m) - svcFit.getInstance().recalc(fit) + sFit = svcFit.getInstance() + sFit.recalc(fit) + sFit.fill() # Other stuff for modRack in ( @@ -455,7 +457,9 @@ def importEftCfg(shipname, lines, iportuser): moduleList.append(m) # Recalc to get slot numbers correct for T3 cruisers - svcFit.getInstance().recalc(fitobj) + sFit = svcFit.getInstance() + sFit.recalc(fitobj) + sFit.fill() for module in moduleList: if module.fits(fitobj): diff --git a/service/port/esi.py b/service/port/esi.py index b97e9d20a..150cee44c 100644 --- a/service/port/esi.py +++ b/service/port/esi.py @@ -205,7 +205,9 @@ def importESI(string): continue # Recalc to get slot numbers correct for T3 cruisers - svcFit.getInstance().recalc(fitobj) + sFit = svcFit.getInstance() + sFit.recalc(fitobj) + sFit.fill(fitobj) for module in moduleList: if module.fits(fitobj): diff --git a/service/port/xml.py b/service/port/xml.py index 5d577f8f7..537875ba0 100644 --- a/service/port/xml.py +++ b/service/port/xml.py @@ -209,7 +209,9 @@ def importXml(text, iportuser): continue # Recalc to get slot numbers correct for T3 cruisers - svcFit.getInstance().recalc(fitobj) + sFit = svcFit.getInstance() + sFit.recalc(fitobj) + sFit.fill(fitobj) for module in moduleList: if module.fits(fitobj):