internal AddActionReferenceRecord(ViewModel.ViewModelController controller, ViewModel.ActionReference actionReference, int slot) : base(ActionTypes.AddActionReference, controller, actionReference) { TransitionId = actionReference.Transition.Id; ActionId = actionReference.Action.Id; Slot = slot; #if DEBUGUNDOREDO Debug.WriteLine($@">>> AddActionReferenceRecord.AddActionReferenceRecord: Created {UnitDescription} record, ID: {Id}, TransitionId: {TransitionId}, ActionId: {ActionId}, Slot: {Slot}"); #endif }
public override void Do(IOleUndoManager pUndoManager) { #if DEBUGUNDOREDO Debug.WriteLine(">>> AddActionReferenceRecord.Do"); #endif using (new ViewModel.ViewModelController.GuiChangeBlock(Controller)) { ViewModel.ActionReference newActionReference = new ViewModel.ActionReference(Controller, this); newActionReference.Transition.ActionReferences.Insert(Slot, newActionReference); Controller.UndoManager.Add(new DeleteActionReferenceRecord(Controller, newActionReference)); } }
public override void Do(IOleUndoManager pUndoManager) { #if DEBUGUNDOREDO Debug.WriteLine(">>> DeleteActionReferenceRecord.Do"); #endif using (new ViewModel.ViewModelController.GuiChangeBlock(Controller)) { ViewModel.Transition targetTransition = Controller.StateMachine.Find(TransitionId) as ViewModel.Transition; ViewModel.ActionReference targetActionReference = targetTransition.ActionReferences[Slot]; targetTransition.ActionReferences.RemoveAt(Slot); Controller.UndoManager.Add(new AddActionReferenceRecord(Controller, targetActionReference, Slot)); } }
internal DeleteActionReferenceRecord(ViewModel.ViewModelController controller, ViewModel.ActionReference actionReference) : base(ActionTypes.DeleteActionReference, controller, actionReference) { TransitionId = actionReference.Transition.Id; Slot = actionReference.Transition.ActionReferences.IndexOf(actionReference); #if DEBUGUNDOREDO Debug.WriteLine($@">>> DeleteActionReferenceRecord.DeleteActionReferenceRecord: Created {UnitDescription} record, ID: {Id}, TransitionId: {TransitionId}, Slot: {Slot}"); #endif }