Example #1
0
 def Undo(self):
     pyfalog.debug('Undoing removal of local modules {} on fit {}'.format(self.savedModInfos, self.fitID))
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     results = []
     from .localReplace import CalcReplaceLocalModuleCommand
     # Restore subsystems 1st
     if len(self.savedSubInfos) > 0:
         for position, modInfo in self.savedSubInfos.items():
             cmd = CalcReplaceLocalModuleCommand(
                 fitID=self.fitID,
                 position=position,
                 newModInfo=modInfo,
                 ignoreRestrictions=True,
                 recalc=False)
             results.append(cmd.Do())
         sFit.recalc(fit)
     for position, modInfo in self.savedModInfos.items():
         cmd = CalcReplaceLocalModuleCommand(
             fitID=self.fitID,
             position=position,
             newModInfo=modInfo,
             ignoreRestrictions=True,
             recalc=False)
         results.append(cmd.Do())
     if not any(results):
         return False
     restoreCheckedStates(fit, self.savedStateCheckChanges)
     restoreRemovedDummies(fit, self.savedTail)
     return True
Example #2
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     eos.db.flush()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     events = []
     if success:
         events.append(
             GE.FitChanged(fitID=self.fitID,
                           action='moddel',
                           typeID=self.newItemID))
     if success and self.replacedItemIDs:
         events.append(
             GE.FitChanged(fitID=self.fitID,
                           action='modadd',
                           typeID=self.replacedItemIDs))
     if not events:
         events.append(GE.FitChanged(fitID=self.fitID))
     for event in events:
         wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)
     return success
Example #3
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID))
     return success
Example #4
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     eos.db.flush()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), GE.FitChanged(fitID=self.fitID))
     return success
Example #5
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     eos.db.commit()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     wx.PostEvent(
         gui.mainFrame.MainFrame.getInstance(),
         GE.FitChanged(
             fitID=self.fitID, action='moddel', typeID=self.itemID)
         if success else GE.FitChanged(fitID=self.fitID))
     return success
Example #6
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     eos.db.flush()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     if success and self.savedItemID is not None:
         event = GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.savedItemID)
     else:
         event = GE.FitChanged(fitID=self.fitID)
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)
     return success
Example #7
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     eos.db.flush()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     if success and self.savedItemID is not None:
         event = GE.FitChanged(fitIDs=(self.fitID, ),
                               action='moddel',
                               typeID=self.savedItemID)
     else:
         event = GE.FitChanged(fitIDs=(self.fitID, ))
     wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)
     return success
Example #8
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     eos.db.flush()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     events = []
     if self.addedModItemID is not None:
         events.append(GE.FitChanged(fitID=self.fitID, action='moddel', typeID=self.addedModItemID))
     if self.removedModItemID is not None:
         events.append(GE.FitChanged(fitID=self.fitID, action='modadd', typeID=self.removedModItemID))
     if not events:
         events.append(GE.FitChanged(fitID=self.fitID))
     for event in events:
         wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)
     return success
Example #9
0
 def Undo(self):
     sFit = Fit.getInstance()
     fit = sFit.getFit(self.fitID)
     oldModMap = self._getPositionMap(fit)
     for position in self.positions:
         oldModMap[position] = fit.modules[position]
     restoreRemovedDummies(fit, self.savedRemovedDummies)
     success = self.internalHistory.undoAll()
     eos.db.flush()
     sFit.recalc(self.fitID)
     sFit.fill(self.fitID)
     eos.db.commit()
     newModMap = self._getPositionMap(fit)
     events = []
     if success:
         events.append(
             GE.FitChanged(fitIDs=(self.fitID, ),
                           action='moddel',
                           typeID=self.newItemID))
     if success and self.replacedItemIDs:
         events.append(
             GE.FitChanged(fitIDs=(self.fitID, ),
                           action='modadd',
                           typeID=self.replacedItemIDs))
     if not events:
         events.append(GE.FitChanged(fitIDs=(self.fitID, )))
     if success:
         for position in self.positions:
             oldMod = oldModMap.get(position)
             newMod = newModMap.get(position)
             if oldMod is not newMod:
                 events.append(
                     GE.ItemChangedInplace(fitID=self.fitID,
                                           old=oldMod,
                                           new=newMod))
     for event in events:
         wx.PostEvent(gui.mainFrame.MainFrame.getInstance(), event)
     return success