Restore removed dummies on all commands which can deal with t3c subsystems

This commit is contained in:
DarkPhoenix
2019-04-30 13:50:10 +03:00
parent fa2bceaff9
commit 63a599ca85
13 changed files with 71 additions and 43 deletions

View File

@@ -3,7 +3,7 @@ import wx
import gui.mainFrame
from gui import globalEvents as GE
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
@@ -16,6 +16,7 @@ class GuiCloneLocalModuleCommand(wx.Command):
self.srcPosition = srcPosition
self.dstPosition = dstPosition
self.savedItemID = None
self.savedRemovedDummies = None
def Do(self):
if self.srcPosition == self.dstPosition:
@@ -25,7 +26,7 @@ class GuiCloneLocalModuleCommand(wx.Command):
success = self.internalHistory.submit(cmd)
fit = sFit.getFit(self.fitID)
sFit.recalc(self.fitID)
sFit.fill(self.fitID)
self.savedRemovedDummies = sFit.fill(self.fitID)
self.savedItemID = fit.modules[self.srcPosition].itemID
if success and self.savedItemID is not None:
event = GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.savedItemID)
@@ -35,8 +36,10 @@ class GuiCloneLocalModuleCommand(wx.Command):
return success
def Undo(self):
success = self.internalHistory.undoAll()
sFit = Fit.getInstance()
fit = sFit.getFit(self.fitID)
restoreRemovedDummies(fit, self.savedRemovedDummies)
success = self.internalHistory.undoAll()
sFit.recalc(self.fitID)
sFit.fill(self.fitID)
if success and self.savedItemID is not None: