Restore removed dummies on all commands which can deal with t3c subsystems
This commit is contained in:
@@ -3,7 +3,7 @@ from logbook import Logger
|
|||||||
|
|
||||||
import eos.db
|
import eos.db
|
||||||
from eos.const import FittingSlot
|
from eos.const import FittingSlot
|
||||||
from gui.fitCommands.helpers import ModuleInfo, restoreCheckedStates, restoreRemovedDummies
|
from gui.fitCommands.helpers import ModuleInfo, restoreCheckedStates
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -19,7 +19,6 @@ class CalcRemoveLocalModulesCommand(wx.Command):
|
|||||||
self.commit = commit
|
self.commit = commit
|
||||||
self.savedSubInfos = None
|
self.savedSubInfos = None
|
||||||
self.savedModInfos = None
|
self.savedModInfos = None
|
||||||
self.savedRemovedDummies = None
|
|
||||||
self.savedStateCheckChanges = None
|
self.savedStateCheckChanges = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
@@ -44,7 +43,7 @@ class CalcRemoveLocalModulesCommand(wx.Command):
|
|||||||
# Need to flush because checkStates sometimes relies on module->fit
|
# Need to flush because checkStates sometimes relies on module->fit
|
||||||
# relationship via .owner attribute, which is handled by SQLAlchemy
|
# relationship via .owner attribute, which is handled by SQLAlchemy
|
||||||
eos.db.flush()
|
eos.db.flush()
|
||||||
self.savedRemovedDummies = sFit.recalc(fit)
|
sFit.recalc(fit)
|
||||||
self.savedStateCheckChanges = sFit.checkStates(fit, None)
|
self.savedStateCheckChanges = sFit.checkStates(fit, None)
|
||||||
if self.commit:
|
if self.commit:
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
@@ -70,7 +69,6 @@ class CalcRemoveLocalModulesCommand(wx.Command):
|
|||||||
results.append(cmd.Do())
|
results.append(cmd.Do())
|
||||||
if not any(results):
|
if not any(results):
|
||||||
return False
|
return False
|
||||||
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
|
||||||
restoreCheckedStates(fit, self.savedStateCheckChanges)
|
restoreCheckedStates(fit, self.savedStateCheckChanges)
|
||||||
if self.commit:
|
if self.commit:
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from logbook import Logger
|
|||||||
|
|
||||||
import eos.db
|
import eos.db
|
||||||
from eos.exception import HandledListActionError
|
from eos.exception import HandledListActionError
|
||||||
from gui.fitCommands.helpers import ModuleInfo, restoreCheckedStates, restoreRemovedDummies, stateLimit
|
from gui.fitCommands.helpers import ModuleInfo, restoreCheckedStates, stateLimit
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -21,7 +21,6 @@ class CalcReplaceLocalModuleCommand(wx.Command):
|
|||||||
self.unloadInvalidCharges = unloadInvalidCharges
|
self.unloadInvalidCharges = unloadInvalidCharges
|
||||||
self.commit = commit
|
self.commit = commit
|
||||||
self.savedStateCheckChanges = None
|
self.savedStateCheckChanges = None
|
||||||
self.savedRemovedDummies = None
|
|
||||||
self.unloadedCharge = None
|
self.unloadedCharge = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
@@ -62,7 +61,7 @@ class CalcReplaceLocalModuleCommand(wx.Command):
|
|||||||
# Need to flush because checkStates sometimes relies on module->fit
|
# Need to flush because checkStates sometimes relies on module->fit
|
||||||
# relationship via .owner attribute, which is handled by SQLAlchemy
|
# relationship via .owner attribute, which is handled by SQLAlchemy
|
||||||
eos.db.flush()
|
eos.db.flush()
|
||||||
self.savedRemovedDummies = sFit.recalc(fit)
|
sFit.recalc(fit)
|
||||||
self.savedStateCheckChanges = sFit.checkStates(fit, newMod)
|
self.savedStateCheckChanges = sFit.checkStates(fit, newMod)
|
||||||
if self.commit:
|
if self.commit:
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
@@ -97,7 +96,6 @@ class CalcReplaceLocalModuleCommand(wx.Command):
|
|||||||
pyfalog.warning('Failed to replace in list')
|
pyfalog.warning('Failed to replace in list')
|
||||||
self.Do()
|
self.Do()
|
||||||
return False
|
return False
|
||||||
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
|
||||||
restoreCheckedStates(fit, self.savedStateCheckChanges)
|
restoreCheckedStates(fit, self.savedStateCheckChanges)
|
||||||
if self.commit:
|
if self.commit:
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import wx
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -14,13 +14,14 @@ class GuiAddLocalModuleCommand(wx.Command):
|
|||||||
self.internalHistory = InternalCommandHistory()
|
self.internalHistory = InternalCommandHistory()
|
||||||
self.fitID = fitID
|
self.fitID = fitID
|
||||||
self.itemID = itemID
|
self.itemID = itemID
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=ModuleInfo(itemID=self.itemID))
|
cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=ModuleInfo(itemID=self.itemID))
|
||||||
success = self.internalHistory.submit(cmd)
|
success = self.internalHistory.submit(cmd)
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
gui.mainFrame.MainFrame.getInstance(),
|
gui.mainFrame.MainFrame.getInstance(),
|
||||||
GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.itemID)
|
GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.itemID)
|
||||||
@@ -29,8 +30,10 @@ class GuiAddLocalModuleCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
success = self.internalHistory.undoAll()
|
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
|
success = self.internalHistory.undoAll()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import eos.db
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -17,6 +17,7 @@ class GuiChangeLocalModuleMetasCommand(wx.Command):
|
|||||||
self.positions = positions
|
self.positions = positions
|
||||||
self.newItemID = newItemID
|
self.newItemID = newItemID
|
||||||
self.relacedItemIDs = None
|
self.relacedItemIDs = None
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
@@ -44,7 +45,7 @@ class GuiChangeLocalModuleMetasCommand(wx.Command):
|
|||||||
success = self.internalHistory.submitBatch(*commands)
|
success = self.internalHistory.submitBatch(*commands)
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
events = []
|
events = []
|
||||||
if success and self.replacedItemIDs:
|
if success and self.replacedItemIDs:
|
||||||
events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.replacedItemIDs))
|
events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.replacedItemIDs))
|
||||||
@@ -57,9 +58,11 @@ class GuiChangeLocalModuleMetasCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
success = self.internalHistory.undoAll()
|
success = self.internalHistory.undoAll()
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
events = []
|
events = []
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import wx
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localChangeStates import CalcChangeLocalModuleStatesCommand
|
from gui.fitCommands.calc.module.localChangeStates import CalcChangeLocalModuleStatesCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory
|
from gui.fitCommands.helpers import InternalCommandHistory, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -16,6 +16,7 @@ class GuiChangeLocalModuleStatesCommand(wx.Command):
|
|||||||
self.mainPosition = mainPosition
|
self.mainPosition = mainPosition
|
||||||
self.positions = positions
|
self.positions = positions
|
||||||
self.click = click
|
self.click = click
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
cmd = CalcChangeLocalModuleStatesCommand(
|
cmd = CalcChangeLocalModuleStatesCommand(
|
||||||
@@ -26,13 +27,15 @@ class GuiChangeLocalModuleStatesCommand(wx.Command):
|
|||||||
success = self.internalHistory.submit(cmd)
|
success = self.internalHistory.submit(cmd)
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID))
|
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID))
|
||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
success = self.internalHistory.undoAll()
|
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
|
success = self.internalHistory.undoAll()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID))
|
wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID))
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import wx
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localClone import CalcCloneLocalModuleCommand
|
from gui.fitCommands.calc.module.localClone import CalcCloneLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory
|
from gui.fitCommands.helpers import InternalCommandHistory, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -16,6 +16,7 @@ class GuiCloneLocalModuleCommand(wx.Command):
|
|||||||
self.srcPosition = srcPosition
|
self.srcPosition = srcPosition
|
||||||
self.dstPosition = dstPosition
|
self.dstPosition = dstPosition
|
||||||
self.savedItemID = None
|
self.savedItemID = None
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
if self.srcPosition == self.dstPosition:
|
if self.srcPosition == self.dstPosition:
|
||||||
@@ -25,7 +26,7 @@ class GuiCloneLocalModuleCommand(wx.Command):
|
|||||||
success = self.internalHistory.submit(cmd)
|
success = self.internalHistory.submit(cmd)
|
||||||
fit = sFit.getFit(self.fitID)
|
fit = sFit.getFit(self.fitID)
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
self.savedItemID = fit.modules[self.srcPosition].itemID
|
self.savedItemID = fit.modules[self.srcPosition].itemID
|
||||||
if success and self.savedItemID is not None:
|
if success and self.savedItemID is not None:
|
||||||
event = GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.savedItemID)
|
event = GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.savedItemID)
|
||||||
@@ -35,8 +36,10 @@ class GuiCloneLocalModuleCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
success = self.internalHistory.undoAll()
|
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
|
success = self.internalHistory.undoAll()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
if success and self.savedItemID is not None:
|
if success and self.savedItemID is not None:
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import eos.db
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -15,6 +15,7 @@ class GuiFillWithNewLocalModulesCommand(wx.Command):
|
|||||||
self.internalHistory = InternalCommandHistory()
|
self.internalHistory = InternalCommandHistory()
|
||||||
self.fitID = fitID
|
self.fitID = fitID
|
||||||
self.itemID = itemID
|
self.itemID = itemID
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
info = ModuleInfo(itemID=self.itemID)
|
info = ModuleInfo(itemID=self.itemID)
|
||||||
@@ -27,7 +28,7 @@ class GuiFillWithNewLocalModulesCommand(wx.Command):
|
|||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
success = added_modules > 0
|
success = added_modules > 0
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
gui.mainFrame.MainFrame.getInstance(),
|
gui.mainFrame.MainFrame.getInstance(),
|
||||||
@@ -37,9 +38,11 @@ class GuiFillWithNewLocalModulesCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
success = self.internalHistory.undoAll()
|
success = self.internalHistory.undoAll()
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import eos.db
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -16,6 +16,7 @@ class GuiFillWithClonedLocalModulesCommand(wx.Command):
|
|||||||
self.fitID = fitID
|
self.fitID = fitID
|
||||||
self.position = position
|
self.position = position
|
||||||
self.savedItemID = None
|
self.savedItemID = None
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
@@ -31,7 +32,7 @@ class GuiFillWithClonedLocalModulesCommand(wx.Command):
|
|||||||
added_modules += 1
|
added_modules += 1
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
success = added_modules > 0
|
success = added_modules > 0
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
gui.mainFrame.MainFrame.getInstance(),
|
gui.mainFrame.MainFrame.getInstance(),
|
||||||
@@ -41,9 +42,11 @@ class GuiFillWithClonedLocalModulesCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
success = self.internalHistory.undoAll()
|
success = self.internalHistory.undoAll()
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import wx
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -18,21 +18,24 @@ class GuiImportLocalMutatedModuleCommand(wx.Command):
|
|||||||
baseItemID=baseItem.ID,
|
baseItemID=baseItem.ID,
|
||||||
mutaplasmidID=mutaplasmid.ID,
|
mutaplasmidID=mutaplasmid.ID,
|
||||||
mutations=mutations)
|
mutations=mutations)
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=self.newModInfo)
|
cmd = CalcAddLocalModuleCommand(fitID=self.fitID, newModInfo=self.newModInfo)
|
||||||
success = self.internalHistory.submit(cmd)
|
success = self.internalHistory.submit(cmd)
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
gui.mainFrame.MainFrame.getInstance(),
|
gui.mainFrame.MainFrame.getInstance(),
|
||||||
GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.newModInfo.itemID))
|
GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.newModInfo.itemID))
|
||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
success = self.internalHistory.undoAll()
|
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
|
success = self.internalHistory.undoAll()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import wx
|
|||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand
|
from gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import InternalCommandHistory, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -15,6 +15,7 @@ class GuiRemoveLocalModuleCommand(wx.Command):
|
|||||||
self.fitID = fitID
|
self.fitID = fitID
|
||||||
self.positions = positions
|
self.positions = positions
|
||||||
self.savedTypeIDs = None
|
self.savedTypeIDs = None
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
@@ -23,7 +24,7 @@ class GuiRemoveLocalModuleCommand(wx.Command):
|
|||||||
cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=self.positions)
|
cmd = CalcRemoveLocalModulesCommand(fitID=self.fitID, positions=self.positions)
|
||||||
success = self.internalHistory.submit(cmd)
|
success = self.internalHistory.submit(cmd)
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
gui.mainFrame.MainFrame.getInstance(),
|
gui.mainFrame.MainFrame.getInstance(),
|
||||||
GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.savedTypeIDs)
|
GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.savedTypeIDs)
|
||||||
@@ -32,8 +33,10 @@ class GuiRemoveLocalModuleCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
success = self.internalHistory.undoAll()
|
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
|
success = self.internalHistory.undoAll()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ import wx
|
|||||||
import eos.db
|
import eos.db
|
||||||
import gui.mainFrame
|
import gui.mainFrame
|
||||||
from gui import globalEvents as GE
|
from gui import globalEvents as GE
|
||||||
from gui.fitCommands.calc.module.localAdd import CalcAddLocalModuleCommand
|
|
||||||
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -17,6 +16,7 @@ class GuiReplaceLocalModuleCommand(wx.Command):
|
|||||||
self.fitID = fitID
|
self.fitID = fitID
|
||||||
self.itemID = itemID
|
self.itemID = itemID
|
||||||
self.positions = positions
|
self.positions = positions
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
results = []
|
results = []
|
||||||
@@ -27,7 +27,7 @@ class GuiReplaceLocalModuleCommand(wx.Command):
|
|||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
gui.mainFrame.MainFrame.getInstance(),
|
gui.mainFrame.MainFrame.getInstance(),
|
||||||
GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.itemID)
|
GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.itemID)
|
||||||
@@ -36,9 +36,11 @@ class GuiReplaceLocalModuleCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
success = self.internalHistory.undoAll()
|
success = self.internalHistory.undoAll()
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
wx.PostEvent(
|
wx.PostEvent(
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from gui.fitCommands.calc.cargo.add import CalcAddCargoCommand
|
|||||||
from gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand
|
from gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand
|
||||||
from gui.fitCommands.calc.module.changeCharges import CalcChangeModuleChargesCommand
|
from gui.fitCommands.calc.module.changeCharges import CalcChangeModuleChargesCommand
|
||||||
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import CargoInfo, InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import CargoInfo, InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -26,13 +26,14 @@ class GuiCargoToLocalModuleCommand(wx.Command):
|
|||||||
self.copy = copy
|
self.copy = copy
|
||||||
self.removedModItemID = None
|
self.removedModItemID = None
|
||||||
self.addedModItemID = None
|
self.addedModItemID = None
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
fit = sFit.getFit(self.fitID)
|
fit = sFit.getFit(self.fitID)
|
||||||
srcCargo = next((c for c in fit.cargo if c.itemID == self.srcCargoItemID), None)
|
srcCargo = next((c for c in fit.cargo if c.itemID == self.srcCargoItemID), None)
|
||||||
if srcCargo is None:
|
if srcCargo is None:
|
||||||
return
|
return False
|
||||||
dstMod = fit.modules[self.dstModPosition]
|
dstMod = fit.modules[self.dstModPosition]
|
||||||
# Moving/copying charge from cargo to fit
|
# Moving/copying charge from cargo to fit
|
||||||
if srcCargo.item.isCharge and not dstMod.isEmpty:
|
if srcCargo.item.isCharge and not dstMod.isEmpty:
|
||||||
@@ -139,7 +140,7 @@ class GuiCargoToLocalModuleCommand(wx.Command):
|
|||||||
return False
|
return False
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
events = []
|
events = []
|
||||||
if self.removedModItemID is not None:
|
if self.removedModItemID is not None:
|
||||||
events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.removedModItemID))
|
events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.removedModItemID))
|
||||||
@@ -152,9 +153,11 @@ class GuiCargoToLocalModuleCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
success = self.internalHistory.undoAll()
|
success = self.internalHistory.undoAll()
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
events = []
|
events = []
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from gui.fitCommands.calc.cargo.add import CalcAddCargoCommand
|
|||||||
from gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand
|
from gui.fitCommands.calc.cargo.remove import CalcRemoveCargoCommand
|
||||||
from gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand
|
from gui.fitCommands.calc.module.localRemove import CalcRemoveLocalModulesCommand
|
||||||
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
from gui.fitCommands.calc.module.localReplace import CalcReplaceLocalModuleCommand
|
||||||
from gui.fitCommands.helpers import CargoInfo, InternalCommandHistory, ModuleInfo
|
from gui.fitCommands.helpers import CargoInfo, InternalCommandHistory, ModuleInfo, restoreRemovedDummies
|
||||||
from service.fit import Fit
|
from service.fit import Fit
|
||||||
|
|
||||||
|
|
||||||
@@ -22,6 +22,7 @@ class GuiLocalModuleToCargoCommand(wx.Command):
|
|||||||
self.copy = copy
|
self.copy = copy
|
||||||
self.removedModItemID = None
|
self.removedModItemID = None
|
||||||
self.addedModItemID = None
|
self.addedModItemID = None
|
||||||
|
self.savedRemovedDummies = None
|
||||||
|
|
||||||
def Do(self):
|
def Do(self):
|
||||||
fit = Fit.getInstance().getFit(self.fitID)
|
fit = Fit.getInstance().getFit(self.fitID)
|
||||||
@@ -118,7 +119,7 @@ class GuiLocalModuleToCargoCommand(wx.Command):
|
|||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
sFit = Fit.getInstance()
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
self.savedRemovedDummies = sFit.fill(self.fitID)
|
||||||
events = []
|
events = []
|
||||||
if self.removedModItemID is not None:
|
if self.removedModItemID is not None:
|
||||||
events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.removedModItemID))
|
events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.removedModItemID))
|
||||||
@@ -131,9 +132,11 @@ class GuiLocalModuleToCargoCommand(wx.Command):
|
|||||||
return success
|
return success
|
||||||
|
|
||||||
def Undo(self):
|
def Undo(self):
|
||||||
|
sFit = Fit.getInstance()
|
||||||
|
fit = sFit.getFit(self.fitID)
|
||||||
|
restoreRemovedDummies(fit, self.savedRemovedDummies)
|
||||||
success = self.internalHistory.undoAll()
|
success = self.internalHistory.undoAll()
|
||||||
eos.db.commit()
|
eos.db.commit()
|
||||||
sFit = Fit.getInstance()
|
|
||||||
sFit.recalc(self.fitID)
|
sFit.recalc(self.fitID)
|
||||||
sFit.fill(self.fitID)
|
sFit.fill(self.fitID)
|
||||||
events = []
|
events = []
|
||||||
|
|||||||
Reference in New Issue
Block a user