From fd777e56b3c208be2d0c1faf82e007fe0715ac5c Mon Sep 17 00:00:00 2001 From: Tim Young Date: Sat, 17 Mar 2018 12:07:51 -0500 Subject: [PATCH] Get ctrl-y working - redo. --- EduNetworkBuilder/NetworkBuilder.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index c2cc105..9aa0696 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -62,6 +62,7 @@ namespace EduNetworkBuilder private List HelpURLs = new List(); private List storedNetworkStates = new List(); //for ctrl-z going back in time to past state + private List ForwardstoredNetworkStates = new List(); //for ctrl-y going forward to a ctrl-y state public BuilderWindow(string FirstArg="") { @@ -234,10 +235,20 @@ namespace EduNetworkBuilder { if(storedNetworkStates.Count > 0) { + ForwardstoredNetworkStates.Insert(0, myNetwork);//So we can ctrl-y to this state. Undo the undo ChangeToPastState(storedNetworkStates[0]); storedNetworkStates.RemoveAt(0); } } + if (e.KeyCode == Keys.Y && e.Modifiers == Keys.Control) + { + if (ForwardstoredNetworkStates.Count > 0) + { + storedNetworkStates.Insert(0, myNetwork); + ChangeToPastState(ForwardstoredNetworkStates[0]); + ForwardstoredNetworkStates.RemoveAt(0); + } + } //MessageBox.Show(e.KeyCode.ToString()); } @@ -246,6 +257,7 @@ namespace EduNetworkBuilder if (storedNetworkStates.Count > 0 && toStore.Equals(storedNetworkStates[0])) return; //The states are identical. Do not store this state. storedNetworkStates.Insert(0,Network.DeepClone(toStore)); + ForwardstoredNetworkStates.Clear(); int maxCount = 30; if(storedNetworkStates.Count > maxCount) { @@ -259,6 +271,7 @@ namespace EduNetworkBuilder public void ClearStoredNetworkStates() { storedNetworkStates.Clear(); + ForwardstoredNetworkStates.Clear(); } ///