From 92b11103699b8d56383c6946dacb206ca7058ade Mon Sep 17 00:00:00 2001 From: Lukasz Baldyga Date: Mon, 12 Oct 2020 13:20:31 +0100 Subject: [PATCH] Fixed bug where lines would draw incorrectly --- .../Advanced Software Engineering/Commander.cs | 11 +++++++++++ .../Advanced Software Engineering/DrawPreview.cs | 6 ++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Advanced Software Engineering/Advanced Software Engineering/Commander.cs b/Advanced Software Engineering/Advanced Software Engineering/Commander.cs index 9f51d65..f6607a9 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Commander.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Commander.cs @@ -46,6 +46,7 @@ namespace Advanced_Software_Engineering { //ignore case rawCommands = rawCommands.ToLower(); + //isolate commands string[] commands = rawCommands.Split(Environment.NewLine.ToCharArray()); @@ -54,7 +55,17 @@ namespace Advanced_Software_Engineering //handle errors later AddCommand(VerbFactory.MakeVerb(drawer, rawCommand)); } + } + public void ProcessCommandsAndExecute(string rawCommands) + { + int start = commands.Count; + ProcessCommands(rawCommands); + + for(; start < commands.Count; start++) + { + commands[start].ExecuteVerb(); + } } } diff --git a/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs b/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs index bef01dc..089e283 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs @@ -33,6 +33,7 @@ namespace Advanced_Software_Engineering private void DrawPreview_FormClosed(object sender, FormClosedEventArgs e) { SettingsAndHelperFunctions.WindowClosed(); + this.Dispose(); } private void DrawPreviewPane_Paint(object sender, PaintEventArgs e) @@ -42,11 +43,8 @@ namespace Advanced_Software_Engineering private void SubmitCommand(object sender, EventArgs e) { - commander.ProcessCommands(textBox1.Text); + commander.ProcessCommandsAndExecute(textBox1.Text); textBox1.Text = ""; - - //Makes sure that the panel updates - panel1.Invalidate(); } } }