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.runToolStripMenuItem = 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.aboutToolStripMenuItem = 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.Click += new System.EventHandler(this.textBox1_Click);
this.textBox1.TextChanged += new System.EventHandler(this.handleKeypress);
this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Text_Editor_PreviewKeyDown);
//
// menuStrip1
//
@@ -75,6 +77,7 @@ namespace Advanced_Software_Engineering
this.fileToolStripMenuItem,
this.runToolStripMenuItem,
this.checkSyntaxToolStripMenuItem,
this.describeToolStripMenuItem,
this.helpToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
@@ -97,35 +100,35 @@ namespace Advanced_Software_Engineering
// 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.Click += new System.EventHandler(this.newFileToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
//
// 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.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
@@ -141,6 +144,13 @@ namespace Advanced_Software_Engineering
this.checkSyntaxToolStripMenuItem.Name = "checkSyntaxToolStripMenuItem";
this.checkSyntaxToolStripMenuItem.Size = new System.Drawing.Size(90, 20);
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
//
@@ -185,11 +195,13 @@ namespace Advanced_Software_Engineering
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.menuStrip1);
this.KeyPreview = true;
this.MainMenuStrip = this.menuStrip1;
this.Name = "Text_Editor";
this.Text = "Advanced Software Engineering - Text Editor";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Text_Editor_FormClosing);
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.PerformLayout();
this.ResumeLayout(false);
@@ -214,5 +226,6 @@ namespace Advanced_Software_Engineering
private ToolStripMenuItem checkSyntaxToolStripMenuItem;
private Label label1;
private Timer timer1;
private ToolStripMenuItem describeToolStripMenuItem;
}
}
@@ -32,8 +32,12 @@ namespace Advanced_Software_Engineering {
public Text_Editor(OpenFileDialog openFile) {
SettingsAndHelperFunctions.NumberOfWindows++;
InitializeComponent();
StreamReader fileStream = new StreamReader(openFile.OpenFile());
textBox1.Text = fileStream.ReadToEnd();
unsavedChanges = false;
newWindow = false;
okToOverwrite = true;
UpdateTitle(openFile.FileName);
}
@@ -95,6 +99,7 @@ namespace Advanced_Software_Engineering {
}
private void handleKeypress() {
if (newWindow) newWindow = false;
updateSaveStatus();
updateRowCol();
}
@@ -106,15 +111,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;
else Close();
} else Close();
}
private void openToolStripMenuItem_Click(object sender, EventArgs e) {
private void openFile() {
DialogResult result = DialogResult.Yes;
if (unsavedChanges) {
@@ -129,12 +126,21 @@ namespace Advanced_Software_Engineering {
if (newWindow) {
StreamReader fileStream = new StreamReader(openFileDialog.OpenFile());
textBox1.Text = fileStream.ReadToEnd();
unsavedChanges = false;
newWindow = false;
UpdateTitle(openFileDialog.FileName);
} 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) {
if (DisplayForm != null && !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock();
SettingsAndHelperFunctions.WindowClosed();
@@ -153,6 +159,10 @@ namespace Advanced_Software_Engineering {
DisplayForm.Focus();
}
private void createNewInstance() {
new Text_Editor().Show();
}
private void handleKeypress(object sender, EventArgs e) => handleKeypress();
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 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) => new Text_Editor().Show();
private void newFileToolStripMenuItem_Click(object sender, EventArgs e) => createNewInstance();
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();
}
}
}