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

Class CalcChangeModuleSpoolCommand

gui/fitCommands/calc/module/changeSpool.py:10–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8
9
10class CalcChangeModuleSpoolCommand(wx.Command):
11
12 def __init__(self, fitID, projected, position, spoolType, spoolAmount):
13 wx.Command.__init__(self, True, 'Change Module Spool')
14 self.fitID = fitID
15 self.projected = projected
16 self.position = position
17 self.spoolType = spoolType
18 self.spoolAmount = spoolAmount
19 self.savedSpoolType = None
20 self.savedSpoolAmount = None
21
22 def Do(self):
23 pyfalog.debug('Doing change of module spoolup at position {} to {} type {} amount on fit {}'.format(self.position, self.spoolType, self.spoolAmount, self.fitID))
24 fit = Fit.getInstance().getFit(self.fitID)
25 container = fit.modules if not self.projected else fit.projectedModules
26 mod = container[self.position]
27 if mod.isEmpty:
28 pyfalog.warning('Attempt to change spoolup for empty module')
29 return False
30 self.savedSpoolType = mod.spoolType
31 self.savedSpoolAmount = mod.spoolAmount
32 if self.spoolType == self.savedSpoolType and self.spoolAmount == self.savedSpoolAmount:
33 return False
34 mod.spoolType = self.spoolType
35 mod.spoolAmount = self.spoolAmount
36 return True
37
38 def Undo(self):
39 pyfalog.debug('Undoing change of module spoolup at position {} to {} type {} amount on fit {}'.format(self.position, self.spoolType, self.spoolAmount, self.fitID))
40 cmd = CalcChangeModuleSpoolCommand(
41 fitID=self.fitID,
42 projected=self.projected,
43 position=self.position,
44 spoolType=self.savedSpoolType,
45 spoolAmount=self.savedSpoolAmount)
46 return cmd.Do()

Callers 3

DoMethod · 0.90
DoMethod · 0.90
UndoMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected