Esempio n. 1
0
 def Do(self):
     results = []
     for pModPosition in sorted(self.pModPositions, reverse=True):
         cmd = CalcRemoveProjectedModuleCommand(fitID=self.fitID,
                                                position=pModPosition)
         results.append(self.internalHistory.submit(cmd))
     for pDroneItemID in self.pDroneItemIDs:
         cmd = CalcRemoveProjectedDroneCommand(fitID=self.fitID,
                                               itemID=pDroneItemID,
                                               amount=self.amount)
         results.append(self.internalHistory.submit(cmd))
     for pFighterPosition in sorted(self.pFighterPositions, reverse=True):
         cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID,
                                                 position=pFighterPosition)
         results.append(self.internalHistory.submit(cmd))
     for pFitID in self.pFitIDs:
         cmd = CalcRemoveProjectedFitCommand(fitID=self.fitID,
                                             projectedFitID=pFitID,
                                             amount=self.amount)
         results.append(self.internalHistory.submit(cmd))
     success = any(results)
     eos.db.flush()
     sFit = Fit.getInstance()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(),
                  GE.FitChanged(fitID=self.fitID))
     return success
Esempio n. 2
0
 def Do(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     results = []
     needRecalc = None
     for position in sorted(self.positions, reverse=True):
         module = fit.projectedModules[position]
         if module.itemID == self.newItemID:
             continue
         info = ModuleInfo.fromModule(module)
         info.itemID = self.newItemID
         cmdRemove = CalcRemoveProjectedModuleCommand(fitID=self.fitID,
                                                      position=position)
         cmdAdd = CalcAddProjectedModuleCommand(fitID=self.fitID,
                                                modInfo=info)
         results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))
         # Only last add command counts
         needRecalc = cmdAdd.needsGuiRecalc
     success = any(results)
     if needRecalc:
         eos.db.flush()
         sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(),
                  GE.FitChanged(fitIDs=(self.fitID, )))
     return success
Esempio n. 3
0
 def Do(self):
     cmd = CalcRemoveProjectedModuleCommand(fitID=self.fitID,
                                            position=self.position)
     success = self.internalHistory.submit(cmd)
     Fit.getInstance().recalc(self.fitID)
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(),
                  GE.FitChanged(fitID=self.fitID))
     return success
Esempio n. 4
0
 def Do(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     module = fit.projectedModules[self.position]
     if module.itemID == self.newItemID:
         return
     info = ModuleInfo.fromModule(module)
     info.itemID = self.newItemID
     cmdRemove = CalcRemoveProjectedModuleCommand(fitID=self.fitID,
                                                  position=self.position)
     cmdAdd = CalcAddProjectedModuleCommand(fitID=self.fitID, modInfo=info)
     success = self.internalHistory.submitBatch(cmdRemove, cmdAdd)
     sFit.recalc(fit)
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(),
                  GE.FitChanged(fitID=self.fitID))
     return success
Esempio n. 5
0
 def Do(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     results = []
     for position in sorted(self.positions, reverse=True):
         module = fit.projectedModules[position]
         if module.itemID == self.newItemID:
             continue
         info = ModuleInfo.fromModule(module)
         info.itemID = self.newItemID
         cmdRemove = CalcRemoveProjectedModuleCommand(fitID=self.fitID, position=position, commit=False)
         cmdAdd = CalcAddProjectedModuleCommand(fitID=self.fitID, modInfo=info, commit=False)
         results.append(self.internalHistory.submitBatch(cmdRemove, cmdAdd))
     success = any(results)
     eos.db.commit()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID))
     return success