Added keyboard shortcuts to Text_Editor

This commit is contained in:
Lukasz Baldyga committed 2020-10-23 11:04:58 +01:00
1 parent b9324f8619
commit 2a3857d942
2 files changed
+66 -18

No files matched your search

@@ -44,6 +44,7 @@ namespace Advanced_Software_Engineering
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.runToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.runToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.checkSyntaxToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.checkSyntaxToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.describeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
@@ -68,6 +69,7 @@ namespace Advanced_Software_Engineering
this.textBox1.WordWrap = false; this.textBox1.WordWrap = false;
this.textBox1.Click += new System.EventHandler(this.textBox1_Click); this.textBox1.Click += new System.EventHandler(this.textBox1_Click);
this.textBox1.TextChanged += new System.EventHandler(this.handleKeypress); this.textBox1.TextChanged += new System.EventHandler(this.handleKeypress);
this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Text_Editor_PreviewKeyDown);
// //
// menuStrip1 // menuStrip1
// //
@@ -75,6 +77,7 @@ namespace Advanced_Software_Engineering
this.fileToolStripMenuItem, this.fileToolStripMenuItem,
this.runToolStripMenuItem, this.runToolStripMenuItem,
this.checkSyntaxToolStripMenuItem, this.checkSyntaxToolStripMenuItem,
this.describeToolStripMenuItem,
this.helpToolStripMenuItem}); this.helpToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Name = "menuStrip1";
@@ -97,35 +100,35 @@ namespace Advanced_Software_Engineering
// newFileToolStripMenuItem // newFileToolStripMenuItem
// //
this.newFileToolStripMenuItem.Name = "newFileToolStripMenuItem"; this.newFileToolStripMenuItem.Name = "newFileToolStripMenuItem";
this.newFileToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.newFileToolStripMenuItem.Size = new System.Drawing.Size(119, 22);
this.newFileToolStripMenuItem.Text = "New File"; this.newFileToolStripMenuItem.Text = "New File";
this.newFileToolStripMenuItem.Click += new System.EventHandler(this.newFileToolStripMenuItem_Click); this.newFileToolStripMenuItem.Click += new System.EventHandler(this.newFileToolStripMenuItem_Click);
// //
// openToolStripMenuItem // openToolStripMenuItem
// //
this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.openToolStripMenuItem.Size = new System.Drawing.Size(119, 22);
this.openToolStripMenuItem.Text = "Open"; this.openToolStripMenuItem.Text = "Open";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
// //
// saveToolStripMenuItem // saveToolStripMenuItem
// //
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.saveToolStripMenuItem.Size = new System.Drawing.Size(119, 22);
this.saveToolStripMenuItem.Text = "Save"; this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
// //
// saveAsToolStripMenuItem // saveAsToolStripMenuItem
// //
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(119, 22);
this.saveAsToolStripMenuItem.Text = "Save As"; this.saveAsToolStripMenuItem.Text = "Save As";
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
// //
// exitToolStripMenuItem // exitToolStripMenuItem
// //
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.exitToolStripMenuItem.Size = new System.Drawing.Size(119, 22);
this.exitToolStripMenuItem.Text = "Exit"; this.exitToolStripMenuItem.Text = "Exit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
// //
@@ -141,6 +144,13 @@ namespace Advanced_Software_Engineering
this.checkSyntaxToolStripMenuItem.Name = "checkSyntaxToolStripMenuItem"; this.checkSyntaxToolStripMenuItem.Name = "checkSyntaxToolStripMenuItem";
this.checkSyntaxToolStripMenuItem.Size = new System.Drawing.Size(90, 20); this.checkSyntaxToolStripMenuItem.Size = new System.Drawing.Size(90, 20);
this.checkSyntaxToolStripMenuItem.Text = "Check Syntax"; this.checkSyntaxToolStripMenuItem.Text = "Check Syntax";
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";
// //
// helpToolStripMenuItem // helpToolStripMenuItem
// //
@@ -185,11 +195,13 @@ namespace Advanced_Software_Engineering
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1); this.Controls.Add(this.textBox1);
this.Controls.Add(this.menuStrip1); this.Controls.Add(this.menuStrip1);
this.KeyPreview = true;
this.MainMenuStrip = this.menuStrip1; this.MainMenuStrip = this.menuStrip1;
this.Name = "Text_Editor"; this.Name = "Text_Editor";
this.Text = "Advanced Software Engineering - Text Editor"; this.Text = "Advanced Software Engineering - Text Editor";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Text_Editor_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Text_Editor_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Console_FormClosed); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Console_FormClosed);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Text_Editor_PreviewKeyDown);
this.menuStrip1.ResumeLayout(false); this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout(); this.menuStrip1.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
@@ -214,5 +226,6 @@ namespace Advanced_Software_Engineering
private ToolStripMenuItem checkSyntaxToolStripMenuItem; private ToolStripMenuItem checkSyntaxToolStripMenuItem;
private Label label1; private Label label1;
private Timer timer1; private Timer timer1;
private ToolStripMenuItem describeToolStripMenuItem;
} }
} }
@@ -32,8 +32,12 @@ namespace Advanced_Software_Engineering {
public Text_Editor(OpenFileDialog openFile) { public Text_Editor(OpenFileDialog openFile) {
SettingsAndHelperFunctions.NumberOfWindows++; SettingsAndHelperFunctions.NumberOfWindows++;
InitializeComponent(); InitializeComponent();
StreamReader fileStream = new StreamReader(openFile.OpenFile()); StreamReader fileStream = new StreamReader(openFile.OpenFile());
textBox1.Text = fileStream.ReadToEnd(); textBox1.Text = fileStream.ReadToEnd();
unsavedChanges = false;
newWindow = false;
okToOverwrite = true;
UpdateTitle(openFile.FileName); UpdateTitle(openFile.FileName);
} }
@@ -95,6 +99,7 @@ namespace Advanced_Software_Engineering {
} }
private void handleKeypress() { private void handleKeypress() {
if (newWindow) newWindow = false;
updateSaveStatus(); updateSaveStatus();
updateRowCol(); updateRowCol();
} }
@@ -106,15 +111,7 @@ namespace Advanced_Software_Engineering {
} }
} }
private void handleExit(FormClosingEventArgs e) { private void openFile() {
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;
else Close();
} else Close();
}
private void openToolStripMenuItem_Click(object sender, EventArgs e) {
DialogResult result = DialogResult.Yes; DialogResult result = DialogResult.Yes;
if (unsavedChanges) { if (unsavedChanges) {
@@ -129,12 +126,21 @@ namespace Advanced_Software_Engineering {
if (newWindow) { if (newWindow) {
StreamReader fileStream = new StreamReader(openFileDialog.OpenFile()); StreamReader fileStream = new StreamReader(openFileDialog.OpenFile());
textBox1.Text = fileStream.ReadToEnd(); textBox1.Text = fileStream.ReadToEnd();
unsavedChanges = false;
newWindow = false;
UpdateTitle(openFileDialog.FileName); UpdateTitle(openFileDialog.FileName);
} else new Text_Editor(openFileDialog).Show(); } else new Text_Editor(openFileDialog).Show();
} }
} }
} }
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) { private void Console_FormClosed(object sender, FormClosedEventArgs e) {
if (DisplayForm != null && !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock(); if (DisplayForm != null && !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock();
SettingsAndHelperFunctions.WindowClosed(); SettingsAndHelperFunctions.WindowClosed();
@@ -153,6 +159,10 @@ namespace Advanced_Software_Engineering {
DisplayForm.Focus(); DisplayForm.Focus();
} }
private void createNewInstance() {
new Text_Editor().Show();
}
private void handleKeypress(object sender, EventArgs e) => handleKeypress(); private void handleKeypress(object sender, EventArgs e) => handleKeypress();
private void textBox1_Click(object sender, EventArgs e) => updateRowCol(); private void textBox1_Click(object sender, EventArgs e) => updateRowCol();
@@ -160,12 +170,37 @@ namespace Advanced_Software_Engineering {
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e) => saveFileAs(); private void saveAsToolStripMenuItem_Click(object sender, EventArgs e) => saveFileAs();
private void saveToolStripMenuItem_Click(object sender, EventArgs e) => saveFile(); private void saveToolStripMenuItem_Click(object sender, EventArgs e) => saveFile();
private void Text_Editor_FormClosing(object sender, FormClosingEventArgs e) => handleExit(e); private void newFileToolStripMenuItem_Click(object sender, EventArgs e) => createNewInstance();
private void newFileToolStripMenuItem_Click(object sender, EventArgs e) => new Text_Editor().Show();
private void aboutToolStripMenuItem_Click(object sender, EventArgs e) => new About_Window().Show(); private void aboutToolStripMenuItem_Click(object sender, EventArgs e) => new About_Window().Show();
private void exitToolStripMenuItem_Click(object sender, EventArgs e) => handleExit(null); private void Text_Editor_FormClosing(object sender, FormClosingEventArgs e) => handleExit(e);
private void exitToolStripMenuItem_Click(object sender, EventArgs e) => Close();
private void openToolStripMenuItem_Click(object sender, EventArgs e) => openFile();
private void Text_Editor_PreviewKeyDown(object sender, KeyEventArgs e) {
//New window
if(e.Control && e.KeyCode == Keys.N) {
createNewInstance();
e.Handled = true;
} else if (e.Control && e.KeyCode == Keys.S) {
saveFile();
e.Handled = true;
} else if (e.Control && e.Shift && e.KeyCode == Keys.S) {
saveFileAs();
e.Handled = true;
} else if (e.Control && e.KeyCode == Keys.O) {
openFile();
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();
}
} }
} }