Rework clone/swap modules

This commit is contained in:
DarkPhoenix
2019-04-15 21:00:34 +03:00
parent 9523c6f349
commit c7ed6367f9
10 changed files with 111 additions and 73 deletions

View File

@@ -18,7 +18,6 @@ class CalcCloneLocalModuleCommand(wx.Command):
self.fitID = fitID
self.srcPosition = srcPosition
self.dstPosition = dstPosition
self.dstModInfo = None
def Do(self):
pyfalog.debug('Doing cloning of local module from position {} to position {} for fit ID {}'.format(self.srcPosition, self.dstPosition, self.fitID))

View File

@@ -27,24 +27,26 @@ class CalcSwapLocalModuleCommand(wx.Command):
pyfalog.debug('Undoing swapping between {} and {} for fit {}'.format(self.position1, self.position2, self.fitID))
return True
def __swap(self, fitID, srcPosition, dstPosition):
def __swap(self, fitID, position1, position2):
fit = Fit.getInstance().getFit(fitID)
srcMod = fit.modules[srcPosition]
dstMod = fit.modules[dstPosition]
fit.modules.free(srcPosition)
fit.modules.free(dstPosition)
mod1 = fit.modules[position1]
mod2 = fit.modules[position2]
fit.modules.free(position1)
fit.modules.free(position2)
try:
fit.modules.replace(dstPosition, srcMod)
fit.modules.replace(position2, mod1)
except HandledListActionError:
fit.modules.replace(srcPosition, srcMod)
fit.modules.replace(dstPosition, dstMod)
fit.modules.replace(position1, mod1)
fit.modules.replace(position2, mod2)
eos.db.commit()
return False
try:
fit.modules.replace(srcPosition, dstMod)
fit.modules.replace(position1, mod2)
except HandledListActionError:
fit.modules.free(dstPosition)
fit.modules.replace(srcPosition, srcMod)
fit.modules.replace(dstPosition, dstMod)
fit.modules.free(position2)
fit.modules.replace(position1, mod1)
fit.modules.replace(position2, mod2)
eos.db.commit()
return False
eos.db.commit()
return True