From b888088f0bff8fc1ad14abb55dec3c56e3cc4f2e Mon Sep 17 00:00:00 2001 From: Lukasz Baldyga Date: Fri, 23 Oct 2020 11:25:36 +0100 Subject: [PATCH] Text_Editor now describes the code --- .../Advanced Software Engineering.csproj | 10 +-- ....Designer.cs => DetailsWindow.Designer.cs} | 8 +- ...{ErrorDetailWindow.cs => DetailsWindow.cs} | 12 ++- ...orDetailWindow.resx => DetailsWindow.resx} | 0 .../DrawPreview.cs | 4 + .../ErrorWindow.cs | 2 +- .../TextEditor.Designer.cs | 33 ++++---- .../TextEditor.cs | 78 +++++++++++++------ 8 files changed, 95 insertions(+), 52 deletions(-) rename Advanced Software Engineering/Advanced Software Engineering/{ErrorDetailWindow.Designer.cs => DetailsWindow.Designer.cs} (93%) rename Advanced Software Engineering/Advanced Software Engineering/{ErrorDetailWindow.cs => DetailsWindow.cs} (56%) rename Advanced Software Engineering/Advanced Software Engineering/{ErrorDetailWindow.resx => DetailsWindow.resx} (100%) diff --git a/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj b/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj index aa6cf9e..bdc73e7 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj +++ b/Advanced Software Engineering/Advanced Software Engineering/Advanced Software Engineering.csproj @@ -80,11 +80,11 @@ DrawPreview.cs - + Form - - ErrorDetailWindow.cs + + DetailsWindow.cs Form @@ -113,8 +113,8 @@ DrawPreview.cs - - ErrorDetailWindow.cs + + DetailsWindow.cs ErrorWindow.cs diff --git a/Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.Designer.cs b/Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.Designer.cs similarity index 93% rename from Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.Designer.cs rename to Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.Designer.cs index b66fd6c..642903a 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.Designer.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.Designer.cs @@ -1,5 +1,5 @@ namespace Advanced_Software_Engineering { - partial class ErrorDetailWindow { + partial class DetailsWindow { /// /// Required designer variable. /// @@ -38,7 +38,7 @@ this.textBox1.Size = new System.Drawing.Size(365, 405); this.textBox1.TabIndex = 0; // - // ErrorDetailWindow + // DetailsWindow // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; @@ -47,8 +47,8 @@ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; - this.Name = "ErrorDetailWindow"; - this.Text = "Error Details"; + this.Name = "DetailsWindow"; + this.Text = "Details"; this.ResumeLayout(false); this.PerformLayout(); diff --git a/Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.cs b/Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.cs similarity index 56% rename from Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.cs rename to Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.cs index 7668634..a138fa8 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.cs @@ -9,14 +9,20 @@ using System.Threading.Tasks; using System.Windows.Forms; namespace Advanced_Software_Engineering { - public partial class ErrorDetailWindow : Form { - public ErrorDetailWindow() { + public partial class DetailsWindow : Form { + public DetailsWindow() { InitializeComponent(); } - public ErrorDetailWindow(string errorText) { + public DetailsWindow(string errorText) { InitializeComponent(); textBox1.Text = errorText; } + + public DetailsWindow(string errorText, string title) { + InitializeComponent(); + textBox1.Text = errorText; + Text = title; + } } } diff --git a/Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.resx b/Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.resx similarity index 100% rename from Advanced Software Engineering/Advanced Software Engineering/ErrorDetailWindow.resx rename to Advanced Software Engineering/Advanced Software Engineering/DetailsWindow.resx diff --git a/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs b/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs index 361c563..d082f16 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/DrawPreview.cs @@ -78,5 +78,9 @@ namespace Advanced_Software_Engineering button1.Enabled = true; } + public string DescribeAllCommands() { + return commander.ExplainCommands(); + } + } } diff --git a/Advanced Software Engineering/Advanced Software Engineering/ErrorWindow.cs b/Advanced Software Engineering/Advanced Software Engineering/ErrorWindow.cs index f81a567..8636a76 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/ErrorWindow.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/ErrorWindow.cs @@ -55,7 +55,7 @@ namespace Advanced_Software_Engineering { } private void button2_Click(object sender, EventArgs e) { - new ErrorDetailWindow(desc).Show(); + new DetailsWindow(desc).Show(); } } } diff --git a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs index bbf8f33..a150e86 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs @@ -100,57 +100,58 @@ namespace Advanced_Software_Engineering // newFileToolStripMenuItem // this.newFileToolStripMenuItem.Name = "newFileToolStripMenuItem"; - this.newFileToolStripMenuItem.Size = new System.Drawing.Size(119, 22); - this.newFileToolStripMenuItem.Text = "New File"; + this.newFileToolStripMenuItem.Size = new System.Drawing.Size(202, 22); + this.newFileToolStripMenuItem.Text = "New File (Ctrl + N)"; this.newFileToolStripMenuItem.Click += new System.EventHandler(this.newFileToolStripMenuItem_Click); // // openToolStripMenuItem // this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.Size = new System.Drawing.Size(119, 22); - this.openToolStripMenuItem.Text = "Open"; + this.openToolStripMenuItem.Size = new System.Drawing.Size(202, 22); + this.openToolStripMenuItem.Text = "Open (Ctrl + O)"; this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); // // saveToolStripMenuItem // this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.Size = new System.Drawing.Size(119, 22); - this.saveToolStripMenuItem.Text = "Save"; + this.saveToolStripMenuItem.Size = new System.Drawing.Size(202, 22); + this.saveToolStripMenuItem.Text = "Save (Ctrl + S)"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); // // saveAsToolStripMenuItem // this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; - this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(119, 22); - this.saveAsToolStripMenuItem.Text = "Save As"; + this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(202, 22); + this.saveAsToolStripMenuItem.Text = "Save As (Ctrl + Shift + S)"; this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); // // exitToolStripMenuItem // this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(119, 22); - this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(202, 22); + this.exitToolStripMenuItem.Text = "Exit (Alt + F4)"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); // // runToolStripMenuItem // this.runToolStripMenuItem.Name = "runToolStripMenuItem"; - this.runToolStripMenuItem.Size = new System.Drawing.Size(40, 20); - this.runToolStripMenuItem.Text = "Run"; + this.runToolStripMenuItem.Size = new System.Drawing.Size(63, 20); + this.runToolStripMenuItem.Text = "Run (F5)"; this.runToolStripMenuItem.Click += new System.EventHandler(this.runToolStripMenuItem_Click); // // checkSyntaxToolStripMenuItem // this.checkSyntaxToolStripMenuItem.Name = "checkSyntaxToolStripMenuItem"; - this.checkSyntaxToolStripMenuItem.Size = new System.Drawing.Size(90, 20); - this.checkSyntaxToolStripMenuItem.Text = "Check Syntax"; + this.checkSyntaxToolStripMenuItem.Size = new System.Drawing.Size(151, 20); + this.checkSyntaxToolStripMenuItem.Text = "Check Syntax (Shift + F5)"; this.checkSyntaxToolStripMenuItem.Click += new System.EventHandler(this.checkSyntaxToolStripMenuItem_Click); // // describeToolStripMenuItem // this.describeToolStripMenuItem.Name = "describeToolStripMenuItem"; - this.describeToolStripMenuItem.Size = new System.Drawing.Size(64, 20); - this.describeToolStripMenuItem.Text = "Describe"; + this.describeToolStripMenuItem.Size = new System.Drawing.Size(125, 20); + this.describeToolStripMenuItem.Text = "Describe (Shift + F1)"; + this.describeToolStripMenuItem.Click += new System.EventHandler(this.describeToolStripMenuItem_Click); // // helpToolStripMenuItem // diff --git a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs index 3c5cdc8..98bae9a 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs @@ -134,20 +134,7 @@ namespace Advanced_Software_Engineering { } } - private void handleExit(FormClosingEventArgs e) { - if (unsavedChanges) { - DialogResult dialogResult = MessageBox.Show("You have unsaved work. Would you like to discard your work?", "Unsaved work!", MessageBoxButtons.YesNo, MessageBoxIcon.None); - if (e != null) e.Cancel = dialogResult != DialogResult.Yes; - } - } - - private void Console_FormClosed(object sender, FormClosedEventArgs e) { - if (DisplayForm != null && !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock(); - SettingsAndHelperFunctions.WindowClosed(); - Dispose(); - } - - private void runToolStripMenuItem_Click(object sender, EventArgs e) { + private void RunCode() { if (DisplayForm == null || DisplayForm.IsDisposed) { DisplayForm = new Draw_Preview(textBox1.Text); } else { @@ -159,10 +146,48 @@ namespace Advanced_Software_Engineering { DisplayForm.Focus(); } - private void createNewInstance() { - new Text_Editor().Show(); + public void CheckCode() { + Draw_Preview tmpDrawPreview = new Draw_Preview(); + tmpDrawPreview.Hide(); + tmpDrawPreview.SubmitCommands(textBox1.Text); + tmpDrawPreview.Close(); + SettingsAndHelperFunctions.WindowClosed(); + tmpDrawPreview.Dispose(); } + private void handleExit(FormClosingEventArgs e) { + if (unsavedChanges) { + DialogResult dialogResult = MessageBox.Show("You have unsaved work. Would you like to discard your work?", "Unsaved work!", MessageBoxButtons.YesNo, MessageBoxIcon.None); + if (e != null) e.Cancel = dialogResult != DialogResult.Yes; + } + } + + private void DescribeCode() { + Draw_Preview tmpDrawPreview = new Draw_Preview(); + tmpDrawPreview.Hide(); + tmpDrawPreview.SubmitCommands(textBox1.Text); + + string commandDesc = tmpDrawPreview.DescribeAllCommands(); + Console.WriteLine(commandDesc); + + tmpDrawPreview.Close(); + SettingsAndHelperFunctions.WindowClosed(); + tmpDrawPreview.Dispose(); + + new DetailsWindow(commandDesc, "Command explanation").Show(); + } + + private void Console_FormClosed(object sender, FormClosedEventArgs e) { + if (DisplayForm != null && !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock(); + SettingsAndHelperFunctions.WindowClosed(); + Dispose(); + } + + private void runToolStripMenuItem_Click(object sender, EventArgs e) => RunCode(); + + + private void createNewInstance() => new Text_Editor().Show(); + private void handleKeypress(object sender, EventArgs e) => handleKeypress(); private void textBox1_Click(object sender, EventArgs e) => updateRowCol(); @@ -192,15 +217,22 @@ namespace Advanced_Software_Engineering { } else if (e.Control && e.KeyCode == Keys.O) { openFile(); e.Handled = true; + } else if(e.KeyCode == Keys.F5) { + RunCode(); + e.Handled = true; + } else if(e.KeyCode == Keys.F5 && e.Shift) { + CheckCode(); + e.Handled = true; + } else if(e.KeyCode == Keys.F1 && e.Shift) { + DescribeCode(); + e.Handled = true; } } - private void checkSyntaxToolStripMenuItem_Click(object sender, EventArgs e) { - Draw_Preview tmpDrawPreview = new Draw_Preview(); - tmpDrawPreview.Hide(); - tmpDrawPreview.SubmitCommands(textBox1.Text); - tmpDrawPreview.Close(); - SettingsAndHelperFunctions.WindowClosed(); - } + private void checkSyntaxToolStripMenuItem_Click(object sender, EventArgs e) => CheckCode(); + + private void describeToolStripMenuItem_Click(object sender, EventArgs e) => DescribeCode(); + + } }