Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require("CLRPackage")
- --
- import "System.ComponentModel"
- import "System.Drawing"
- import "System.Drawing.Text"
- import "System.IO"
- import "System.Threading"
- import "System.Windows.Forms"
- --
- function InitializeComponent(this)
- --
- local textColor, textSize
- local curFilename, storedPageSettings
- local dirty = false
- local noFilename = "Untitled"
- local fileOnDiskModified = false
- local button1 = Button()
- local button2 = Button()
- local comboBox1 = ComboBox()
- local label1 = Label()
- local label2 = Label()
- local numericUpDown1 = NumericUpDown()
- local richTextBox1 = RichTextBox()
- local scrollBar1 = VScrollBar()
- local mainMenu1 = MainMenu()
- local menuItem1 = MenuItem()
- local menuItem2 = MenuItem()
- local menuItem3 = MenuItem()
- local menuItem7 = MenuItem()
- local menuItem11 = MenuItem()
- local menuItem14 = MenuItem()
- local menuItem19 = MenuItem()
- local menuItem21 = MenuItem()
- local ExitMenu = MenuItem()
- local OpenFile = MenuItem()
- local PageSetupMenu = MenuItem()
- local PrintMenu = MenuItem()
- local PrintPreviewMenu = MenuItem()
- local SaveFileAs = MenuItem()
- local UndoMenu = MenuItem()
- local CutMenu = MenuItem()
- local CopyMenu = MenuItem()
- local PasteMenu = MenuItem()
- local DeleteMenu = MenuItem()
- local GotoMenu = MenuItem()
- local SelectAllMenu = MenuItem()
- local DeleteAllMenu = MenuItem()
- local sysFontCollection = InstalledFontCollection()
- local fsw = FileSystemWatcher()
- local function Exit_Click(sender, e)
- this:Close()
- end
- local function ReadTextFile()
- local filInfo, fs, extn
- richTextBox1.TextChanged:Remove(richTextBox1_TextChanged)
- fileSystemWatcher1.EnableRaisingEvents = false
- fs = FileStream(curFilename, FileMode.Open)
- filInfo = FileInfo(curFilename)
- extn = filInfo.Extension:upper()
- if extn == ".RTF" then richTextBox1:LoadFile(fs, RichTextBoxStreamType.RichText)
- else
- richTextBox1:LoadFile(fs, RichTextBoxStreamType.PlainText)
- end
- fs:Close()
- fileSystemWatcher1.Path = filInfo.DirectoryName
- fileSystemWatcher1.Filter = filInfo.Name
- richTextBox1.TextChanged:add(richTextBox1_TextChanged)
- fileSystemWatcher1.EnableRaisingEvents = true
- end
- local function this_Load(sender, e)
- numericUpDown1.Value = 10
- comboBox1.DataSource = sysFontCollection.Families
- comboBox1.DisplayMember = "Name"
- comboBox1:Select(0, 20)
- comboBox1.Text = sysFontCollection.Families[0].Name
- end
- local function OpenFile_Click(sender, e)
- local openDlg = OpenFileDialog()
- openDlg.RestoreDirectory = true
- if openDlg:ShowDialog() == DialogResult.OK then
- curFilename = openDlg.Filename
- ReadTextFile()
- end
- end
- local function button1_Click(sender, e)
- local colorDlg = ColorDialog()
- if colorDlg:ShowDialog() == DialogResult.OK then
- textColor = colorDlg.Color
- end
- end
- local function button2_Click(sender, e)
- local selFont = sysFontCollection.Families[comboBox1.SelectedIndex].Name
- textSize = numericUpDown1.Value
- richTextBox1.ForeColor = textColor
- richTextBox1.Font = Font(selFont, textSize)
- end
- local function richTextBox1_TextChanged(sender, e)
- end
- local function comboBox1_SelectedIndexChanged(sender, e)
- print("I was clicked hard!")
- end
- local function scrollBar1_Scroll(sender, e)
- end
- numericUpDown1:BeginInit()
- fsw:BeginInit()
- this:SuspendLayout()
- --
- -- comboBox1
- --
- comboBox1.Location = Point(8, 112)
- comboBox1.Name = "comboBox1"
- comboBox1.Size = Size(152, 24)
- comboBox1.TabIndex = 0
- comboBox1.SelectedIndexChanged:Add(comboBox1_SelectedIndexChanged)
- --
- -- button1
- --
- button1.BackColor = Color.FromArgb(255,128,0);
- button1.FlatStyle = FlatStyle.Flat;
- button1.Location = Point(240, 112)
- button1.Name = "button1"
- button1.Size = Size(80, 24)
- button1.TabIndex = 6
- button1.Text = "Color"
- button1.Click:add(button1_Click)
- --
- -- richTextBox1
- --
- richTextBox1.BackColor = SystemColors.Info;
- richTextBox1.Location = Point(8, 144);
- richTextBox1.Name = "richTextBox1";
- richTextBox1.Size = Size(648, 248);
- richTextBox1.TabIndex = 7;
- richTextBox1.Text = "richTextBox1";
- richTextBox1.TextChanged:add(richTextBox1_TextChanged)
- --
- -- button2
- --
- button2.Font = Font("Tahoma", 10, FontStyle.Bold)
- button2.Location = Point(408, 112)
- button2.Name = "button2"
- button2.Size = Size(80, 32)
- button2.TabIndex = 8
- button2.Text = "Apply"
- button2.Click:add(button2_Click)
- --
- -- label1
- --
- label1.Location = Point(8, 88)
- label1.Name = "label1"
- label1.Size = Size(104, 24)
- label1.TabIndex = 1
- label1.Text = "Available Fonts"
- --
- -- label2
- --
- label2.Location = Point(184, 88);
- label2.Name = "label2";
- label2.Size = Size(56, 24);
- label2.TabIndex = 3;
- label2.Text = "Size";
- --
- -- numericUpDown1
- --
- numericUpDown1.Location = Point(184, 112);
- numericUpDown1.Name = "numericUpDown1";
- numericUpDown1.Size = Size(48, 24);
- numericUpDown1.TabIndex = 2;
- --
- -- Menu
- --
- mainMenu1.MenuItems:Add(menuItem1)
- mainMenu1.MenuItems:Add(menuItem2)
- mainMenu1.MenuItems:Add(menuItem3)
- menuItem1.Index = 0
- menuItem1.MenuItems:Add(OpenFile)
- menuItem1.MenuItems:Add(SaveFileAs)
- menuItem1.MenuItems:Add(menuItem7)
- menuItem1.MenuItems:Add(PrintMenu)
- menuItem1.MenuItems:Add(PrintPreviewMenu)
- menuItem1.MenuItems:Add(PageSetupMenu)
- menuItem1.MenuItems:Add(menuItem11)
- menuItem1.MenuItems:Add(ExitMenu)
- menuItem1.Text = "&File"
- menuItem2.Index = 1
- menuItem2.MenuItems:Add(UndoMenu)
- menuItem2.MenuItems:Add(menuItem14)
- menuItem2.MenuItems:Add(CutMenu)
- menuItem2.MenuItems:Add(CopyMenu)
- menuItem2.MenuItems:Add(PasteMenu)
- menuItem2.MenuItems:Add(DeleteMenu)
- menuItem2.MenuItems:Add(menuItem19)
- menuItem2.MenuItems:Add(GotoMenu)
- menuItem2.MenuItems:Add(menuItem21)
- menuItem2.MenuItems:Add(SelectAllMenu)
- menuItem2.MenuItems:Add(DeleteAllMenu)
- menuItem2.Text = "&Edit";
- menuItem3.Index = 2
- menuItem3.Text = "F&ormat"
- OpenFile.Index = 0
- OpenFile.Text = "&Open File"
- OpenFile.Click:Add(OpenFile_Click)
- SaveFileAs.Index = 1
- SaveFileAs.Text = "&Save File As"
- menuItem7.Index = 2
- menuItem7.Text = "-"
- PrintMenu.Index = 3
- PrintMenu.Text = "&Print"
- PrintPreviewMenu.Index = 4
- PrintPreviewMenu.Text = "Print Pre&view"
- PageSetupMenu.Index = 5
- PageSetupMenu.Text = "Page Setup"
- menuItem11.Index = 6
- menuItem11.Text = "-"
- ExitMenu.Index = 7
- ExitMenu.Text = "E&xit"
- ExitMenu.Click:Add(Exit_Click)
- UndoMenu.Index = 0
- UndoMenu.Text = "&Undo"
- menuItem14.Index = 1
- menuItem14.Text = "-"
- CutMenu.Index = 2
- CutMenu.Text = "Cu&t"
- CopyMenu.Index = 3
- CopyMenu.Text = "&Copy"
- PasteMenu.Index = 4
- PasteMenu.Text = "&Paste"
- DeleteMenu.Index = 5
- DeleteMenu.Text = "De&lete"
- menuItem19.Index = 6
- menuItem19.Text = "-"
- GotoMenu.Index = 7
- GotoMenu.Text = "&Go To"
- menuItem21.Index = 8
- menuItem21.Text = "-"
- SelectAllMenu.Index = 9
- SelectAllMenu.Text = "Select &All"
- DeleteAllMenu.Index = 10
- DeleteAllMenu.Text = "&Delete All"
- --
- -- Scrollbar
- --
- scrollBar1.Dock = DockStyle.Right
- scrollBar1.Scroll:Add(scrollBar1_Scroll)
- --
- --
- --
- fsw.EnableRaisingEvents = true
- fsw.SynchronizingObject = this
- this.Controls:Add(button1)
- this.Controls:Add(button2)
- this.Controls:Add(label1)
- this.Controls:Add(label2)
- this.Controls:Add(numericUpDown1)
- this.Controls:Add(comboBox1)
- this.Controls:Add(richTextBox1)
- richTextBox1.Controls:Add(scrollBar1)
- this.AutoScaleBaseSize = Size(7, 17)
- this.BackColor = Color.Teal
- this.ClientSize = Size(664, 397)
- this.Font = Font("Tahoma", 10.0)
- this.ForeColor = SystemColors.ActiveCaptionText
- this.Name = "Form1"
- this.Text = "GDI+ Editor - A Simple Text Editor"
- this.Menu = mainMenu1
- this.TopMost = true
- this.Load:add(this_Load)
- fsw:EndInit()
- numericUpDown1:EndInit()
- this:ResumeLayout(false)
- return this
- --
- end
- --
- function run()
- --
- InitializeComponent(Form()):Show()
- --
- end
- --
- -- To use it, either use dofile or require, then just type run()
- --
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement