MCPcopy Create free account
hub / github.com/pyfa-org/Pyfa / CalcAddProjectedFighterCommand

Class CalcAddProjectedFighterCommand

gui/fitCommands/calc/fighter/projectedAdd.py:10–39  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8
9
10class CalcAddProjectedFighterCommand(wx.Command):
11
12 def __init__(self, fitID, fighterInfo, position=None):
13 wx.Command.__init__(self, True, 'Add Projected Fighter')
14 self.fitID = fitID
15 self.fighterInfo = fighterInfo
16 self.position = position
17
18 def Do(self):
19 pyfalog.debug('Doing addition of projected fighter {} onto: {}'.format(self.fighterInfo, self.fitID))
20 fighter = self.fighterInfo.toFighter()
21 if fighter is None:
22 return False
23 fit = Fit.getInstance().getFit(self.fitID)
24 if self.position is not None:
25 fit.projectedFighters.insert(self.position, fighter)
26 if fighter not in fit.projectedFighters:
27 return False
28 else:
29 fit.projectedFighters.append(fighter)
30 if fighter not in fit.projectedFighters:
31 return False
32 self.position = fit.projectedFighters.index(fighter)
33 return True
34
35 def Undo(self):
36 pyfalog.debug('Undoing addition of projected fighter {} onto: {}'.format(self.fighterInfo, self.fitID))
37 from .projectedRemove import CalcRemoveProjectedFighterCommand
38 cmd = CalcRemoveProjectedFighterCommand(fitID=self.fitID, position=self.position)
39 return cmd.Do()

Callers 3

DoMethod · 0.90
DoMethod · 0.90
UndoMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected