/// <summary> /// Accures when a clip that is in exit sequence completes the sequence. Should be removed. /// </summary> /// <param name="sender"></param> void Clip_ExitSequenceCompleted(IClipPresenter sender) { sender.ExitSequenceCompleted -= Clip_ExitSequenceCompleted; Presenters.Remove(sender); if (!sender.HidesPreviousClip && sender == _presenterInFocus && Presenters.Count > 0) { _presenterInFocus = Presenters[0]; CurrentClip = Presenters[0].OriginalClip; } if (sender.HidesPreviousClip) { AdvanceCurrentClip(); } else { AdvanceUpcomingClip(); } NextClipCommand.RaiseCanExecuteChanged(); }
private void DeletePresenter() { SelectedPresenter.DeleteCommand.Execute(null); Presenters.Remove(SelectedPresenter); SelectedPresenter = null; }
/// <summary> /// Happens when a presenter which his exit sequence was started when he was not Presenters[0], only need /// to remove from presenters. /// </summary> /// <param name="obj"></param> void SubClip_ExitSequenceCompleted(IClipPresenter sender) { sender.ExitSequenceCompleted -= SubClip_ExitSequenceCompleted; Presenters.Remove(sender); NextClipCommand.RaiseCanExecuteChanged(); }