From c8c66970d0bec3ab436e21589bb250cf4f093d9f Mon Sep 17 00:00:00 2001 From: Tim Young Date: Tue, 23 Oct 2018 07:57:02 -0500 Subject: [PATCH] Get reload to work properly --- EduNetworkBuilder/NetworkBuilder.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index a3c4901..e3137d8 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -26,6 +26,7 @@ namespace EduNetworkBuilder // public DebugPausePoint DebugSetting = DebugPausePoint.all | DebugPausePoint.dump; public Network myNetwork = new Network(""); private Network InvisibleNetwork = null; + private Network OrigNetworkAfterLoad = null; private List Buttons = new List(); private string selectedButton = ""; ToolTip myTooltip = new ToolTip(); @@ -532,7 +533,7 @@ namespace EduNetworkBuilder public void UpdateMenu() { - if (myNetwork.NetworkFilename != "" || storedNetworkStates.Count > 0) + if (myNetwork.NetworkFilename != "" || OrigNetworkAfterLoad != null) { reloadToolStripMenuItem.Enabled = true; } @@ -2035,13 +2036,10 @@ namespace EduNetworkBuilder } else { - if(storedNetworkStates.Count > 0) + if(OrigNetworkAfterLoad != null) { - Network theNet = storedNetworkStates[storedNetworkStates.Count -1]; - storedNetworkStates.Clear(); - ForwardstoredNetworkStates.Clear(); PrepForLoad(); - LoadNetworkFromNetwork(theNet); + LoadNetworkFromNetwork(OrigNetworkAfterLoad); } } if(OurSettings.ReplayMode) @@ -2212,6 +2210,7 @@ namespace EduNetworkBuilder xmlDoc.LoadXml(myString); PrepForLoad(); myNetwork.Load(xmlDoc, resource, true, SkipOpeningWindows);//Load it from resource. Set the bool saying it was from resource + RegisterRecentlyLoadedNet(myNetwork); StoreNetworkState(myNetwork); //Store a clean state UpdateMenu(); UpdateForm(); @@ -2224,6 +2223,7 @@ namespace EduNetworkBuilder PrepForLoad(); Network.Clone(NewNet, myNetwork); //Push the settings myNetwork.OpenHelpIfNeeded(false); //Open it up, not skipping the help file (open help if the puzzle wants it) + RegisterRecentlyLoadedNet(myNetwork); myNetwork.DoAllMarkAsLinked(); UpdateMenu(); UpdateLinks(); @@ -2241,10 +2241,16 @@ namespace EduNetworkBuilder LoadNetworkFromResource(what); StoreNetworkState(myNetwork); //Store a clean state myNetwork.OverrideFromResources(); + RegisterRecentlyLoadedNet(myNetwork); UpdateForm(); UpdateMessages(); } + public void RegisterRecentlyLoadedNet(Network ToRegister) + { + OrigNetworkAfterLoad = Network.DeepClone(ToRegister); + } + private void LoadUnsolvedResource(string what) { //Load the puzzle & everything we need to do with it @@ -2253,6 +2259,7 @@ namespace EduNetworkBuilder myNetwork.DoAllClearIPs(); myNetwork.OverrideFromResources(); StoreNetworkState(myNetwork); //Store a clean state + RegisterRecentlyLoadedNet(myNetwork); UpdateForm(); UpdateMessages(); }