/// <summary> /// Return true if the element is the last in the queue /// </summary> /// <returns></returns> public void Redo() { if (_redoLines.Count != 0) { Tuple <ActionType, ILineModel> line = _redoLines.Pop(); switch (line.Item1) { case ActionType.Add: CreateLine(line.Item2, true); LineAddedSignal.Dispatch(line.Item2); break; case ActionType.Edit: UpdateLine(line.Item2, true); LineUpdatedSignal.Dispatch(line.Item2); break; case ActionType.Delete: DeleteLine(line.Item2, true); LineDeletedSignal.Dispatch(line.Item2.Guid); break; } } SaveAvailableSignal.Dispatch(_redoLines.Count != 0); RedoAvailableSignal.Dispatch(_redoLines.Count != 0); }
public override void OnRegister() { base.OnRegister(); View.PointerInfoSignal.AddListener(OnPointerInfoSignal); View.TogglePanelSignal.AddListener(OnTogglePanelSignal); View.LineSelectedSignal.AddListener(OnLineSelected); View.LineDeletedSignal.AddListener(OnLineDeletedRequested); View.LineUnSelectedSignal.AddListener(OnLineUnselected); View.LineCopiedSignal.AddListener(OnLineCopiedRequested); View.LineResetSignal.AddListener(OnLineResetRequested); FullCleanupSignal.AddListener(OnFullCleanupReceived); AddLineSignal.AddListener(OnLineAdded); LineAddedSignal.AddListener(OnLineAdded); UpdateLineSignal.AddListener(OnUpdateLineReceived); LineDeletedSignal.AddListener(OnLineDeletedReceived); View.Initialize(); }