From 3521d42512a810e0fa800782b00f89325463354c Mon Sep 17 00:00:00 2001 From: Lukasz Baldyga Date: Fri, 23 Oct 2020 02:42:18 +0100 Subject: [PATCH] Added load functionality to text editor --- .../TextEditor.Designer.cs | 5 ++- .../TextEditor.cs | 40 ++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs index 9c31685..2441082 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.Designer.cs @@ -97,6 +97,7 @@ namespace Advanced_Software_Engineering this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.openToolStripMenuItem.Text = "Open"; + this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); // // saveToolStripMenuItem // @@ -130,14 +131,14 @@ namespace Advanced_Software_Engineering // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22); this.aboutToolStripMenuItem.Text = "About"; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); // // helpToolStripMenuItem1 // this.helpToolStripMenuItem1.Name = "helpToolStripMenuItem1"; - this.helpToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); + this.helpToolStripMenuItem1.Size = new System.Drawing.Size(107, 22); this.helpToolStripMenuItem1.Text = "Help"; // // Text_Editor diff --git a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs index e6a2f00..88b04a6 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/TextEditor.cs @@ -2,7 +2,9 @@ using System.Collections.Generic; using System.ComponentModel; using System.Data; +using System.Diagnostics.Eventing.Reader; using System.Drawing; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -10,9 +12,13 @@ using System.Windows.Forms; namespace Advanced_Software_Engineering { public partial class Text_Editor : Form { - const string DefaultTitleString = "Advanced Software Engineering - Text Editor "; + const string DefaultTitleString = "ASE - Text Editor"; Draw_Preview DisplayForm = null; + bool unsavedChanges = false; + bool newWindow = true; + bool okToOverwrite = false; + string fileName = ""; /// /// The text editor is the main window that the user will be using for writing code. @@ -22,6 +28,24 @@ namespace Advanced_Software_Engineering { InitializeComponent(); } + public Text_Editor(OpenFileDialog openFile) { + SettingsAndHelperFunctions.NumberOfWindows++; + InitializeComponent(); + StreamReader fileStream = new StreamReader(openFile.OpenFile()); + textBox1.Text = fileStream.ReadToEnd(); + UpdateTitle(openFile.FileName); + } + + void UpdateTitle(string fileName) { + this.fileName = fileName; + UpdateTitle(); + } + + void UpdateTitle() { + this.Text = DefaultTitleString + " - " + fileName; + if (unsavedChanges) this.Text = "* " + this.Text + " *"; + } + private void Console_FormClosed(object sender, FormClosedEventArgs e) { if (DisplayForm != null || !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock(); SettingsAndHelperFunctions.WindowClosed(); @@ -51,5 +75,19 @@ namespace Advanced_Software_Engineering { DisplayForm.Show(); DisplayForm.Focus(); } + + private void openToolStripMenuItem_Click(object sender, EventArgs e) { + OpenFileDialog openFileDialog = new OpenFileDialog(); + + if (openFileDialog.ShowDialog() == DialogResult.OK) { + + if (newWindow) { + StreamReader fileStream = new StreamReader(openFileDialog.OpenFile()); + textBox1.Text = fileStream.ReadToEnd(); + UpdateTitle(openFileDialog.FileName); + } else new Text_Editor(openFileDialog).Show(); + } + + } } }