From 746e9edb36ba3bc90b3b91f135ac0868c88143fc Mon Sep 17 00:00:00 2001 From: Tim Young Date: Mon, 31 Jul 2017 17:01:03 -0500 Subject: [PATCH] Launch a network from homework --- EduNetworkBuilder/Network.cs | 6 ++++++ EduNetworkBuilder/NetworkBuilder.cs | 11 +++++++++++ EduNetworkBuilder/PersonProfileForm.cs | 10 +++++++++- EduNetworkBuilder/SchoolworkClass.cs | 2 +- 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/EduNetworkBuilder/Network.cs b/EduNetworkBuilder/Network.cs index 7d62696..045d856 100644 --- a/EduNetworkBuilder/Network.cs +++ b/EduNetworkBuilder/Network.cs @@ -66,6 +66,11 @@ namespace EduNetworkBuilder private List PacketImages = new List(); private List PingTestStats = new List(); + /// + /// WhatFrom: If we are launched from a homework, we remember it here. + /// + public SchoolworkClass WhatFrom = null; + public Network(string Name) { TheNetImage = new Bitmap(myWidth, myHeight); @@ -113,6 +118,7 @@ namespace EduNetworkBuilder dest.PacketColors = source.PacketColors; dest.PuzzleName = source.PuzzleName; dest.NetMessage = new LanguageStrings(source.NetMessage); + dest.WhatFrom = source.WhatFrom; //We remember the schoolwork class we came from. } public Network Clone() diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index 076ab45..0ffd0de 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -1579,6 +1579,17 @@ namespace EduNetworkBuilder UpdateForm(); } + public void LoadLetworkFromNetwork(Network NewNet) + { + if (NewNet != null) + { + PrepForLoad(); + Network.Clone(NewNet, myNetwork); //Push the settings + UpdateMenu(); + UpdateForm(); + } + } + private void LoadSolvedResource(string what) { LoadNetworkFromResource(what); diff --git a/EduNetworkBuilder/PersonProfileForm.cs b/EduNetworkBuilder/PersonProfileForm.cs index c986b53..93c7bbf 100644 --- a/EduNetworkBuilder/PersonProfileForm.cs +++ b/EduNetworkBuilder/PersonProfileForm.cs @@ -306,6 +306,7 @@ namespace EduNetworkBuilder dtpHWDue.Visible = false; lblHWDue.Visible = false; btnHWDelete.Visible = false; + btnLaunch.Visible = false; return; } tbHWClass.Text = ViewedSchoolwork.Class; @@ -328,6 +329,7 @@ namespace EduNetworkBuilder dtpHWDue.Value = ViewedSchoolwork.DueDate; if(CurrentUser != null && CurrentUser.isAdmin) btnHWDelete.Visible = true; //Only the teacher can delete the homework + btnLaunch.Visible = true; } private void btnHWDelete_Click(object sender, EventArgs e) @@ -348,7 +350,13 @@ namespace EduNetworkBuilder private void btLaunch_Click(object sender, EventArgs e) { - + BuilderWindow BW = NB.GetBuilderWin(); + if(BW != null && ViewedSchoolwork != null && ViewedSchoolwork.theProject != null) + { + ViewedSchoolwork.theProject.WhatFrom = ViewedSchoolwork; //Store the homework info. Used for pushing it back + BW.LoadLetworkFromNetwork(ViewedSchoolwork.theProject); + Close(); //Exit out of the profile + } } } } \ No newline at end of file diff --git a/EduNetworkBuilder/SchoolworkClass.cs b/EduNetworkBuilder/SchoolworkClass.cs index 5126b7e..6e63c82 100644 --- a/EduNetworkBuilder/SchoolworkClass.cs +++ b/EduNetworkBuilder/SchoolworkClass.cs @@ -13,7 +13,7 @@ namespace EduNetworkBuilder /// public class SchoolworkClass { - Network theProject = null; + public Network theProject = null; /// /// The name of the project. Homework3, Quiz 4, etc. ///