def Do(self): sFit = Fit.getInstance() fit = sFit.getFit(self.fitID) mod = fit.modules[self.position] if mod.isEmpty: return False if not mod.isMutated: return False cmd = CalcReplaceLocalModuleCommand(fitID=self.fitID, position=self.position, newModInfo=ModuleInfo( itemID=mod.baseItemID, chargeID=mod.chargeID, state=mod.state, spoolType=mod.spoolType, spoolAmount=mod.spoolAmount)) success = self.internalHistory.submit(cmd) sFit.recalc(self.fitID) sFit.fill(self.fitID) wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID)) return success
def Do(self): info = ModuleInfo(itemID=self.itemID) added_modules = 0 while True: cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=info) if not self.internalHistory.submit(cmd): break added_modules += 1 Market.getInstance().storeRecentlyUsed(self.itemID) sFit = Fit.getInstance() # Only last command decides if we need to recalc here or not if cmd.needsGuiRecalc: eos.db.flush() sFit.recalc(self.fitID) self.savedRemovedDummies = sFit.fill(self.fitID) eos.db.commit() success = added_modules > 0 wx.PostEvent( gui.mainFrame.MainFrame.getInstance(), GE.FitChanged( fitIDs=(self.fitID, ), action='modadd', typeID=self.itemID) if success else GE.FitChanged(fitIDs=(self.fitID, ))) return success