Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Windows.Forms;
- using System.Drawing;
- namespace VisualScriptEditor
- {
- public partial class Form1 : Form
- {
- private string currentFileName = "";
- public Form1()
- {
- InitializeComponent();
- if (Properties.Settings.Default.CurrentFont != null && Properties.Settings.Default.CurrentForeColor != null)
- {
- txtFileContent.Font = Properties.Settings.Default.CurrentFont;
- txtFileContent.ForeColor = Properties.Settings.Default.CurrentForeColor;
- }
- else
- {
- Properties.Settings.Default.CurrentFont = new Font("Courier New", 12);
- Properties.Settings.Default.CurrentForeColor = Color.Black;
- }
- }
- public void ShowLineNumbers()
- {
- Point point = new Point(0, 0);
- int firstIndex = txtFileContent.GetCharIndexFromPosition(point);
- int firstLine = txtFileContent.GetLineFromCharIndex(firstIndex);
- point.X = ClientRectangle.Width;
- point.Y = ClientRectangle.Height;
- int lastIndex = txtFileContent.GetCharIndexFromPosition(point);
- int lastLine = txtFileContent.GetLineFromCharIndex(lastIndex);
- txtLineNumber.SelectionAlignment = HorizontalAlignment.Center;
- txtLineNumber.Text = "";
- for (int i = firstLine; i <= lastLine + 1; i++)
- {
- txtLineNumber.Text += i + 1 + "n";
- }
- }
- private void newToolStripMenuItem_Click(object sender, EventArgs e)
- {
- txtFileContent.Clear();
- }
- private void openToolStripMenuItem_Click(object sender, EventArgs e)
- {
- OpenFileDialog fileDialog = new OpenFileDialog();
- fileDialog.Filter = "Visual Scripts Files | *.vscript";
- fileDialog.Title = "Open file";
- if (fileDialog.ShowDialog() == DialogResult.OK)
- {
- currentFileName = fileDialog.FileName;
- StreamReader reader = new StreamReader(fileDialog.FileName);
- txtFileContent.Text = reader.ReadToEnd();
- reader.Close();
- }
- }
- private void exitToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Application.Exit();
- }
- private void saveToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (File.Exists(currentFileName))
- {
- StreamWriter writer = new StreamWriter(currentFileName);
- writer.Write(txtFileContent.Text);
- writer.Close();
- }
- else
- {
- SaveFileDialog fileDialog = new SaveFileDialog();
- fileDialog.Filter = "Visual Script Files | *.vscript";
- fileDialog.Title = "Save File";
- if (fileDialog.ShowDialog() == DialogResult.OK)
- {
- currentFileName = fileDialog.FileName;
- StreamWriter writer = new StreamWriter(fileDialog.FileName);
- writer.Write(txtFileContent.Text);
- writer.Close();
- }
- }
- }
- private void undoToolStripMenuItem_Click(object sender, EventArgs e)
- {
- txtFileContent.Undo();
- }
- private void redoToolStripMenuItem_Click(object sender, EventArgs e)
- {
- txtFileContent.Redo();
- }
- private void cutToolStripMenuItem_Click(object sender, EventArgs e)
- {
- txtFileContent.Cut();
- }
- private void copyToolStripMenuItem_Click(object sender, EventArgs e)
- {
- txtFileContent.Copy();
- }
- private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
- {
- txtFileContent.Paste();
- }
- private void selectAllToolStripMenuItem_Click(object sender, EventArgs e)
- {
- txtFileContent.SelectAll();
- }
- private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
- {
- SaveFileDialog fileDialog = new SaveFileDialog();
- fileDialog.Filter = "Visual Script Files | *.vscript";
- fileDialog.Title = "Save As";
- if (fileDialog.ShowDialog() == DialogResult.OK)
- {
- currentFileName = fileDialog.FileName;
- StreamWriter writer = new StreamWriter(fileDialog.FileName);
- writer.Write(txtFileContent.Text);
- writer.Close();
- }
- }
- private void fontsColorsToolStripMenuItem_Click_1(object sender, EventArgs e)
- {
- FontDialog fontDialog = new FontDialog();
- fontDialog.ShowColor = true;
- fontDialog.ShowHelp = false;
- fontDialog.ShowApply = false;
- fontDialog.ShowEffects = false;
- fontDialog.Font = Properties.Settings.Default.CurrentFont;
- fontDialog.Color = Properties.Settings.Default.CurrentForeColor;
- if (fontDialog.ShowDialog() == DialogResult.OK)
- {
- Properties.Settings.Default.CurrentFont = fontDialog.Font;
- Properties.Settings.Default.CurrentForeColor = fontDialog.Color;
- Properties.Settings.Default.Save();
- txtFileContent.Font = fontDialog.Font;
- txtFileContent.ForeColor = fontDialog.Color;
- }
- }
- private void txtLineNumber_Enter(object sender, EventArgs e)
- {
- }
- private void txtLineNumber_Leave(object sender, EventArgs e)
- {
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- txtFileContent.AppendText(Environment.NewLine);
- txtFileContent.AppendText(Environment.NewLine);
- txtLineNumber.Font = txtFileContent.Font;
- txtFileContent.Select();
- ShowLineNumbers();
- }
- private void Form1_Resize(object sender, EventArgs e)
- {
- ShowLineNumbers();
- }
- private void txtFileContent_SelectionChanged(object sender, EventArgs e)
- {
- Point point = txtFileContent.GetPositionFromCharIndex(txtFileContent.SelectionStart);
- if (point.X == 1)
- {
- ShowLineNumbers();
- }
- }
- private void txtFileContent_VScroll(object sender, EventArgs e)
- {
- txtLineNumber.Text = "";
- ShowLineNumbers();
- txtLineNumber.Invalidate();
- }
- private void txtFileContent_TextChanged(object sender, EventArgs e)
- {
- if (txtFileContent.Text == "")
- {
- ShowLineNumbers();
- }
- }
- private void txtFileContent_FontChanged(object sender, EventArgs e)
- {
- txtLineNumber.Font = txtFileContent.Font;
- txtFileContent.Select();
- ShowLineNumbers();
- }
- private void txtLineNumber_MouseDown(object sender, MouseEventArgs e)
- {
- txtFileContent.Select();
- txtLineNumber.DeselectAll();
- }
- }
- }
Add Comment
Please, Sign In to add comment